]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
[grub2.git] / ChangeLog
CommitLineData
eec893ae
VS
12013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
4
621e167f
VS
52013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * util/grub-fstest.c: Remove variable length arrays.
8
d54f647a
VS
92013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/osdep/linux/ofpath.c: Check return value of read.
12
c8a0f1b2
VS
132013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
16 computing crc32 rather than handling with md fundtions directly.
17
726409a5
VS
182013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
21 checking fwstart.img rather than md fundtions directly.
22
422e6e88
VS
232013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * util/grub-mkrescue.c (main): Check that fread succeeded.
26
af1faca3
VS
272013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * conf/Makefile.common: Remove -mexplicit-relocs and
30 -DUSE_ASCII_FALLBACK on yeeloong.
31
32 -DUSE_ASCII_FALLBACK is already added by font snippets.
33 -mexplicit-relocs isn't needed is compiler/assemblera are
34 configured properly.
35 If they're not we shouldn't attempt to fix it by ourselves.
36 Binary compare between before and after shows no difference.
37
469021b4
VS
382013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
41 sources in dependencies directly.
42
43 This was the only instance of "library" in core config. A bug was
44 reported that -fno-stack-protector wasn't passed to it. Instead of
45 figuring out why it failed just remove this construction used
46 needlessly.
47
83c256ba
VS
482013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/osdep/unix/password.c (grub_password_get): Check that
51 fgets succeeded.
52
b67422d3
FL
532013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
54
55 * docs/grub.texi (ls): Fix command description in case of a device name
56 passed as argument.
57
2d76b4d8
VS
582013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Eliminate variable length arrays in grub_vsnprintf_real.
61
62 A bit tricky because this function has to continue to work without
63 heap for short strings. Fixing prealloc to 32 arguments is reasonable
64 but make all stack references use 32-bit offset rather than 8-bit one.
65 So split va_args preparsing to separate function and put the prealloc
66 into the caller.
67
4f954122
VS
682013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
71 Fixes build for windows.
72
b1f742c1
VS
732013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * gentpl.py: Don't generate platform-dependent conditionals for
76 platform-independent targets.
77
16ef26fd
CW
782013-11-27 Colin Watson <cjwatson@ubuntu.com>
79
80 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
81 references to mdadm from otherwise generic code.
82 (grub_util_exec_pipe): Likewise.
83 (grub_util_exec_pipe_stderr): Likewise.
84 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
85 This function calls vgs, not mdadm; adjust variable names
86 accordingly.
87
cf8c80ff 882013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
89
90 Generate Makefile.*.am directly from gentpl.py, eliminating the use
91 of Autogen. The Autogen definitions files remain intact as they
92 offer a useful abstraction.
93
5c7206e4
CW
942013-11-27 Colin Watson <cjwatson@ubuntu.com>
95
96 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
97 into no-ops, and use it in programs that copy files but do not need
98 to take special care to sync writes (grub-mknetdir, grub-rescue,
99 grub-mkstandalone).
100
fc3f2b72
CW
1012013-11-26 Colin Watson <cjwatson@ubuntu.com>
102
103 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
104 than hardcoding /usr/local/bin/xorriso.
105
1e4b3587
VS
1062013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
107
108 Add PCI command activation to all PCI drivers as required for coreboot
109 and maybe some other firmwares.
110
9208367d
VS
1112013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
114 and non-Apple variants of efiemu compile.
115
67b9b7af
AB
1162013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
117
118 * configure.ac: Add explicit check for linking format of
119 efiemu64; save it as EFIEMU64_LINK_FORMAT.
120 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
121 hardcoding linking format.
122
bee1b5ce
VS
1232013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
126 and not pkgdatadir.
127
07e3b047
CW
1282013-11-25 Colin Watson <cjwatson@ubuntu.com>
1292013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
130
131 Add a --locale-directory option to grub-install and related tools.
132
133 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
134 --locale-directory option.
135 (enum grub_install_options): Add
136 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
137 * util/grub-install-common.c (grub_install_help_filter): Handle
138 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
139 (grub_install_parse): Likewise.
140 (get_localedir): New function to check for a user-provided option
141 before trying grub_util_get_localedir.
142 (copy_locales): Use get_localedir rather than
143 grub_util_get_localedir. Handle differing locale directory layouts.
144 (grub_install_copy_files): Likewise.
145
61e1b9a4
VS
1462013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
149 Don't rely on PATH_MAX.
150
c98dd165
VS
1512013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/genmoddep.awk: Use more portable && rather than and.
154
ff1c277e
VS
1552013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
158 an object after data. While it doesn't seem right solution, it
159 works well enough and OSX isn't main compilation platform.
160
c8f7614b
VS
1612013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
164 While it doesn't seem right solution, it works well enough and
165 OSX isn't main compilation platform.
166
246a434f
VS
1672013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * configure.ac: Add -static to LDFLAGS when using apple linker to
170 prevent it from pulling in dynamic linker.
171
5c066a81
VS
1722013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Apple assembly doesn't handle symbol arithmetic well. So define an
175 offset symbol in boot.S and use it.
176
78f961ef
VS
1772013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
178
179 Apple assembly doesn't handle symbol arithmetic well. So instead
180 of getting addres of kernel_sector + 4 define kernel_sector_high.
181 It also makes code more readable.
182
09bc0a57
VS
1832013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
184
185 With Apple assembly in .macro environvemnt you have to use $$ instead
186 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
187 to $$x on Apple and to $x on everything else.
188
b700a427
VS
1892013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
192 OBJCONV.
193
4480b95d
VS
1942013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
197 and non-Apple. This instruction is shorter and faster,
198 so no reason not to use it on both.
199
e77c81f6
VS
2002013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
203 .text when compiling for Apple.
204
971dbee5
VS
2052013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/term/arc/console.c: Add missing cast to silence warning.
208
6f2e82be
VS
2092013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
212 %dx restore the probe worked on non-existant drive. Reorganize the
213 code a little bit to free 2 bytes necessary for push/pop.
214
9eec9699
VS
2152013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
218 Add missing cast to silence warning.
219
5ae5c54c
KPA
2202013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
221
222 * util/grub-install.c (update_nvram): Support --no-nvram flag
223 for EFI targets.
224
7b04fe6c
VS
2252013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
228
e67566ce
VS
2292013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * util/garbage-gen.c: Add missing include of sys/time.h.
232
f93ddcfd
VS
2332013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
234
235 Don't add -mflush-func if it's not supported by compiler.
236
1bba40f5
VS
2372013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
238
239 Move common BIOS/coreboot memory map declarations to
240 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
241
f65e14dc
AB
2422013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
243
244 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
245
14a94bba
VS
2462013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * INSTALL: Document why older clang versions aren't appropriate.
249
8109c5d4
VS
2502013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * INSTALL: Document about clang for mips.
253
a92b5cb8
VS
2542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
257 clang.
258
4a23e2fe
VS
2592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
260
261 Add *-xen to the list of grub-install-common platforms.
262
a3ba7410
VS
2632013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
266 3 last commits.
267
e1c22419
VS
2682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
271
189090ce
VS
2722013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
275 with -mcmodel=large.
276
1a5b7b40
VS
2772013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
280 range-checking for 32-bit quantities.
281
9cf12b20
VS
2822013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * configure.ac: Compile with -fPIC when compiling with clang on
285 mips.
286
63a45330
VS
2872013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
290 when compiling with clang.
291
4a0aaad0
VS
2922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
293
294 clang emits calls to abort () under some unknown conditions.
295 Export abort () when compiling with clang.
296
095bb1bf
VS
2972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * docs/grub-dev.texi: Document stack and heap sizes.
300
3937bd96
VS
3012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * include/grub/i386/pc/memory.h: Decrease
304 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
305 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
306 The binary doesn't change (checked). It's more to better reflect actual
307 usage.
308
ddb3efc9
VS
3092013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
312 at compile time that enough of scratch size is available.
313
4e42521d
VS
3142013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
317 Previously we misaligned stack by 8 in startup.S and compensated
318 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
319 right behaviour is to align stack in startup.S and keep it aligned
320 in callwrap.S. startup.S part was committed few commits before. This
321 takes care of callwrap.S.
322 Reported by: Gary Lin.
323
054efe54
VS
3242013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
327 .data and .bss. May happen if compiler and assembly use different
328 alignment.
329
a0e1befb
VS
3302013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
331
332 On MIPS handle got16 relocations to local symbols in an ABI-compliant
333 way.
334
c36c73f6
VS
3352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Add support for a new magic symbol _gp_disp on mips to handle PIC
338 binaries.
339
6f4a19f5
VS
3402013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Use $t9 for indirect calls from asm to C as PIC ABI requires.
343
0d8f04cd
VS
3442013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
345
346 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
347 when rest of GRUB is compiled for hisher stepping. Instead use
348 .set mips3/.set mips1 around cache and sync opcodes.
349
49060520
VS
3502013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
351
352 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
353 do essentially the same thing, do it in similar way.
354
c6a823e2
CW
3552013-11-21 Colin Watson <cjwatson@ubuntu.com>
356
357 * util/grub-mkrescue.c (main): If a source directory is not
358 specified, read platform-specific files from subdirectories of
359 pkglibdir, not pkgdatadir.
360
b7f9aedf
CW
3612013-11-21 Colin Watson <cjwatson@ubuntu.com>
362
363 * grub-core/normal/progress.c: Remove unused file.
364
7dd0a303
VS
3652013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
368 array.
369
ca120e31
VS
3702013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
373 than grub.cfg.
374
48eb35cd
VS
3752013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * coreboot.cfg: Add missing file.
378
7f20dbbc
VS
3792013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * Makefile.am: Allow STRIP to be empty when creating windowszip.
382
55e706c9
AK
3832013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
384
385 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
386 selectively skipping systems.
387
4e7d433d
CW
3882013-11-19 Colin Watson <cjwatson@ubuntu.com>
389
390 * Makefile.util.def (grub-mkimage): Add
391 grub-core/osdep/aros/config.c to extra_dist.
392 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
393 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
394 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
395 grub-core/gnulib-no-gets.diff.
396
7d44ff7d
VS
3972013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
398
399 Add automated filesystem checking based on scripts I've used now for
400 quite some time locally. Most of the test require root so they are
401 skipped when run without necessarry privelegies.
402
a8c3e5e3
CW
4032013-11-19 Colin Watson <cjwatson@ubuntu.com>
404
405 * util/grub-install.c (main): Adjust info messages to match
406 installed paths of grub-bios-setup and grub-sparc64-setup.
407
4402db3e
CW
4082013-11-19 Colin Watson <cjwatson@ubuntu.com>
409
410 * util/grub-install-common.c (copy_locales): Consistently use
411 grub_util_get_localedir () rather than LOCALEDIR.
412 (grub_install_copy_files): Likewise.
413
7960d3e1
JT
4142013-11-19 Josh Triplett <josh@joshtriplett.org>
415
416 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
417 16-byte boundary, as required by the x86-64 ABI, before calling
418 grub_main. In some cases, GCC emits code that assumes this
419 alignment, which crashes if not aligned. The EFI firmware is also
420 entitled to assume that stack alignment without checking.
421
d53f4900
JT
4222013-11-18 Josh Triplett <josh@joshtriplett.org>
423
424 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
425 4k page boundaries as expected by firmware rather than 1k
426 boundaries.
427 (grub_mmap_malign_and_register): Likewise.
428
bb2b275b
VS
4292013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
432 fragmentation 512M is enough.
433
45bf8b3a
VS
4342013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
437 pointer to 32K. This is the size of cache element which is the most
438 common allocation >1K. This way the pointer is always around blocks
439 of 32K and so we keep performance while decreasing fragmentation.
440
39ff43c5
VS
4412013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
444 current memory when allocating large chunks. This significantly
445 decreases memory fragmentation.
446
60870be8
CW
4472013-11-18 Colin Watson <cjwatson@ubuntu.com>
448
449 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
450 but for symmetry).
451 * tests/lzocompress_test.in: Skip if lzop is not installed.
452 * tests/xzcompress_test.in: Skip if xz is not installed.
453
a1f00cc5
CW
4542013-11-18 Colin Watson <cjwatson@ubuntu.com>
455
456 * util/grub-mkrescue.c (main): Fix typo.
457
74e632fe
VS
4582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
461 clock frequency to 200 MHz,
462
efb8de49
VS
4632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * tests/util/grub-shell.in: Increase console size to 1024x1024.
466
b7526e78
VS
4672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * Makefile.am (default_payload.elf): Add pata to loaded modules.
470 Load config file from (cbfsdisk)/etc/grub.cfg.
471
b40ce651
VS
4722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/grub-install-common.c (grub_install_copy_files): Fix module
475 destination directory.
476
1e8e2e78
CW
4772013-11-18 Colin Watson <cjwatson@ubuntu.com>
478
479 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
480 files have not been built.
481
3bf4088b
CW
4822013-11-18 Colin Watson <cjwatson@ubuntu.com>
483
484 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
485 Handle errors from mkstemp.
486 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
487
35c2851c
VS
4882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
491 on primary master on pseries.
492
ea7c1a7d
VS
4932013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
496 already loaded. This saves memory needed for tests,
497
96adefdb
VS
4982013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
501 work again.
502
5e3cb8a7
VS
5032013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
506 work again.
507
256ee7ac
VS
5082013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
511 master since with some combinations of qemu and firmware only primary
512 IDE channel is available.
513
f8b4c3b6
VS
5142013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
517 low-memory platforms where we don't have enough memory for them.
518 * grub-core/tests/videotest_checksum.c: Likewise.
519
4bf70320
VS
5202013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
523 already loaded. This saves memory needed for tests,
524
a284320e
VS
5252013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Fix handling of install lists.
528
2df8f43d
VS
5292013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
532
6f1bc8bc
VS
5332013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
534
535 On i386-ieee1275 we run in paged mode. So we need to explicitly map
536 the devices before accessing them.
537
04f39f6d
VS
5382013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
541 as file argument.
542
35d4761c
VS
5432013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
546
33d02a42
VS
5472013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
550 (grub_file_close): Free file->name.
551
7bbb60cf
VS
5522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/commands/verify.c (free_pk): Plug memory leak.
555 (grub_load_public_key): Likewise.
556 (grub_verify_signature_real): Likewise.
557 (grub_cmd_verify_signature): Likewise.
558
da93d675
VS
5592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
562 memory leak.
563
59c943ec
VS
5642013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
567 (grub_longjmp): Restore r31.
568 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
569
4336b5d8
VS
5702013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
571
572 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
573 modules to be in line with make_image_abs.
574
44ce3a93
VS
5752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
578
579 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
580
7d400406
IC
5812013-11-17 Ian Campbell <ijc@hellion.org.uk>
582
583 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
584
77dae919
VS
5852013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
588 to leave some memory to firmware.
589
0ab8e025
VS
5902013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
593 of loading gfxterm as gfxterm is embed in kernel on some platforms.
594 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
595 Load gfxmenu.
596
b80c2d6d
VS
5972013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
600 now needs full arguments.
601
6aa6077b
VS
6022013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * util/grub-mkrescue.c (main): Add trailing \n in
605 .disk_label.contentDetails to be in line with previous shell script.
606
66c00cb1
VS
6072013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
610
3a129dba
VS
6112013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub-install-common.c (grub_install_parse): Recognize
614 --compress=none like shell script did.
615
8df6eff6
VS
6162013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * include/grub/misc.h: Replace check for __sparc64__ with one for
619 __sparc__ as __sparc64__ isn't actually defined.
620
889ebe92
VS
6212013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
624 counterpart of fixing the naming of escc ports.
625
d4d55b29
VS
6262013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/grub-install-common.c (platforms): Fix the order of entries and
629 remove useless field val.
630
55e2c84f
VS
6312013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * util/grub-install.c: Add new option --no-bootsector to skip
634 installing of bootsector. Accept --grub-setup=/bin/true as
635 backwards-compatible synonym.
636
cd46aa6c
VS
6372013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
638
639 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
640 order of qsort arguments (number of elements vs. element size).
641
6422013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
643
644 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
645 the function of these files exceeds what can be sanely handled in shell
646 in posix-comaptible way. Also writing it in C extends the functionality
647 to non-UNIX-like OS and minimal environments.
648
9ef81064
VS
6492013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
652 compiling to thumb2.
653 * grub-core/kern/arm/cache_armv7.S: Likewise.
654 * grub-core/lib/arm/setjmp.S: Likewise.
655
11a77932
LL
6562013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
657
658 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
659 in grub_uboot_syscall
660
080603f0
VS
6612013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Decrease stack usage in lexer.
664
665 We have only 92K of stack and using over 4K per frame is wasteful
666
667 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
668 as macros so that compiler would remove useless structure on stack.
669 Better solution would be to fix flex not to put this structure on
670 the stack but flex is external program.
671
4f84ae0e
VS
6722013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Decrease stack usage in signature verification.
675
676 We have only 92K of stack and using over 4K per frame is wasteful
677
678 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
679 rather than stack.
680 (grub_verify_signature_real): Likewise.
681
e6a6182d
VS
6822013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
683
684 Decrease stack usage in mdraid 0.9x.
685
686 We have only 92K of stack and using over 4K per frame is wasteful
687
688 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
689 rather than stack.
690
1a454efe
VS
6912013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
692
693 Decrease stack usage in BtrFS.
694
695 We have only 92K of stack and using over 4K per frame is wasteful
696
697 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
698 rather than stack.
699
7b5d51d8
VS
7002013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
701
702 Decrease stack usage in JFS.
703
704 We have only 92K of stack and using over 4K per frame is wasteful
705
706 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
707 stack. Note: this function is recursive.
708 (grub_jfs_read_inode): Read only part we care about.
709
593865b9
LL
7102013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
711
712 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
713 handling
7b5d51d8 714
31c0cd43
AB
7152013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
716
717 * configure.ac: Restore -nostdlib for libgcc symbols tests.
718
c2fdb331
AB
7192013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
720
721 * docs/grub.texi (Environment): Document cmdpath.
722
9e18dfe2
AB
7232013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
724
725 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
726 Remove "unused" attribute from arguments, they are used.
727
59ba9d14
CW
7282013-11-15 Colin Watson <cjwatson@debian.org>
729
730 * .gitignore: Only ignore grub-mk* at the top level.
731
23012db9
CW
7322013-11-15 Colin Watson <cjwatson@ubuntu.com>
733
734 * util/grub-reboot.in (usage): Fix a typo.
735
6fcec439
VS
7362013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Replace libgcc version of ctz with our own.
739
740 On upcoming arm64 port libgcc ctz* are not usable in standalone
741 environment. Since we need ctz* for this case and implementation is
742 in C we may as well use it on all concerned platforms.
743
a9f25a08
VS
7442013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * configure.ac: Probe for linking format rather than guessing it based
747 on target_os.
748
c7995256
VS
7492013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
752 "1" prior to handoff.
753
754 Reported by: M A Young.
755
e1aa5b66
VS
7562013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
759 \0 to all files.
760
761 Reported by: M A Young.
762
da5ed5cf
VS
7632013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
766 compilation on NetBSD.
767
5757a93e
VS
7682013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * acinclude.m4: Don't add -P on initial nm test.
771
772 Note: even though this patch postdates Andrey's it bears 14 Nov as
773 date due to timezone difference.
774
a5986276
AB
7752013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
776
777 * grub-core/Makefile.core.def (signature_test): Add missing
778 tests/signatures.h.
779
0de172a0
CW
7802013-11-14 Colin Watson <cjwatson@ubuntu.com>
781
782 * util/grub-install_header: Set localedir here, since this file is
783 where it's used.
784 * util/grub-install.in: Remove setting of localedir.
785 * util/grub-mkrescue.in: Likewise.
786
da45f43c
VS
7872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
790
20aea949
VS
7912013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * configure.ac: Move nm checks to the end.
794 Call grub_PROG_NM_WORKS.
795 * acinclude.m4: New check grub_PROG_NM_WORKS.
796 Use $TARGET_CFLAGS -c when compiling test binary.
797
1326b9ae
CW
7982013-11-14 Colin Watson <cjwatson@ubuntu.com>
799
800 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
801 unused variables.
802
1fe26ab4
MG
8032013-11-14 Matthew Garrett <mjg@redhat.com>
804
805 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
806 cmdpath to firmware directory.
807
83e9c273
VS
8082013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
811 at the start of second iteration.
812
ec525c18
VS
8132013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
816
93fcc7ad
VS
8172013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * Makefile.am (default_payload.elf): New target for easier coreboot
820 build.
821
57ffe934
VS
8222013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
825 clang (not necessarry with -no-integrated-as).
826 * include/grub/symbol.h [__arm__]: Likewise.
827
2312f06c
VS
8282013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * configure.ac: Use -no-integrated-as on arm with clang.
831 * INSTALL: Mention ARM compilation with clang.
832
2416415c
VS
8332013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
836 -mthumb-interwork.
837
5da55172
CW
8382013-11-14 Colin Watson <cjwatson@ubuntu.com>
839
840 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
841 code for indirect block handling.
842
843 Saves 185 bytes on compressed image.
844
da770328
PFS
8452013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
846
847 Fix make clean.
848
849 * Makefile.am: Remove build-grub-* in make clean.
850
f02e6b56
PFS
8512013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
852
853 New files to gitignore.
854
855 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
856 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
857
035a26c1
LL
8582013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
859
860 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
861
bc8a6137
LL
8622013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
863
864 * .gitignore: fix rules for .dep* and add *.a post git migration
865
6fe506b0
CW
8662013-11-13 Colin Watson <cjwatson@ubuntu.com>
867
868 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
869 to match INSTALL.
870
81a2e438
CW
8712013-11-13 Colin Watson <cjwatson@ubuntu.com>
872
873 * grub-core/kern/misc.c: Don't redirect divisions in the
874 GRUB_UTIL case.
875 * include/grub/misc.h: Likewise.
876
9b45c073
CW
8772013-11-13 Colin Watson <cjwatson@ubuntu.com>
878
879 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
880 systems that require checking the return value of write.
881
11b2a9b7
CW
8822013-11-13 Colin Watson <cjwatson@ubuntu.com>
883
884 * util/grub-install.in (efi_quiet): Fix inverted logic: make
885 efibootmgr quiet when --debug is not used, rather than when it is.
886
d743d22d
CW
8872013-11-13 Colin Watson <cjwatson@ubuntu.com>
888
889 * gentpl.py (define_macro_for_platform_dependencies): Remove
890 first (and thus unused) of two definitions for this function.
891 (platform_dependencies): Likewise.
892
11da14b5
CW
8932013-11-13 Colin Watson <cjwatson@ubuntu.com>
894
895 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
896 functions, we only need to check this for the target, not the host.
897 * configure.ac (grub_apple_cc): Likewise.
898
2bdd0719
VS
8992013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
902 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
903 asm to stay in arm even if surrounding is thumb.
904
5e77d9cf
VS
9052013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
908 helper functions are needed for thumb.
909
7d511625
VS
9102013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
913 level / 3 division explicitly unsigned. Saves few bytes.
914
81023dbd
VS
9152013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
918
b2e9294f
VS
9192013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
922 division.
923
16a22c38
VS
9242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
927 grub_uboot_boot_data to asm part.
928
c9cd02c9
VS
9292013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
932 literal load.
933 (grub_uboot_syscall): Save/restore r9 and align stack.
934
81498615
VS
9352013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
938
ea57de18
VS
9392013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
942 occurencies with END.
943
d0d1e3da
CW
9442013-11-13 Colin Watson <cjwatson@ubuntu.com>
945
946 * util/grub-editenv.c (help_filter, argp): Document how to delete
947 the whole environment block.
948 Reported by Dan Jacobson. Fixes Debian bug #726265.
949
3809f016
CW
9502013-11-13 Colin Watson <cjwatson@ubuntu.com>
951
952 * docs/grub.texi (Internationalisation, Supported kernels): Fix
953 sectioning.
954
46d8a203
JT
9552013-11-13 Josh Triplett <josh@joshtriplett.org>
956
957 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
958 increment/decrement.
959
513eeb61
VS
9602013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
963 compiling with clang.
964
bc379c1a
VS
9652013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
968 ".".
969
9702013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 971
16057d6b
VS
972 Redirect all divisions to grub_divmod64.
973
f649a6a8
VS
9742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
977
ef28ee8b
VS
9782013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Add missing includes of loader.h.
981
300f48c5
VS
9822013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * configure.ac: Allow disabling themes.
985
2d357558
LS
9862013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
987
988 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
989
0c62a5b2
VS
9902013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
993 until it becomes operational.
994
b0720b49
VS
9952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/Makefile.core.def (legacy_password_test): Disable
998 on platforms where no legacycfg is compiled.
999 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1000 load legacy_password_test.
1001
d5bab2c0
VS
10022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1005
3ea0ccb3
VS
10062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1009
08772054
VS
10102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1013 strict-aliasing warning.
1014 (fsync): Silence cast warning.
1015
1dcb2715
VS
10162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/commands/verify.c: Remove variable length arrays.
1019 Load gcry_dsa/gcry_rsa automatically.
1020
61c22fdf
VS
10212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/tests/signature_test.c: New test.
1024
431e57a7
VS
10252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1028 API.
1029
b521bb81
VS
10302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1033 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1034
7d06b24e
VS
10352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1038
3bbeade4
VS
10392013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/fs/proc.c: Allow \0 in proc files.
1042
ba82db7a
VS
10432013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1046
801564c8
VS
10472013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1050
ac8cac1d
VS
10512013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/fs/ext2.c: Remove variable length arrays.
1054
4b85f122
VS
10552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1058 length arrays.
1059
c35fcdc0
VS
10602013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1063 * grub-core/disk/cryptodisk.c: Likewise.
1064 * grub-core/disk/geli.c: Likewise.
1065 * grub-core/disk/luks.c: Likewise.
1066
15decd26
VS
10672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/tests/legacy_password_test.c: New test.
1070 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1071
9c6482b8
VS
10722013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1075
41f26e0e
VS
10762013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/tests/pbkdf2_test.c: New test.
1079
2def6616
VS
10802013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1083
9e34a34e
VS
10842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/io/lzopio.c: Remove variable length arrays.
1087
5ccaf904
VS
10882013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * include/grub/crypto.h: Add maximums on hash size and cipher block
1091 size.
1092
44a387e0
VS
10932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1096
a388e255
VS
10972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/tests/xnu_uuid_test.c: New test.
1100
a1ef7718
VS
11012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1104 covers it).
1105
65ddb300
VS
11062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/commands/hashsum.c: Remove variable length arrays.
1109
31747dd5
VS
11102013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1113 condition.
1114 * tests/grub_func_test.in: Increase memory allocation.
1115
6a74c4df
VS
11162013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1119 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1120 sys/mount.h.
1121
394c3e0a
VS
11222013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1125 (grub_util_get_fd_size_os): ...this.
1126 (grub_hostdisk_flush_initial_buffer): New empty function.
1127
60d31116
VS
11282013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1131 without --defined-only.
1132
8445b011
VS
11332013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1136 rip-relative addressing in prologue.
1137
8506a641
VS
11382013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1141 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1142
66acd9d6
VS
11432013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1146 Add missing semicolon.
1147
348d0535
VS
11482013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1151
0d2d30bb
VS
11522013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * configure.ac: Check for lzma.h for enabling liblzma and allow
1155 manual disabling.
1156
631187be
VS
11572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 Add missing includes of loader.h.
1160
e756ec82
FZ
11612013-11-11 Fam Zheng <famcool@gmail.com>
1162
1163 * util/grub.d/30_os-prober.in: Add minix entry.
1164
87d62d7d
VS
11652013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1168 right buffer for temporary load.
1169
5460cfeb
VS
11702013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1173
89977306
VS
11742013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1177 payload.
1178
3617c59b
VS
11792013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1182 not Types.h.
1183 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1184 environment.
1185 (LzmaDec_InitDicAndState): Make static.
1186
881c6a10
VS
11872013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1190
2024ade2
VS
11912013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1194
1195 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1196
674ad4f6
VS
11972013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * docs/grub-dev.texi: Replace bzr references with git ones.
1200
5b99970e
AB
12012013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1202
1203 * docs/grub.texi (Simple configuration): Remove reference to
1204 grub-reboot from saved default entry description - grub-default
1205 does not use it anymore.
1206
3c2304d5
VS
12072013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1210 compiled with.
1211
80cfd940
AB
12122013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1213
1214 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1215
33690255
VS
12162013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Fix grub_machine_fini bitrot.
1219
1220 Reported by: Glenn Washburn.
1221
c61471fc
VS
12222013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1225
54da019f
VS
12262013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1229 -DELF.
1230 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1231 instead of ELF*.
1232
12332013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1234
1235 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1236 Add -march=core2 when testing compile of efiemu64.
1237
1238 Thanks Andrey Borzenkov for spotting this.
1239
9612ebc0
VS
12402013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1243 XEN PV environment and load kernels.
1244
1a46a3a4
VS
12452013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1248 * grub-core/loader/multiboot_mbi2.c: Likewise.
1249
2df12551
VS
12502013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1253 handling.
1254
3c980381
VS
12552013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1258
1259 Tested by: Denis 'GNUtoo' Carikli.
1260
800f63d3
VS
12612013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1264
9f8acdaa
VS
12652013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1266
5620eb53
VS
1267 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1268 Use to get rounded angle rather than truncated.
1269
12702013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1273 RTS/CTS flow control.
1274
2dc1eb6c
VS
12752013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1278 divisions.
1279
b9563c94
VS
12802013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1283 Use grub_fatal rather than divide by zero.
1284 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1285
d6d8e9a9
VS
12862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1289 truncate.
1290 (grub_fixed_fsf_divide): Likewise.
1291
d06de6c8
VS
12922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1295 division by-zero and senseless negative divisions.
1296
6af7d49b
VS
12972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1300 division by-zero and senseless negative divisions.
1301 (circprog_set_property): Don't accept negative num_ticks.
1302
bcfa6d72
VS
13032013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1306 division by-zero and senseless negative divisions.
1307
dd7f792c
VS
13082013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * configure.ac: Use elf_*_fbsd on kfreebsd.
1311
d061fda7
VS
13122013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/tests/div_test.c: New test.
1315
4db22500
VT
13162013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1317
1318 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1319 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1320 * grub-core/gfxmenu/view.c: Likewise.
1321 * grub-core/video/fb/video_fb.c: Introduce new functions:
1322 grub_video_set_area_status, grub_video_get_area_status,
1323 grub_video_set_region, grub_video_get_region.
1324 * grub-core/video/bochs.c: Likewise.
1325 * grub-core/video/capture.c: Likewise.
1326 * grub-core/video/video.c: Likewise.
1327 * grub-core/video/cirrus.c: Likewise.
1328 * grub-core/video/efi_gop.c: Likewise.
1329 * grub-core/video/efi_uga.c: Likewise.
1330 * grub-core/video/emu/sdl.c: Likewise.
1331 * grub-core/video/radeon_fuloong2e.c: Likewise.
1332 * grub-core/video/sis315pro.c: Likewise.
1333 * grub-core/video/sm712.c: Likewise.
1334 * grub-core/video/i386/pc/vbe.c: Likewise.
1335 * grub-core/video/i386/pc/vga.c: Likewise.
1336 * grub-core/video/ieee1275.c: Likewise.
1337 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1338 * include/grub/video.h: Likewise.
1339 * include/grub/video_fb.h: Likewise.
1340 * include/grub/fbfill.h: Updated render_target structure.
1341 grub_video_rect_t viewport, region, area
1342 int area_offset_x, area_offset_y, area_enabled
1343 * include/grub/gui.h: New helper function
1344 grub_video_bounds_inside_region.
1345 * docs/grub-dev.texi: Added information about new functions.
1346
c6b755df
VS
13472013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1350 for alignment.
1351
e2a68100
VS
13522013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1355 missing attribute.
1356 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1357
c4f11a2a
VS
13582013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1361 simple division on arm and ia64.
1362
e0a7bffa
VS
13632013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1366 link with libgcc.
1367
38b864ea
VS
13682013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1371
12359faf
VS
13722013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1375 prefix symbol, not @.
1376
9fdc64a9
VS
13772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * INSTALL: Add note about older gcc and clang.
1380
665c575b
VS
13812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1384
47dcf7b1
VS
13852013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1388 NULL pointer dereference.
1389
d59849b2
VS
13902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1393 clang.
1394
7a3f4a18
VS
13952013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1398 warnings.
1399
7f084087
VS
14002013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1403 function.
1404 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1405 * grub-core/disk/geli.c (ascii2hex): Likewise.
1406
d5524ca8
VS
14072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * configure.ac: Run linker tests without -Werror.
1410 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1411 Change all occurences of -static-libgcc resp -lgcc to
1412 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1413
390cd7ca
VS
14142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1417
60375a88
VS
14182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 Allow compiling with clang (not really supported though).
1421
1422 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1423 unconditionally.
1424 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1425 Add -mrtd -mregparm=3 on i386 when not using clang.
1426 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1427
dd07e0c4
VS
14282013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1431 bindings.
1432 * grub-core/lib/reed_solomon.c: Likewise.
1433 * include/grub/i386/gdb.h: Likewise.
1434 * include/grub/i386/pc/int.h: Likewise.
1435 * include/grub/i386/pc/pxe.h: Likewise.
1436 * include/grub/ieee1275/ieee1275.h: Likewise.
1437
9d3ae8ec
VS
14382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 Import libgcrypt 1.5.3.
1441
c12936c5
VS
14422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * configure.ac: Don't add -Wcast-align on x86.
1445
cdc17f60
VS
14462013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * configure.ac: Add -freg-struct-return on all platforms that
1449 support it.
1450
b35ec299
VS
14512013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * acinclude.m4: Use -Werror on parameter tests.
1454 * configure.ac: Likewise.
1455
05f3a0d7
VS
14562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1459
c966a489
VS
14602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * configure.ac: Check that -malign-loops works rather than assuming that
1463 either -falign-loops or -malign-loops work.
1464
bb0c57ec
VS
14652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1468
24f4e57c
VS
14692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * configure.ac: Prevent cflags leaking to subsequent tests by always
1472 resetting cflags to target_cflags in target tests.
1473
ac319fbc
VS
14742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1477 function.
1478
4bfe934c
VS
14792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1482
40a5bfde
VS
14832013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1486
a67c755e
VS
14872013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/normal/cmdline.c (grub_cmdline_get):
1490 Remove nested functions.
1491
87a04a2d
VS
14922013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * tests/test_sha512sum.in: Make it work on emu.
1495
c03995d2
VS
14962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1499 functions.
1500 (grub_bidi_line_logical_to_visual): Likewise.
1501
ec0ebb3f
VS
15022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Remove vestiges of -Wunsafe-loop-optimisations.
1505
1506 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1507 -Wno-unsafe-loop-optimisations.
1508 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1509 pragma.
1510 * grub-core/io/gzio.c: Likewise.
1511 * grub-core/script/parser.y: Likewise.
1512 * grub-core/script/yylex.l: Likewise.
1513 * util/grub-mkfont.c: Likewise.
1514
6ab537e3
VS
15152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub-mkfont.c (process_cursive): Remove nested function.
1518
e6c368d4
VS
15192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1522 (grub_boot_time): Likewise.
1523
4f1cfd22
VS
15242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * include/grub/symbol.h (FUNCTION): Use @function rather than
1527 "function".
1528 (VARIABLE): Likewise.
1529
6d5a4cee
VS
15302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1533
f06c2172
VS
15342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1537 (parse_dhcp_vendor): Likewise.
1538
7cb24eb5
VS
15392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1542
f30c692c
VS
15432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1546 Define after defining type and not before.
1547
8b66bb5d
VS
15482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1551 type.
1552 (grub_gcm_decrypt): Likewise.
1553 (algo_decrypt): Likewise.
1554 (grub_zfs_decrypt_real): Transform error type.
1555
5d17fd0f
VS
15562013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1559
ac35a0f7
VS
15602013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1563 (grub_usbms_cbi_reset): Likewise.
1564 (grub_usbms_bo_reset): Likewise.
1565 (grub_usbms_reset): Likewise.
1566 (grub_usbms_attach): Likewise.
1567 (grub_usbms_transfer_cbi): Likewise.
1568
3ee08697
VS
15692013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1572 "checksum = checksum;".
1573
70bb6c85
VS
15742013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1577 entry_type.
1578
c7f34744
VS
15792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1582 BIOS disk check.
1583
3f63b4d8
VS
15842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1587 type.
1588 (grub_ehci_fini_hw): Likewise.
1589 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1590
dac6ce73
VS
15912013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1594 return grub_usb_err_t for cosistency. All users updated.
1595
5701750c
VS
15962013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1599 assigning to itself.
1600
9e236169
GLD
16012013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
16022013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1603
1604 Issue separate DNS queries for ipv4 and ipv6
1605
1606 Adding multiple questions on a single DNS query is not supportted by
1607 most DNS servers. This patch issues two separate DNS queries
1608 sequentially for ipv4 and then for ipv6.
1609
1610 Fixes: https://savannah.gnu.org/bugs/?39710
1611
1612 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1613 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1614 * (grub_net_dns_lookup): Now using separated dns packages.
1615 * (grub_cmd_nslookup): Add error condition.
1616 * (grub_cmd_list_dns): Print DNS option.
1617 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1618 --prefer-ipv4, and --prefer-ipv6.
1619 * include/grub/net.h (grub_dns_option_t): New enum.
1620 * (grub_net_network_level_address): option added.
1621
339eacce
VT
16222013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1623
1624 * grub-core/video/fb/video_fb.c: Merge two blit functions
1625 into one.
1626
810f991b
VS
16272013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/term/terminfo.c: Add sequences for home and end.
1630
386571a2
VS
16312013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1634 graphics console.
1635
3fe63754
VS
16362013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1639 add mode 0x12.
1640
76681e71
VS
16412013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1644 e-mail by Per Öberg.
1645
46522fb7
VS
16462013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1649 name.
1650
e7d09ac4
AB
16512013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1652
1653 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1654 emu platforms.
1655 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1656
67508925
VS
16572013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * docs/grub.texi: Document usage of menuentry id.
1660
0c62124e
VS
16612013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1664
9b5d4eed
PL
16652013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1666
1667 * grub-core/commands/i386/nthibr.c: New command.
1668
79054c1d
VS
16692013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1672
44d47bbe
VS
16732013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1676 coordinate.
1677
323de05b
VS
16782013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 Support GRUB_DISABLE_SUBMENU config.
1681
1682 Inspired by patch from Prarit Bhargava.
1683
5a01722e
VS
16842013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * docs/grub.texi: Mention RSA support.
1687
1106c3f0
VS
16882013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/commands/verify.c: Add RSA support.
1691
a1dcc2cb
VS
16922013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1695 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1696 device is known to be ATAPI.
1697
ee7fb780
MF
16982013-11-03 Mike Frysinger <vapier>
1699
1700 * configure.ac: Don't add target-prefix.
1701
5ade4a42
VS
17022013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1705 variables.
1706
6cd66043
VS
17072013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1710 if language is English.
1711
090d7c81
VS
17122013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1715
dd614590
VS
17162013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * configure.ac: Don't add -m32/-m64 on emu.
1719
a8686589 17202013-11-02 neil
1721
1722 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1723 broken linux headers.
1724
fb9f12a0
VS
17252013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1728
e25f8e1f
VS
17292013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1732 Reed-Solomon recovery if more than half of redundancy info is 0.
1733
4685200f
VS
17342013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/grub-mount.c: Handle symlinks to directories.
1737
1397f0b5
VS
17382013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1741 find_file recursively for symlink.
1742
8b3e6eb6
VS
17432013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * tests/util/grub-shell.in: Copy themes.
1746
a0c9d5c6
VS
17472013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1750
5cf9459c
VS
17512013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * configure.ac: Use 0x8000 for address instead of 8000.
1754
e7b66a28
VS
17552013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1758 signature.
1759
203f53fb
VS
17602013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1763 variable.
1764
02663ee9
VS
17652013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1768
f169f65e
VS
17692013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1772 file_progress_read_hook.
1773 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1774
2855a0fc
VS
17752013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1778 and double.
1779
bf0f3a8c
VS
17802013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1783
cb72aa18
VS
17842013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Rewrite blocklist functions in order to get progress when
1787 reading large extents and decrease amount of blocklist hook calls.
1788
896f9135
VS
17892013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1792 of SI suffixes.
1793
89295a06
VS
17942013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 Support --base-clock for serial command to handle weird cards with
1797 non-standard base clock.
1798
eb03ede0
VS
17992013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1802 strncpy.
1803 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1804 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1805 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1806 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1807 + strcpy rather than strncpy.
1808
8fbe5c7d
VS
18092013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1812 (check_pool_label): Likewise. Fixes overflow.
1813 (nvlist_find_value): Fix comparison.
1814
e54b8f53
VS
18152013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1818 more appropriate functions.
1819
fa9b3dca
VS
18202013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1823 realloc.
1824
9a021c55
VS
18252013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1828
80e8b13a
VS
18292013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1832 on core size.
1833
b61599ac
VS
18342013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1837
a602dc54
VS
18382013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1841 (initialize_tables): reset tl and td to NULL after freeing.
1842
93c12075
VS
18432013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1846
1ca4b75e
VS
18472013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1850 of supported tags.
1851
329550c4
VS
18522013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1855
00bfa988
VS
18562013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1859 quirks.
1860
81afc5cc
VS
18612013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1864 a page in protected space.
1865
cb3c4a47
VS
18662013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1869 allocate space for zero-sized modules.
1870
954f7bf5
VS
18712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1874
526d3d25
FL
18752013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1876
1877 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1878
74124c34
VS
18792013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1882 safeguards. Fixes a crash with i386/pc/console.c.
1883
5177391e
VS
18842013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1887 and grub_hostfs_init.
1888
64db14b0
VS
18892013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1892 windows method on other platforms without good stat as well.
1893
effe2036
VS
18942013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1897
82591fa6 18982013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1899
82591fa6
VS
1900 Make / in btrfs refer to real root, not the default volume.
1901 Modify mkrelpath to work even if device is mounted with subvolid option.
1902
19032013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1904
1905 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1906 extra_dist.
1907 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1908 extra_dist.
1909
30fd7198
VS
19102013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1913 fails.
1914
8d179dae
BC
19152013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1916
1917 * docs/autoiso.cfg: New file.
1918
3bc9c8cf
VS
19192013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1922 COND_GRUB_PE2ELF conditions.
1923
8b46b0ea
VS
19242013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1927 "vnd", "rd" and "fd" disks.
1928
442b86de
VS
19292013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 Move grub_disk_write out of kernel into disk.mod.
1932
04dea7e6
VS
19332013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1936 handling.
1937
19382013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1939
1940 * grub-core/kern/misc.c (grub_abort): Make static
1941
04dea7e6 19422013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1943
1944 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1945 transform invalid unicode codepoints.
1946
04dea7e6 19472013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1948
1949 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1950 \0 checking.
1951
03dcac7f
VS
19522013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1955
c81acb7f
VS
19562013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Consolidate cpuid code.
1959
c1bee646
VS
19602013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Move cpuid code to cpuid.h and TSC code to tsc.c.
1963
f37bf9c7
GS
19642013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1965
1966 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1967
4021132b
GS
19682013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1969
1970 * util/grub-mkconfig.in: Replace $0 with $self.
1971 * util/grub-reboot.in: Likewise.
1972 * util/grub-set-default.in: Likewise.
1973
3ace8d75
BC
19742013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1975
1976 * docs/osdetect.cfg: New file.
1977
1e6ad6a6
BC
19782013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1979
1980 * tests/util/grub-shell.in: Add new --debug option.
1981
188929eb
BC
19822013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1983
1984 * tests/test_unset.in: New test.
1985
7994a09a
BC
19862013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1987
1988 * tests/test_sha512sum.in: New test.
1989
2a8a7585
VS
19902013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1993 * include/grub/misc.h: Remove strncat.
1994 * grub-core/lib/posix_wrap/string.h: Likewise.
1995
cf8d6bbd
VS
19962013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1999 Try to handle more than 0xFFFF packets.
2000 Reported by: Bernhard Übelacker <bernhardu>.
2001 He also spotted few overflows in first version of this patch.
2002
6d1fc99a
VS
20032013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * tests/date_unit_test.c: New test.
2006
10bafa1c
VS
20072013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2010 of first three years after start of validity of unixtime.
2011
b1c6d037
VS
20122013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2015 division as the one making more sense.
2016 (update_screen): Likewise.
2017 (complete): Likewise.
2018
5f4028d4
VS
20192013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2022
a2856736
VS
20232013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 Make char and string width grub_size_t rather than grub_ssize_t.
2026
0a7e52b2
VS
20272013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2030 unsigned.
2031 (grub_history_replace): Likewise.
2032
42829573
VS
20332013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2036 appropriate.
2037
3523b8d8
VS
20382013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2041 appropriate.
2042
d43c6489
VS
20432013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2046 Use unsigned divisions rather than signed variants.
2047
f690f8b0
VS
20482013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2051 unsigned arithmetics.
2052 Add missing break.
2053
74ff2c05
VS
20542013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2057
fb56391e
VS
20582013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2061 rather than signed one.
2062 (recovery): Likewise.
2063
40f29060
VS
20642013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2067
c64577a5
VS
20682013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2071 than signed.
2072
c16535a8
JM
20732013-10-25 Jon McCune <jonmccune@google.com>
2074
2075 * docs/grub.texi: Cleanup security documentation around signatures.
2076
6673d8e7
VS
20772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2080
a105d375
VS
20812013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2084 than int.
2085
af81ed88
VS
20862013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2089 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2090 functions when compiling for kernel.
2091
ea899a57
VS
20922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2095 unsigned long long when using %llu.
2096
c6dc6fa1
VS
20972013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2100 terminal after updating progress.
2101
ad2dc003
VS
21022013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2105 argument. We don't disable Gate A20 in this code.
2106
b46684ae
VS
21072013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2110 Conceptually based on change in branch "vbe-on-coreboot".
2111
f70d5c07
RM
21122013-10-24 Robert Millan <rmh@gnu.org>
2113
2114 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2115 numeric constants with their symbolic equivalent.
2116 Taken from branch "vbe-on-coreboot".
2117
bca274b4
VS
21182013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2121
238f0489
VS
21222013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2125 divmod64 for offset division.
2126
863c590b
PFS
21272013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2128
2129 Rename .bzrignore to .gitignore. Add "*.o" rule.
2130
2131 * .bzrignore: Renamed to...
2132 * .gitignore: ...this.
2133
84a0e969
PFS
21342013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2135
2136 Add new progress module that displays the load progress of files.
2137
2138 * grub-core/lib/progress.c: New file.
2139 * grub-core/Makefile.core.def (progress): New module.
2140 * grub-core/kern/file.c (grub_file_open): File name added.
2141 * (grub_file_read): Progress hook added.
2142 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2143 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2144 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2145 * include/grub/file.h (struct grub_file): Add progress module members.
2146 * include/grub/term.h (struct grub_term_output): Likewise.
2147 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2148 Terminal velocity added.
2149 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2150 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2151 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2152 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2153 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2154 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2155 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2156 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2157 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2158 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2159 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2160 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2161
0d711431
VS
21622013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 Verify signatures of signatures unless --skip-sig is specified.
2165
f8401f76
VS
21662013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2169 \0 checking.
2170
2171 Saves 70 bytes on compressed image.
2172
ac1feb61
VS
21732013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2176 check.
2177
2178 Saves 10 bytes on compressed image.
2179
00f72e89
VS
21802013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/kern/misc.c (grub_isprint): Move to ...
2183 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2184
2185 Saves 20 bytes on compressed image due to remving exporting.
2186
067e6ae7
VS
21872013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2190
2191 Saves 5 bytes on compressed image.
2192
64a6c791
VS
21932013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2196 function get_utf8.
2197
2198 Saves 379 bytes on compressed image.
2199
979d9f52
VS
22002013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2203
1437da54
VS
22042013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2207
2208 Saves 40 bytes on compressed image.
2209
d9ee2269
VS
22102013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2213 mask rather than 64-bit type.
2214
2215 Saves 20 bytes on compressed image.
2216
63efa602
VS
22172013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2220 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2221
47601ffe
VS
2222 Saves 273 bytes on compressed image.
2223
2cc679ad
VS
22242013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2227 variable length arrays.
2228
2229 Saves 50 bytes on compressed image.
2230
2e4659b8
VS
22312013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2234
2a40badf
VS
22352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 * grub-core/fs/ufs.c: Remove variable length arrays.
2238
1ba6b9b9
VS
22392013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2242
f3e39341
VS
22432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/fs/zfs.c: Remove variable length arrays.
2246 Reduces zfs.mod by 160 bytes (208 compressed).
2247
71523935
VS
22482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2251
28153eb8
VS
22522013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/net/arp.c: Remove variable length arrays.
2255 * grub-core/net/bootp.c: Likewise.
2256 * grub-core/net/dns.c: Likewise.
2257 * grub-core/net/icmp6.c: Likewise.
2258 * grub-core/net/net.c: Likewise.
2259
88ce4cd7
VS
22602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/fs/ntfs.c: Remove variable length arrays.
2263 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2264 compressed).
2265
66123940
VS
22662013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/fs/hfs.c: Remove variable length arrays.
2269 Reduces hfs.mod by 8 bytes (52 compressed).
2270
0927e5bd
VS
22712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2274 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2275 compressed).
2276
9c12ac97
VS
22772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2280 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2281 compressed).
2282
97ec2d71
VS
22832013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2286 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2287 compressed).
2288
156e4ea0
VS
22892013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/fs/xfs.c: Remove variable length arrays.
2292 Reduces xfs.mod by 40 bytes (43 compressed).
2293
3b502c29
VS
22942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/fs/fshelp.c: Remove variable length arrays.
2297 Reduces fshelp.mod by 116 bytes (23 compressed).
2298
c7037f1d
VS
22992013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/normal/completion.c: Remove variable length arrays.
2302 * grub-core/normal/menu_entry.c: Likewise.
2303
2304 Reduces normal.mod by 496 bytes.
2305
a07e6ad0
VS
23062013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2309 by 356 bytes (158 compressed).
2310
2359bf88
VS
23112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2314 by 364 bytes (169 compressed).
2315
d28e1163
VS
23162013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2319 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2320 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2321
e89c2d48
VS
23222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2325 bitmasks to small structures of size chosen to fit in registers.
2326
7abdac8e
VS
23272013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * conf/Makefile.common: Use -freg-struct-return on i386. This
2330 decreases code size and improves performance.
2331
518864c0
VS
23322013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2335
bbd2b539
VS
23362013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2339 "(null)" string.
2340 Simplify expressions to save around 256 bytes in kernel.img.
2341 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2342
99519c15
VS
23432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2346 Use GRUB_UTIL_FD_O_* rather than O_*.
2347
20285765
VS
23482013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 Add haiku-specific functions.
2351
887c0bb6
VS
23522013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2355
cd78a56f
VS
23562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 Move stat () and device mode checking into OS-dependent files as
2359 long as performance doesn't suffer.
2360
a4012f07
VS
23612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 Split make_system_path_relative_to_its_root into separate file
2364 relpath.c from getroot.c as it's common between unix and haiku
2365 but otherwise haiku doesn't use any functions from unix getroot.c.
2366
31de274d
VS
23672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2370 New function.
2371 (grub_util_is_special_file): Likewise.
2372
40346de6
VS
23732013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2376 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2377
d3923ab9
VS
23782013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2381 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2382
663f6eb1
VS
23832013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2386 (load_image): Likewise.
2387
44d1c20a
VS
23882013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * util/grub-render-label.c: Move backend part to ...
2391 * util/render-label.c: ... here.
2392
d0a116ee
VS
23932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2396 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2397
b47fcae6
VS
23982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2401
0f7c00c1
VS
24022013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2405 CD-ROM in case when it's declared as having subpartitions.
2406
29013cba
VS
24072013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 Don't add -lm on haiku.
2410
2411 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2412 and empty on haiku.
2413 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2414 -lm.
2415
e8559d24
VS
24162013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * configure.ac: Use -melf_*_haiku as target on haiku.
2419
8104063c
VS
24202013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * Makefile.util.def: Add util/setup.c to extra_dist.
2423
fc3182c7
VS
24242013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2427 unknown types through.
2428
f90a3cc0
VS
24292013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2432 (grub_util_check_char_device): Likewise.
2433 * include/grub/emu/getroot.h: Likewise.
2434
1e3e7419
VS
24352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2438 memset rather than inline static function.
2439
92c88fc8
VS
24402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2443 not doing embedded decompressor.
2444
3cd910a2
VS
24452013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2448 shadowing.
2449 * grub-core/kern/disk.c: Likewise.
2450 * grub-core/kern/misc.c: Likewise.
2451 * include/grub/parser.h: Likewise.
2452 * include/grub/script_sh.h: Likewise.
2453 * include/grub/zfs/zfs.h: Likewise.
2454
7b3aca00
VS
24552013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2458
97dfe7e4
VS
24592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2462 defined before trying to use it.
2463
bf919aa9
VS
24642013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2467 warning.
2468
f4ccf29d
VS
24692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2472 Use __unused__ rather than __used__ on gcc < 3.2.
2473
0d3a6f85
VS
24742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2477 gcc < 4.0.
2478 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2479
757e3eb7
VS
24802013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2483
fb320faf
VS
24842013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2487 * include/grub/emu/misc.h: Likewise.
2488
ea73acd2
VS
24892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2492 cur_color.
2493
71237a6f
VT
24942013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2495
2496 * grub-core/tests/checksums.h: Regenerated due to progress bar
2497 get_minimal_size changes.
2498
3d46c22f
BC
24992013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2500
2501 Added `tr' command support.
2502
2503 * grub-core/commands/tr.c: New file.
2504 * grub-core/Makefile.core.def: Build rules for new module.
2505
2506 * tests/grub_cmd_tr.in: New test.
2507 * Makefile.util.def: Build rules for new test.
2508
47e0a61f
VT
25092013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2510
2511 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2512
946fd073
VT
25132013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2514
2515 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2516 * docs/gurb.texi: Likewise.
2517
9c13c576
VT
25182013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2519
2520 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2521 Pixmap highlighted section with east and west slices was displayed
2522 incorrectly due to negative width of the central slice.
2523
ad543f12
VT
25242013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2525
2526 * docs/grub.texi: Graphical options information update.
2527 Removed outdated. Updated current. Inserted missed.
2528
6176a0cd
VS
25292013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * docs/grub.texi: Mention few new platform-specific commands.
2532
9688cae2
VS
25332013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2536 currently used so this doesn't really have any effect.
2537 Reported by: Douglas Ray <dougray>
2538
f7b69a3f
VS
25392013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2542 compilation but prevents gcc from displaying messages in non-Latin
2543 alphabets.
2544 * conf/Makefile.common: Likewise.
2545
ceca6ddf
HY
25462013-10-16 Hiroyuki YAMAMORI
2547
2548 Handle Japanese special keys.
2549 Reported by: Hiroyuki YAMAMORI.
2550 Codes supplied by: Hiroyuki YAMAMORI.
2551
ac48d334
VT
25522013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2553
2554 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2555
b2b71bff
VT
25562013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2557
2558 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2559 * docs/grub.texi: Likewise.
2560
669fc449
VS
25612013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2564 value in case of incomplete read.
2565 (grub_util_fd_write): Likewise.
2566
59381678
VS
25672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2570
bacfefbb
VS
25712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * util/grub-editenv.c (create_envblk_file): More from here ...
2574 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2575
f7c49570
VS
25762013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2579 canonicalize file name before doing the rest.
2580
7b83ca44
VS
25812013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2584 mingw32.
2585
df1e64c9
VS
25862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Define grub_util_is_directory/regular/special_file and
2589 use OS-dependent versions rather than to rely on stat().
2590
ec16e026
VS
25912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * util/grub-mkimage.c: Move backend part to ...
2594 * util/mkimage.c: ... here.
2595
4b4eeb3c
VS
25962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Allow compilation with mingw64 albeit with warnings due to lack of
2599 %llx/%llu.
2600
2601 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2602 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2603 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2604 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2605 on mingw64.
2606 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2607
f4e0adc0
VS
26082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Remove leftover references to some of the system headers.
2611
e0127364
VS
26122013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2615 read.
2616
20d53541
VS
26172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2620 of strerror.
2621
5a869940
VS
26222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 Split out blocklist retrieving from setup.c to
2625 grub-core/osdep/blocklist.c and add windows implementation since
2626 generic version doesn't work on NTFS on Windows due to aggressive
2627 unflushable cache.
2628
c06c7520
VS
26292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2632 files.
2633
8f53bb3f
VS
26342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2637 Cut tailing newline. Remove arbitrary limitation. Always use
2638 grub_util_tchar_to_utf8.
2639
148f1007
VS
26402013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2643 * tests/printf_unit_test.c (printf_test): Add %% tests.
2644 Reported by: Paulo Flabiano Smorigo.
2645
af3b06be
VS
26462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2649 implement fsync.
2650
27f9d02e
VS
26512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2654 use nvlist_lookup_string and don't use nvlist_print.
2655
f6a81f0a
VS
26562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2659 closedir to handle filename charset translation.
2660
d7750b32
VS
26612013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * include/grub/emu/hostdisk.h: Move file operations to
2664 * include/grub/emu/hostfile.h: ... here.
2665
2859196e
VS
26662013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2669 unicode path.
2670
c018c968
VS
26712013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2674
7e45abce
VS
26752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2678 and remove export.h.
2679
23934da2
VS
26802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/kern/emu/error.c: Removed.
2683 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2684 explicitly as it's already in libgnu.a.
2685
c11ebcc8
VS
26862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2689 config-util.h include.
2690
70671037
VS
26912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 Split emunet into platform-dependent and GRUB-binding parts. Keep
2694 platform-dependent part in kernel for easy access to OS functions.
2695
25ac643a
VS
26962013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2699 open/read/write.
2700
69ca5876
VS
27012013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/osdep/windows/emuconsole.c: New file.
2704
d9d68ef0
AB
27052013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2706
2707 * conf/Makefile.extra-dist: Add osdep/*/init.c
2708
58e211cc
VS
27092013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2712
588744d0
VS
27132013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * util/grub-probe.c (probe): Separate different drives in hint-str
2716 by spaces and not newlines.
2717 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2718
44016e52
AB
27192013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2720
2721 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2722 Handle CD-ROMs.
2723
6de9ee86
VS
27242013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Pass-through unknown E820 types. It required reorganisation of mmap
2727 module.
2728
f8f3f155
AB
27292013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2730
2731 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2732
b73249d2
VS
27332013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2736 fseeko.
2737
dac86b18 27382013-10-14 qwertial <qwertial>
2739
2740 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2741
17614b84
JM
27422013-10-14 Jon McCune <jonmccune@google.com>
2743
2744 * docs/grub.texi: Document new signatures possibility.
2745
6de292cb
VS
27462013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2749
84379b61
VS
27502013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2753 missing prototype.
2754 (grub_util_tchar_to_utf8): Likewise.
2755
21d85db1
VS
27562013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2759 * grub-core/kern/emu/main.c: Add missing include.
2760 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2761 Don't call grub_util_init_nls.
2762 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2763 Likewise.
2764
66a1b3ee
VS
27652013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2768 stat.
2769
e19bec17
VS
27702013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2773
ee8c1b29
VS
27742013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2777
bb338aaf
VS
27782013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Add a wrapper for fopen. On unix-like systems just pass-through. On
2781 windows use unicode version.
2782
ae5540d3
VS
27832013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 Move set_program_name and init_nls to host_init. On windows
2786 fix in this fuction console and argument charset as well.
2787
4cd3c4fe
AB
27882013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2789
2790 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2791 GRUB_ENABLE_CRYPTODISK.
2792
2793 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2794 GRUB_ENABLE_CRYPTODISK.
2795 * util/grub-mkconfig_lib.in: Likewise.
2796
78170f3e
CCZ
27972013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2798
2799 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2800
3414b6c0
MC
28012013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2802
2803 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2804 error when enabling debug.
2805
6d0740e8
IB
28062013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2807
2808 * configure.ac: Use -melf_*_obsd on openbsd.
2809
ff2d4dc4
VS
28102013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2813
eac6ae82
VS
28142013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * include/grub/misc.h: Use gnu_printf rather than printf as format
2817 template since our functions are independent of libc.
2818
ba9baabe
VS
28192013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * util/grub-setup.c (setup): Move copying of partition table as
2822 futher up as possible to avoid possible overwrite by floppy routines.
2823
28242013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2825
2826 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2827
145e2369
VT
28282013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2829
2830 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2831 * docs/grub.texi: Likewise.
2832
3530bc9d
VS
28332013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2836 it's mostly unused. Move vestiges to the callers.
2837
fb9f59c3
VS
28382013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2841 version of salt and hash. Use grub_snprintf rather than snprintf.
2842
9be1c255
VS
28432013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * docs/grub.texi: Fix problem with braces.
2846
ed8c0887
VS
28472013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * conf/Makefile.extra-dist: Fix extra-dist list.
2850 * grub-core/Makefile.core.def: Likewise.
2851
f72ab14e
VS
28522013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * docs/grub.texi: Document disk names used on Windows and AROS.
2855
2fe53a22
VS
28562013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2859 with AROS devs.
2860 * grub-core/osdep/aros/hostdisk.c: Likewise.
2861
71c1d67a
VS
28622013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Avoid including hostfile.h when not necessarry as it pulls
2865 in OS-specific headers which may redefine generic names
2866 like "far".
2867
ad297ec7
VT
28682013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2869
2870 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2871 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2872 scrollbar_bottom_pad
2873 * docs/grub.texi: Likewise.
2874
6e9e5dc9
VT
28752013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2876
2877 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2878
761c718b
VS
28792013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2882
37149a2f
VS
28832013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2886 Removed.
2887 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2888 Made static.
2889
3837a151
VS
28902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2893 leftover.
2894
caca1c70
VS
28952013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Move OS-specific driver configuration to grub_util_fd_open. This
2898 moves OS-dependent parts from kern/emu/hostdisk.c to
2899 grub-core/osdep/*/hostdisk.c.
2900
f7676b70
VS
29012013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * util/grub-mkimage.c (generate_image): Use size_t instead of
2904 grub_size_t.
2905 * util/grub-mkimagexx.c (locate_sections): Likewise.
2906 (load_image): Likewise.
2907
22f98db2
VS
29082013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2911 size_t.
2912 (grub_util_write_image): Likewise.
2913
b102ce69
VS
29142013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2917 get random when no RNG is available.
2918 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2919
acbbe5cb
VS
29202013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * include/grub/util/lvm.h: Removed.
2923
2112fb3f
VS
29242013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2927 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2928
79f78fbf
VS
29292013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2932
c2e6f705
VS
29332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2936
aabe433a
VS
29372013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/net/drivers/emu/emunet.c: Move to ..
2940 * grub-core/osdep/linux/emunet.c: ..here.
2941
9a2c903f
VS
29422013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * util/ieee1275/ofpath.c: Move to ...
2945 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2946 * grub-core/osdep/basic/ofpath.c: ..here.
2947
4a445f58
VS
29482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 Move password-querying (util-version) routines to grub-core/osdep.
2951
c1ca4244
VS
29522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Move sleep routines to grub-core/osdep.
2955
672fa55e
VS
29562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 Move OS-dependent files to grub-core/osdep and document it.
2959
a5b0365a
VS
29602013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2963 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2964
29072e99
VS
29652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2968
f8772ea7
VS
29692013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * util/misc.c: Remove leftover inclusion of malloc.h.
2972
a1a315e7
VS
29732013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * include/grub/setjmp.h: Remove leftover GRUBOF.
2976
cef86fef
VS
29772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * util/raid.c: Fold into ...
2980 * util/getroot_linux.c: ... here. Make all functions static.
2981
c4cf25ee
VS
29822013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2985 macros to GRUB ones.
2986
53a5f5c2
VT
29872013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2988
2989 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2990 occasional bug. If there are too many boot entries or too low
2991 scrollbar height then we need to use another formula to calculate
2992 the position and size of the scrollbar thumb.
2993
de300af2
VS
29942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2995
c4cf25ee 2996 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2997
c5827364
VT
29982013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2999
3000 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3001 * docs/grub.texi: Likewise.
3002
dd2ed8b0
VT
30032013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3004
3005 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3006 viewport.
3007
7286c384
VT
30082013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3009
ffdfc1f3
VT
3010 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3011 minimal width calculations.
7286c384 3012
ea547e14
VS
30132013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * docs/grub.texi: Update note on colors on emu console.
3016
b726be76
VS
30172013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3020 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3021 it's FS and not GRUB limitation.
3022
a5f6ade6
VS
30232013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3026
3b0f3aa2
VS
30272013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3030
1db38304
ST
30312013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3032
3033 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3034 kernels by version order.
3035
fb295fc0
VS
30362013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3039
47345010
VS
30402013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 Add AROS hostdisk and getroot routines.
3043
bf25f879
VS
30442013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Make cryptodisk and diskfilter probe data retrievable programmatically
3047 and not just printable.
3048
24ca4512
VS
30492013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 Split random retrieving code into separate files.
3052
c7c177f0
VS
30532013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3056 R_ARM_V4BX.
3057
d71b45ae
VS
30582013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3061 condition.
3062 * grub-core/tests/fake_input.c: Likewise.
3063 * grub-core/tests/cmdline_cat_test.c: Likewise.
3064
e44b9a83
VS
30652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/video/capture.c: Do not do finalization when .fini
3068 is called as there is explicit capture_end.
3069
4fa60739
VS
30702013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3073 changing windows to avoid crash.
3074
17c8bc37
VS
30752013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3078
9d4d7977
VS
30792013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * po/exclude.pot: Add several strings to exclude.
3082
0caa407c
VS
30832013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3086
9ae393da
VS
30872013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3090 ./util/grub-gen-asciih.c to exclude list.
3091
498d5033
VS
30922013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3095 and don't mark error strings for translation.
3096
7d93298f
VS
30972013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3100 properly in case of missing block size.
3101
b2cae20c
VS
31022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/lib/arm/setjmp.S: Add missing license section.
3105
3896d6b4
VS
31062013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * po/swiss.sed: Add replacement for key names and for term computer.
3109
ebc1da55
VT
31102013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3111
3112 * grub-core/gfxmenu/theme_loader.c: New global options for the
3113 theme background image handling. desktop-image-scale-method,
3114 desktop-image-h-align, desktop-image-v-align.
3115 * grub-core/gfxmenu/view.c: Likewise.
3116 * include/gfxmenu_view.h: Likewise.
3117 * include/bitmap_scale.h: Proportional scale functions introduced.
3118 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3119 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3120 cases of unexpected input variables for scale functions.
3121 * docs/grub.texi: Updated documentation for new options.
3122
c5739143
VS
31232013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3126
be74aeb3
VT
31272013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3128
3129 * grub-core/tests/checksums.h: Corrected due to changes in
3130 bilinear interpolation function.
3131
d999ac72
VT
31322013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3133
3134 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3135 to eliminate artefacts in bilinear interpolation.
3136
2b131610
VS
31372013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/video/readers/tga.c: Support paletted tga.
3140
de6e5ff8
VS
31412013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3144 incorrect cbcr setting when in color mode.
3145
fa31ee9c
VS
31462013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/video/readers/png.c: Support paletted images and clean up
3149 greyscale support.
3150
e84f8188
VS
31512013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3154 usage of wrong table which resulted in mishandling of 4-byte
3155 sequences.
3156
31572013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3158
3159 * grub-core/term/terminfo.c: Add Home and End key sequences.
3160
d72bff09
VS
31612013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3164 Fix formula for computing total number of bytes.
3165
29648c5d
VS
31662013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3169 image processing, fix big-endian and support grayscale.
3170
4a876492
VS
31712013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3174 Correctly will with maximum transparency when using index color.
3175
3ccf16df
VS
31762013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/video/readers/png.c: Support grayscale
3179
31802013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3181
3182 * grub-core/video/readers/jpeg.c: Support grayscale.
3183
3ccf16df 31842013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3185
3186 * grub-core/commands/loadenv.c: Support skipping signature check
3187 and variable names filtering.
3188
30b7f58f
VS
31892013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3192 * grub-core/kern/emu/hostfs.c: Likewise.
3193 * util/getroot_unix.c: Likewise.
3194
bab7b1eb
VS
31952013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3198 Migrate all explicit defines to this new one.
3199
43b1c99d
VS
32002013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3203 grub_util_fd_strerror when using grub_util_fd_*.
3204 (grub_util_fd_open_device): Likewise.
3205 (grub_util_biosdisk_read): Likewise.
3206 (grub_util_biosdisk_write): Likewise.
3207 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3208 (grub_util_fd_strerror): Likewise.
3209 (grub_util_fd_sync): Likewise.
3210 (grub_util_fd_close): Likewise.
3211 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3212 (grub_util_fd_close): Likewise.
3213 (grub_util_fd_strerror): Likewise.
3214 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3215 function proto rather than macro.
3216 (grub_util_fd_sync): Likewise.
3217 (grub_util_fd_open): Likewise.
3218 (grub_util_fd_strerror): New proto.
3219
e8fd80bc
VS
32202013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3223 platforms on which it doesn't work.
3224
bf645fda
VS
32252013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3228 stat immediately to where it's used.
3229
5177ba14
VS
32302013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * util/getroot.c (grub_util_check_block_device): Move to ...
3233 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3234 * util/getroot.c (grub_util_check_char_device): Move to ...
3235 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3236
9db826e1
VS
32372013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3240 disk closing logic.
3241
49120085
AB
32422013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3243
3244 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3245
b3328b68
AB
32462013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3247
3248 * docs/grub.texi (File name syntax): Document ZFS filenames
3249 (/volume@snapshot/...).
3250
3fff48ab
VS
32512013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3254 Always return full path. Fixes a problem with mkrelpath.
3255
39cfdaa9
PFS
32562013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3257
3258 * util/grub-install.in: Add GPT PReP support.
3259 * util/grub-probe.c (probe): Support GPT partition type.
3260 (main): Support -t gpt_parttype.
3261
7c680e1f 32622013-09-23 Aleš Nesrsta <starous@volny.cz>
3263
3264 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3265
890bdabe
MM
32662013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3267
3268 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3269
9c262ff9
TH
32702013-09-23 Tim Hardeck <thardeck>
3271
3272 * util/grub.d/10_hurd.in: Filter out character for the class.
3273 * util/grub.d/10_kfreebsd.in: Likewise.
3274 * util/grub.d/10_linux.in: Likewise.
3275 * util/grub.d/20_linux_xen.in: Likewise.
3276
d755342a
MC
32772013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3278
3279 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3280 "changed".
3281
68b77707
JT
32822013-09-23 Josh Triplett <josh@joshtriplett.org>
3283
3284 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3285 boot partition.
3286
efa68bfa
VS
32872013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3290 doesn't use posix_wrap. Keep literal -fno-builtin however.
3291
d9104204
VS
32922013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3295
c248781a 32962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
32972013-09-23 neil
3298
5830df88 3299 * configure.ac: Do not enable -Wmissing-noreturn as its
3300 usefulness is limited and creates problems on some OS notably with
3301 code generated by bison.
3302
33032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33042013-09-23 neil
3305
3306 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3307 supported by all gcc and when it is, it's already enabled by -Wall.
3308
621bed69
VS
33092013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3312 desactivated use of EDID at all.
3313
71764dc8 33142013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33152013-09-23 neil
3316
3317 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3318 video if no text is available.
3319
affce7d4 33202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
33212013-09-23 neil
3322
3323 * configure.ac: Substitute TARGET_RANLIB.
3324
33252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33262013-09-23 neil
affce7d4
VS
3327
3328 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3329
3330 Based on patches from AROS.
3331
0e8daad0 33322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 33332013-09-23 neil
0e8daad0
VS
3334
3335 * grub-core/Makefile.am: Override STRIP and RANLIB.
3336 * configure.ac: compute TARGET_RANLIB.
3337 * INSTALL: Document TARGET_RANLIB
3338
3339 Based on patches from AROS.
3340
3f7d9c82
VS
33412013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3344 that floppies are unpartitioned.
3345
bca8873a
VS
33462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3349 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3350
33512013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3354 less nice but more portable.
3355 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3356
a47a78be
VS
33572013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3360 for cheat_fd.
3361 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3362 functions.
3363 (grub_cryptodisk_cheat_insert): Likewise.
3364 (grub_cryptodisk_close): Likewise.
3365
e85a5d5c
VS
33662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3369 Use windows path for DEFAULT_DIRECTORY.
3370
dad9fa6b
VS
33712013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3374 difference was likely just gcc version, not anything mingw-related.
3375
7e518ca8
VS
33762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 Use Winapi on both cygwin and mingw32 to share more code between both.
3379
d68d0157
AB
33802013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3381
3382 * util/grub-install.in: Add --grub-editenv option.
3383 * util/grub-install_header (grub_compress_file): Explicitly check for
3384 plain file to avoid cp error.
3385
775b284d
AB
33862013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3387
3388 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3389 names; fix LVM driver name (lvm, not lv).
3390 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3391 names.
3392
3ff4063d
VS
33932013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3396 files rather than one file with loads of #if's.
3397 * util/getroot.c: Likewise.
3398
287faafe
VS
33992013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3402
d1983764
VS
34032013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3406 GNU/Hurd to the list of checked PRNG.
3407
15ce95c4
VS
34082013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3411
207862dd 34122013-09-21 Ales Nesrsta <starous@volny.cz>
3413
7c680e1f 3414 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3415
63653cfd
VS
34162013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3419 * grub-core/disk/lvm.c: Add LVM UUIDs.
3420 * util/getroot.c: Use LVM UUIDs whenever possible.
3421
f5d3e7ef
AB
34222013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3423
3424 * docs/grub.texi (Networking commands): Add documentation for
3425 network related commands.
3426
53c6b7d6
VS
34272013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3430 to determine if device is handled by devmapper.
3431 (convert_system_partition_to_system_disk): Likewise.
3432 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3433 already done in grub_util_open_dm.
3434
e70d6736
LL
34352013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3436
3437 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3438 Clean up stack manipulation (sync_caches_armv*)
3439
90379808
VS
34402013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * util/lvm.c: Remove since unused. Remove remaining references.
3443
386701a8
VS
34442013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 Handle the case of partitioned LVM properly.
3447
3448 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3449 Stop on meeting LVM, mpath or DMRAID.
3450 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3451 (read_device_map): Likewise.
3452 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3453 device is full disk rather than erroring out on LVM and similar cases.
3454
53070787
VS
34552013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3458
1bc783bd
VS
34592013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3462 4K before the end.
3463 Reported by: Leif Lindholm
3464
436ad5c3
PW
34652013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
34662013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3469 codes.
3470
607319c9
CW
34712013-09-18 Colin Watson <cjwatson@ubuntu.com>
3472
3473 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3474 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3475
d404d154
DR
34762013-09-18 Douglas Ray <dougray@cpan.org>
3477
3478 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3479 as secure.
3480
28851ef6
AN
34812013-09-18 Aleš Nesrsta <starous@volny.cz>
3482
3483 * docs/grub.texi: Fix broken link.
3484
897c3bc6
MC
34852013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3486
3487 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3488 to break endless loop.
3489
f1630459
VS
34902013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * util/grub-fstest.c: Fix several printf formats.
3493 * util/grub-mkimage.c: Likewise.
3494 * util/grub-mkimagexx.c: Likewise.
3495 * util/grub-script-check.c: Likewise.
3496
64463dfd
VS
34972013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3500 error.
3501
48972495
VS
35022013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3505
5dd5e64b
VS
35062013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3509 removed in current versions cygwin_conv_*.
3510
1c1f31e5
VS
35112013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 * configure.ac: Disable efiemu runtime on cygwin.
3514
c546a259
VS
35152013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3518 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3519
81690478
VS
35202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3523 error message.
3524
6b87c10a
VS
35252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3528 windows variant.
3529 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3530 data.
3531
8f0baaac
VS
35322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3535 when on x86 and not cygwin.
3536 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3537 -Wl,-melf_x86_64.
3538
b224c266
VS
35392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * configure.ac: Set CPP to build one when checkoing for freetype for
3542 build.
3543
506b336b
VS
35442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3547 [!GRUB_BUILD]: Remove has_argument.
3548
8c8c87b7
VS
35492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3552 Replace with a dummy.
3553
7dc5ca13
VS
35542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * configure.ac: Don't change host_os from mingw to cygwin.
3557
c3302aa5
VS
35582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * configure.ac: Change target_os from windows to cygwin.
3561
7b780018
VS
35622013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3565
3566 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3567 (build-grub-gen-asciih): Likewise.
3568 (build-grub-gen-widthspec): Likewise.
3569 * Makefile.util.def (grub-pe2elf): Remove.
3570 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3571 * configure.ac: Separate tests for build.
3572 Move ./build-grub-pe2elf to grub-core.
3573 Fix typo.
3574 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3575 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3576 defined.
3577 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3578 constants.
3579 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3580 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3581 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3582
984cfd8a
VS
35832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3586 mingw32 as well based on grub_util_get_disk_size.
3587 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3588 grub_util_get_fd_size.
3589 (sync): Removed.
3590 (fsync): Moved to ...
3591 * grub-core/kern/emu/misc.c (fsync): ... here.
3592
f82d79c9
VS
35932013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * include/grub/mm.h (grub_extend_alloc): Remove.
3596 * grub-core/loader/i386/pc/plan9.c: Use own version of
3597 grub_extend_alloc with appropriate types.
3598
fd7dd66d
VS
35992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3602
43ffba7c
VS
36032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3606
3c7eac44
VS
36072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 Fix dependencies on cygwin.
3610
3611 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3612 dependencies when used and defined.
3613 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3614
bdb5ba47
VS
36152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3618 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3619
ed7fbf43
VS
36202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3623 implementation available to cause compile-time rather than runtime
3624 error.
3625
fc46e9fc
VS
36262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * util/grub-fstest.c: Don't check for symlinks on windows.
3629
7f68269a
VS
36302013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * INSTALL: Mention unavailability of man pages when cross-compiling.
3633
8ed358e0
VS
36342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3637 and gcry_log_bug.
3638 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3639
fc97214f
VS
36402013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * INSTALL: Document cross-compilation.
3643 * acinclude.m4: Determine whether nm support -P and --defined-only.
3644 * configure.ac: Add TARGET_ to all variables pertaining to target
3645 that don't have it yet.
3646 * gentpl.py: Likewise.
3647 * grub-core/Makefile.am: Likewise.
3648 * grub-core/genmod.sh.in: Likewise.
3649 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3650 as well.
3651
ca1fb563
IB
36522013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3653
3654 * configure.ac: Remove -Wempty-body. It's not essential and needs
3655 recent gcc.
3656
0031b229
IB
36572013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3658
3659 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3660 * util/getroot.c: Likewise.
3661
54ea2f44
VS
36622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/disk/ahci.c: Add needed explicit cast.
3665 * grub-core/lib/backtrace.c: Likewise.
3666 * grub-core/net/ip.c: Likewise.
3667 * grub-core/net/tcp.c: Likewise.
3668 * grub-core/net/udp.c: Likewise.
3669
3c601f8c
VS
36702013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3673
1d679dda
VS
36742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/import_gcry.py: Add final newline in visibility.h.
3677
00c28dd9
VS
36782013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * conf/Makefile.common: Fix typo.
3681
32af299a
VS
36822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3685
e733cf52
VS
36862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * Makefile.am (widthspec.h): Fix typo.
3689 * util/grub-gen-widthspec.c: Likewise.
3690
c6b066f2
VS
36912013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 Move ascii.h and widthspec.h generation to a separate build-time-only
3694 tool.
3695
ad1fe3f9 36962013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3697
3698 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3699 Always fill bootdisk info and improve check for NetBSD disklabel.
3700
92a52dd4
VS
37012013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * conf/Makefile.extra-dist: Add util/bin2h.c.
3704 Reported by: floppym.
3705
b2e9d276
VS
37062013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3709
7b966834
VS
37102013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * configure.ac: Disable unifont and starfield if no freetype was found.
3713
d5c1eef1
VS
37142013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3717 on NetBSD and OpenBSD.
3718
66345b50 37192013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3720
3721 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3722
66345b50 37232013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3724
3725 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3726 reduced. Inheritant options are processed during the theme loading.
3727
66345b50 37282013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3729
3730 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3731
369508b3
AS
37322013-08-14 Avik Sil <aviksil@in.ibm.com>
3733
3734 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3735
37362013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3737
3738 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3739 using qemu.
3740
6f27a3f6
PFS
37412013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3742
3743 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3744 remove-potcdate.sed.
3745
c6ed362a
AB
37462013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3747
3748 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3749 unused attribute from pull argument.
3750
5e7d9464
AB
37512013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3752
3753 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3754 memory leak.
3755
dea55e2a
AB
37562013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3757
3758 * util/getroot.c (pull_lvm_by_command): add --separator option
3759 to vgs call to disable padding of output to 10 characters.
3760
f0b94ded
VS
37612013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3764 here ...
3765 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3766 here.
3767
b828fb5d
VS
37682013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3771 length.
3772
7c9d0c39
VS
37732013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3776 full Canadian cross. Tested with build=x86_64, host=arm,
3777 target=ppc-ieee1275.
3778
816719c8
VS
37792013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * configure.ac: Error if no $BUILD_CC could be found.
3782 Reported by: DevHC.
3783
2af2353b
VS
37842013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3787 i386-multiboot.
3788
797abd0a
VS
37892013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3792 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3793
36e87d25
CW
37942013-08-13 Colin Watson <cjwatson@ubuntu.com>
3795
3796 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3797 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3798 falling back to the partition device, otherwise a later call to this
3799 function may fail spuriously.
3800 Reported by Axel Beckert. Fixes Debian bug #708614.
3801
273349fe
GS
38022013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3803
3804 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3805
418f86c6
GS
38062013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3807
3808 Prevent shadowing of stdlib's devname(3) on BSD.
3809
3810 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3811 and devlast to diskname and disklast, respectively.
3812
c137aea0
CW
38132013-08-11 Colin Watson <cjwatson@ubuntu.com>
3814
3815 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3816
272dc8df 38172013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3818
3819 * docs/grub.texi: Introduce terminal window position options:
3820 terminal-left: terminal window's left position
3821 terminal-top: terminal window's top position
3822 terminal-width: terminal window's width
3823 terminal-height: terminal window's height
3824 terminal-border: terminal window's border width
3825 * grub-core/gfxmenu/theme-loader.c: Likewise.
3826 * include/grub/gfxmenu_view.h: Likewise.
3827 * po/exlude.pot: Likewise.
3828 * grub-core/gfxmenu/view.c: Likewise.
3829 Also updated minimal window size.
3830 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3831 * grub-core/tests/checksums.h: Update (terminal window height
3832 is adjusted now for low resolution screen)
b4743461 3833
748a4533
VS
38342013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3837 position).
3838
fca5f944
VS
38392013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * po/exclude.pot: Add few recent exceptions.
3842
4f47d809
VS
38432013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * tests/grub_func_test.in: Add unicode.pf2.
3846
a62ae90c
VS
38472013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3850 standard rather than noral color, in line with other terminals.
3851
4ed41392
VS
38522013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3855 analysis.
3856
3719fbc5
VS
38572013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3860
459b1d91
VS
38612013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3864 inappropriate printf.
3865
f4e1ab9d
AB
38662013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3867
3868 * .bzrignore: Remove grub-core/lib/dtc-grub,
3869 grub-core/Makefile.libfdt.def
3870 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3871
fa471bfa
VS
38722013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * include/grub/video.h (grub_video_register): Keep double-linked as
3875 well as single-linked invariants.
3876 Reported by: qwertial.
3877
d65be02b
VS
38782013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * grub-core/commands/nativedisk.c (get_uuid): Handle
3881 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3882
ba8bc620
VT
38832013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3884
3885 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3886 maximum of NW, N, NE heights instead of N's height and maximum of
3887 NW, W, SW widths instead of W's width. (So the box will be always
3888 correctly drawn)
3889
4f0ad029
GS
38902013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3891
3892 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3893 Fix misuse of variable count.
3894
43d53b72
LL
38952013-07-18 Leif Lindholm <leif.lindholm@arm.com>
38962013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
38972013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3898
43d53b72
LL
3899 New ports to arm-uboot and arm-efi.
3900 Mostly by Leif Lindholm with some additions from
3901 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3902
88f8d146
VS
39032013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3906 and not before.
3907 Reported by: Leon Drugi.
3908
3f42504c
VS
39092013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3912 Reported by: Paulo Flabiano Smorigo.
3913
d110499b
VT
39142013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3915
3916 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3917
a8674ad3
VT
39182013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3919
3920 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3921
286fe4b3
VS
39222013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3925
1bd57aa3
VS
39262013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3929
7a87d69f
AB
39302013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3931
3932 * grub-core/net/bootp.c: Export net_* variables.
3933 * grub-core/net/net.c: Likewise.
3934
b2182299
VS
39352013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3938
795b3dc0
VS
39392013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3942
68714c43
VS
39432013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3946
af211bab
VS
39472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3950
0036f02d
MM
39512013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3952
3953 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3954 <= 0.
3955
6d0ddff3
MM
39562013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3957
3958 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3959 functions.
3960
038016f4
MM
39612013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3962
3963 * grub-core/fs/zfs/zfs_lz4.c: New file.
3964 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3965
776bdce2
MM
39662013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3967
3968 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3969
c71dbd40
MM
39702013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3971
3972 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3973 (check_pool_label): Likewise.
3974 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3975
39762013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3977
3978 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3979
8e67b50f
AB
39802013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3981
3982 * docs/grub.texi (Commands): Document postition parameters
3983 for menuentry command.
3984
f5ae3717
AB
39852013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3986
3987 * util/grub-mknetdir.in: Remove stray line from help output.
3988
9c28da2a
VS
39892013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 Remove early sm712 init as there is no reason for it (the "watchdog"
3992 effect was due to wrong GPIO map).
3993
139072b8
VS
39942013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * grub-core/commands/pcidump.c: Remove static variables.
3997
c6a61bda
VS
39982013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4001
51369614
VS
40022013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * configure.ac: Move delimiter after the infos.
4005
efa8640a
VS
40062013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4009
6f80a7b2
VS
40102013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4013 not filling whole 8x16 space.
4014
a2371e19
VS
40152013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4018
64fce2d8
VS
40192013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * configure.ac: Indicate which liblzma is used if any.
4022
eb272d84
PW
40232013-06-21 Paul Wise <pabs3@bonedaddy.net>
40242013-06-21 Craig Sanders <savannah@taz.net.au>
4025
4026 * util/grub-reboot.in: Document submenu usage.
4027
a9e5abee
CW
40282013-06-25 Colin Watson <cjwatson@ubuntu.com>
4029
4030 * .bzrignore: Update with a number of new test-related files.
4031
e639c204
CW
40322013-06-25 Colin Watson <cjwatson@ubuntu.com>
4033
4034 * util/grub-script-check.c: Fail on scripts containing no
4035 commands, to guard against corrupted grub-mkconfig setups that
4036 produce no useful output.
4037 * tests/grub_script_no_commands.in: New test.
4038 * Makefile.util.def (grub_script_no_commands): Add.
4039 Reported by Hans Putter. Fixes Debian bug #713886.
4040
a4c89b17
AB
40412013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4042
4043 * grub-core/disk/diskfilter.c: Forgot to remove comment
4044 from previous commit.
4045
5b06b53c
AB
40462013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4047
4048 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4049 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4050
702da5c9
AB
40512013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4052
4053 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4054
aa62a5b7
AB
40552013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4056
4057 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4058 rescan diskfilter devices until nothing new is found.
4059
4aa237c8
VS
40602013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4063
93d8479b
VS
40642013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Don't try to detect cbfs on *-emu.
4067
837222cc
VS
40682013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4071
99c971af
VS
40722013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 Add support for processed coreboot payload chainloading.
4075
e6930a45
VS
40762013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 Enable coreboot information commands even when not loaded as
4079 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4080
5027af38
VS
40812013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 Support for cbfs. Also factor out the part which is common
4084 for all archives to a separate module. This splits tar from cpio
4085 as they are very different but keeps cpio, cpio_be, odc and newc
4086 together since they're very similar.
4087
a5b55c4b
DM
40882013-06-15 David Michael <fedora.dm0@gmail.com>
4089
4090 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4091 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4092
0301a8b3
VS
40932013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * tests/grub_script_eval.in: Really add the eval test.
4096
3d84cb17
VS
40972013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 Move flavour-specific parts out of common cpio.c file and
4100 rename remaining to cpio_common.c
4101
593e430c
AB
41022013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4103
4104 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4105 off new function grub_script_execute_new_scope. Change callers to use
4106 either of them as appropriate.
4107 * grub-core/commands/eval.c: New command eval.
4108 * docs/grub.texi (Commands): Document it.
4109
63c29849
AB
41102013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4111
4112 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4113 to fetch values when listing.
4114
cc284112
AB
41152013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4116
4117 Fix make dist on non-pc.
4118
41192013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4120
4121 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4122 without a device name.
4123
69544d1e
VS
41242013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 Remove enable_executable_check as it's not needed anymore.
4127 Reported by: dougray.
4128
96dbe648
VS
41292013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4132 ambigouos RAID before discovering RAIDs on top of it.
4133 Reported by: bodom.
4134
ccfc0bdb
VS
41352013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 Fix typo (failback vs fallback).
4138
f2587088
AB
41392013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4140
4141 * util/grub.d/30_os-prober.in: Add support for probing EFI
4142 System Partition (as of os-prober 1.58).
4143
cec5cf0c
VS
41442013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * configure.ac: Add yet another path to unifont. For parabola.
4147
e40b4596
JT
41482013-05-30 Josh Triplett <josh@joshtriplett.org>
4149
4150 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4151 handling to copy the killed characters to the kill buffer as
4152 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4153 stored as char. Eliminates UCS4 truncation and corruption
4154 observed when killing characters with Ctrl-u and yanking them
4155 back with Ctrl-y.
4156
fc4c4fdd
VS
41572013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Detach optional parts of gfxterm and integrate in with coreboot init.
4160
6570b205
VS
41612013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Move blit and fill dispatcher to appropriate files to decrease export
4164 and relocation overhead.
4165
b8323067
VS
41662013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4169 functions.
4170
3cc1878f
VS
41712013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/Makefile.am: Fix compilation problem with some
4174 automake versions.
4175
4b80e43c
VS
41762013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4179
57e0c20c
VS
41802013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4183 automake versions.
4184
4fd42c53
VS
41852013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4188 SSDT.
4189
1e908b34
RS
41902013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4191
4192 * grub-core/partmap/dfly.c: New partition map.
4193
1359e474
VS
41942013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4197 checking.
4198 Reported by: Francesco Lavra.
4199
17806392
AB
42002013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4201
4202 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4203 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4204 false conditions.
4205 * conf/Makefile.common: define dist_grubconf_DATA
4206
cdce14fa
VS
42072013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 Progressively skip menu elements on small terminals rather
4210 than crashing.
4211
c8d6cc3c
VS
42122013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4215 to avoid losing last column.
4216
a73b31ce
VS
42172013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * po/exclude.pot: Add missing string "%C".
4220
1202c764
VS
42212013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4224 after the test.
4225
50268344
VS
42262013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * util/grub-install.in: Gettextize "Not found" message.
4229
62b15edf
VS
42302013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Fix distfiles list.
4233 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4234
42352013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4236
4237 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4238 present.
4239 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4240
709ad61b
VS
42412013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4244
d128901a
VS
42452013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4248 attribute since structure is not necessarily aligned.
4249
34b22f5c
AB
42502013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4251
4252 * docs/grub.texi (Device syntax): Clarify description of network
4253 drives.
4254
0f7e980b
VS
42552013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4258 for vasprintf presence.
4259
30b03dc2
VS
42602013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * util/grub-install.in: Handle efibootmgr presence check.
4263 Reported by: Leif Lindholm.
4264
0dc11c08
VS
42652013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4268 new strings to translate.
4269
f8024c3f
VS
42702013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4273 yet another string (pun intended) to translate.
4274
b4c1da62
VS
42752013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * po/POTFILES-shell.in: Autogenerate it.
4278
0ef7478b
VS
42792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4282
8200fa15
VS
42832013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4286 misnomer.
4287
091945b2
AB
42882013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4289
4290 * docs/grub.texi (Network): Add description of net_default_interface,
4291 net_default_ip and net_default_mac. Rewrite variables description
4292 to emphasize that they are per-interface.
4293
0e7b2e32
VS
42942013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 New test: cmdline and cat.
4297
16f7c8f6
VS
42982013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/commands/cat.c: Show UTF-8 characters.
4301
3e912fda
VS
43022013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * conf/Makefile.common: Poison float and double on non-emu.
4305
ee0220bc
VS
43062013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * configure.ac: Don't disable extended registers on emu.
4309
89e0240c
VS
43102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * configure.ac: Don't use extended registers on x86_64.
4313 Reported by: Peter Jones.
4314
e56d9637
VS
43152013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/term/efi/console.c: Fix compile error.
4318
8098f655
VS
43192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 Compressed HFS+ support.
4322
16940e07
VS
43232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4326 pixel".
4327
c5dbc13d
VS
43282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Menu color test.
4331
011f8ae8
VS
43322013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/tests/setjmp_test.c: New test.
4335
2aa072d7
VS
43362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 New variables 'net_default_*' to determine MAC/IP of default interface.
4339
43fe02cb
VS
43402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * tests/gettext_strings_test.in: A test to check for strings not
4343 marked for translation.
4344
bed06142
VS
43452013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * autogen.sh: Exclude unused libgcrypt files from translation.
4348
fb2666b5
VS
43492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 Simplify few strings.
4352
d22840ec
VS
43532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Mark few forgotten strings for translation.
4356
e34092fd
VS
43572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4360 rather than printf.
4361
47cf82b4
VS
43622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4365 rather than printf.
4366 * grub-core/video/readers/tga.c: Likewise.
4367
1eed0e6e
VS
43682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * tests/priority_queue_unit_test.cc: New test.
4371
c5b7697b
VS
43722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4375 than printf.
4376
5945c2f8
AB
43772013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4378
4379 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4380 variable for one time boot menu entry.
4381
fa292343
B
43822013-05-05 Bean <bean123ch@gmail.com>
4383
4384 * grub-core/commands/testspeed.c: New command testspeed.
4385
310d4214
VS
43862013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Factor-out human-size printing.
4389
85002bf3
VS
43902013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 Agglomerate more mallocs to speed-up gfxterm.
4393
22b06e96
VS
43942013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 Speed-up gfxterm by slightly agglomerating mallocs.
4397
b7c036bc
VS
43982013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 More video checks.
4401
92323d1f
VS
44022013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Speed-up gfxterm by saving intermediate results in index+alpha
4405 format.
4406
0fb356a3
VS
44072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4410 test.
4411
44dea3f9
VS
44122013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4415 line of timeout as it may contain the rest of long line.
4416
14af86e4
VS
44172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/normal/main.c: Fix freed memory dereference.
4420
03f7c8c3
VS
44212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 Fix several memory leaks.
4424
c686014c
VS
44252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4428
0788a695
VS
44292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4430
4431 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4432
daf01d61
VS
44332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 Fix test -a and -o precedence.
4436 Reported by: adrian15.
4437
82ae74d7
VS
44382013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4441
8cec7bd4
AB
44422013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4443
4444 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4445 and add it as source to functional_test module.
4446
aa73d688
VS
44472013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4450
c104b6f9
VS
44512013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 New series of tests for gfxterm and gfxmenu.
4454
7391c4d5
VS
44552013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4458 the theme path relative to $prefix/themes.
4459
cff50118
VS
44602013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4463 Fix order bug.
4464 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4465
7c332bdc
VS
44662013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4469 descriptor.
4470
a4f9a5ff
VS
44712013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4474 grub_gfxmenu_timeout_notifications.
4475 (grub_gfxmenu_view_destroy): Likewise.
4476
b5a2114d
VS
44772013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4480
a8905e8a
VS
44812013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 Several fixes to ieee1275 and big-endian video.
4484
813c1622
VS
44852013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 Add missing exports on mips.
4488
3f3e7326
VS
44892013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4492 if no unifont is found.
4493 Restore original keyboard.
4494
095accd1
VS
44952013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4498 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4499
50361660
VS
45002013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 First automated video test (running videotest and comparing results)
4503
cd0f6eec
VS
45042013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4507 instead of 2 to have full RGB/CMY test pattern.
4508
3f9634e5
VS
45092013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 Add few more tests.
4512
583e5b64
VS
45132013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4516 ARCS. All users updated.
4517
aa7bcb99
VS
45182013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4521
95ef1a54
VS
45222013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4525
46546fc5
VS
45262013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4529 Reported by: qwertial.
4530
3476e0ef
VT
45312013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4532
4533 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4534 with syntax "XXX deg"/"XXX °".
4535
96f33fed
VS
45362013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 Make PCI init in i386-qemu port more robust.
4539
45402013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4541
4542 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4543 cached view is reused.
4544 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4545 open boot menus.
4546
c53b4e67
VS
45472013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 Unify more code in grub-install_header.
4550
f7457fb2
VS
45512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 Add few new tests.
4554
e2f27a8c
VS
45552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 Enforce disabling of firmware disk drivers when native drivers kick in.
4558
ef9d8cd5
VS
45592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/commands/nativedisk.c: Customize the list of modules on
4562 platform. Don't try to search for disks already using native drivers.
4563
f7bf6c31
VS
45642013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4567 platforms.
4568
bdc4add8
VS
45692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4572 handling of variables containing backslash.
4573
e9e46c9a
VS
45742013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4577 dereference.
4578 Reported by: qwertial.
4579
0e90dee8
VS
45802013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4583
e0aacf24
VS
45842013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4587 dereference.
4588 Reported by: qwertial.
4589
3c0003c3
VS
45902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4593
adb7d667
VS
45942013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4597
7cd0df84
VS
45982013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 New command `nativedisk'.
4601
02adbb93
VS
46022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4605 * grub-core/loader/i386/bsd.c: Likewise.
4606
9fb0fd4f
VS
46072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4610
bd69257a
VS
46112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4614 grub_get_unaligned16 rather than shifts.
4615
178c2764
VS
46162013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * grub-core/kern/file.c: Use const char * rather than casting to
4619 non-const.
4620
eadfad24
VS
46212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/commands/probe.c: Add missing grub_device_close.
4624
9f73ebd4
VS
46252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * INSTALL: Document linguas.sh.
4628
965fa829
VS
46292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 Remove POTFILES.in and regenerate it in autogen.sh.
4632
d417ddc4
VS
46332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 Move --directory/--override-directorry to grub-install_header and unify.
4636
f97ec546
VS
46372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/term/morse.c: Macroify dih and dah.
4640
b2d7470c
PFS
46412013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4642
4643 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4644
141e2a78
VS
46452013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/term/ns8250.c: Systematically probe ports by writing
4648 to SR before using them.
4649
1dd70ebd
PFS
46502013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4651
4652 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4653 disks.
4654 (check_sas): Get sas_adress info.
4655
c796a107
VS
46562013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4659 ports.
4660
43168646
LD
46612013-04-27 Leon Drugi <eyak>
4662
4663 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4664 BSS clearing.
4665
e7b8fd08
VS
46662013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Core compression test.
4669
17f9fd29
VS
46702013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Implement grub_machine_get_bootlocation for ARC.
4673
dc2a6c8b
VS
46742013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 Improve AHCI detection and command issuing.
4677
f25a2ba6
VS
46782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 Fix pseries test.
4681
a6393224
VS
46822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 Make 'make check' work on emu.
4685
db99fbe8
VS
46862013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 Replace libcurses with our own vt100 handling for the ease of testing
4689 and decreasing prerequisites.
4690
b24ca7cd
VS
46912013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4694
63314aa4
VS
46952013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4698 compile when not needed.
4699
c1b00fff
VS
47002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * tests/pseries_test.in: New test.
4703
f93e89ef
VS
47042013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 Add test to check that different boot mediums work.
4707
c4b456d3
VS
47082013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4711 ofw limited ISO support.
4712
5fe67f39
VS
47132013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * configure.ac: Fix loongson conditional.
4716
7f63a64f
VS
47172013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Enable mipsel-arc.
4720
b04b5990
VS
47212013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 Add serial on ARC platform.
4724
88d2f302
VS
47252013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4728 commit.
4729
86eb23bc
VS
47302013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * tests/partmap_test.in: Add missing double semicolon.
4733
eec3bb75
VS
47342013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * util/grub-mkrescue.in: Fix loongson filename.
4737
e0810df3
VS
47382013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * util/grub-mkrescue.in: Move all files that don't have a location
4741 set in stone under /boot/grub. Use ISO hard links rather than copies
4742 to save some space.
4743
65a6b30b
VS
47442013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4747 bogus SLOF values.
4748
6aff0107
VS
47492013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 Make check work on mips-arc.
4752
5e013e56
VS
47532013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * util/grub-mkrescue.in: Alias sashARCS as sash.
4756
d1989e2e
VS
47572013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4760 it's serial.
4761
1a25e72c
VS
47622013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * util/grub-install.in: Fix target fo qemu_mips.
4765 Fix extension on EFI.
4766
a59a9826
VS
47672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4770 in front of chosen entry to mark it even if highlighting is lost.
4771
1a40f80c
VS
47722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4775 gfxpayload=keep if cbfb is active.
4776
e343549c
VS
47772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4780
45fbd9a2
VS
47812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 Add missing video ids to coreboot and ieee1275 video.
4784
ab1440bd
VS
47852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * util/grub-mkrescue.in: Add mips-arc support.
4788
cdeb8324
VS
47892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4792
8528c879
VS
47932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Move mips-arc link address. Previous link address was chosen
4796 in belief that RAM on SGI platforms grows down while in fact it
4797 grows up from an unusual base.
4798
17fca573
VS
47992013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4802 Fix a type which prevented CD-ROM and floppy boot.
4803
d178788e
VS
48042013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 Support coreboot framebuffer.
4807
4808 * grub-core/video/i386/coreboot/cbfb.c: New file.
4809
fe4c3e7e
VS
48102013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4813 detecting too small regions.
4814
ec2dd179
VS
48152013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4818
872dac83
VS
48192013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4822 Remove dprintf.
4823 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4824
90ec4b7f
VS
48252013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4828 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4829 * grub-core/loader/powerpc/ieee1275/linux.c
4830 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4831
f32555dd
VS
48322013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4835 Look for /boot-rom as well as /rom/boot-rom.
4836
38649799
VS
48372013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4840 handling when creating text_layer failed.
4841 * grub-core/video/video.c (grub_video_create_render_target):
4842 Set result to 0 on error.
4843 (grub_video_delete_render_target): Do not dereference NULL.
4844
aeace7f7
VS
48452013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4848 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4849 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4850 (grub_linux_load64): Mask out 2 high bits.
4851
4eafa175
AB
48522013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4853
4854 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4855 more place.
4856
daaa64bd
VS
48572013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 Add support for pseries and other bootinfo machines to grub-mkrescue.
4860
4861 Tested by: Paulo Flabiano Smorigo.
4862
d0d2daa6
VS
48632013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * util/grub-mkrescue.in: Add GPT for EFI boot.
4866
b193e100
VS
48672013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4870 It improves performance in qemu.
4871
a0f8f3ac
VS
48722013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * build-aux/snippet: Add missing gnulib files.
4875
284df0e2
AB
48762013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4877
4878 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4879
740201f3
AB
48802013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4881
4882 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4883
a7e03923
PJ
48842013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
48852013-04-15 Peter Jones <pjones@redhat.com>
4886
4887 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4888 sectors.
4889 Based on patch by Peter Jones.
4890
25fc51a8
VS
48912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Fix DMRAID partition handling.
4894
88017d47
VS
48952013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * tests/grub_cmd_date.in: Skip on sparc64.
4898
fa7d914e
VS
48992013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4902 firmware error messages.
4903
cbe57a48
VS
49042013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4907 source and destination differ.
4908
21aecce0
VS
49092013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4912 detection.
4913
25092d29
VS
49142013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4917 match config-util.h to avoid warnings and increase compatibility.
4918
79451522 49192013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 49202013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4921
4922 Add option to compress files on install/image creation.
4923
78b7d77b
VS
49242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * docs/grub-dev.texi: Rearrange menu to match the section order.
4927 Reported by: Bryan Hundven.
4928
cc2fa5ec
VS
49292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4932
b49fe879
VS
49332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 Move GRUB out of system area when using xorriso 1.2.9 or later.
4936
5351da81
VS
49372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * tests/grub_cmd_date.in: Add missing exit 1.
4940
c9d586ea
VS
49412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * tests/partmap_test.in: Skip on sparc64.
4944
3f729741
VS
49452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 Support grub-shell on sparc64.
4948
8ca86b3a
VS
49492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 Support mkrescue on sparc64.
4952
aa1af9bb
VS
49532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4956 Needed on OpenBIOS due to incomplete device tree.
4957
ac4fea79
VS
49582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4961 would be otherwise excluded.
4962
49632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4964
4965 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4966 Inline name defines used only once.
4967
fe22b071
VS
49682013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 Fix memory leaks in ofnet.
4971 Reported by: Francesco Lavra.
4972
9d21381b
VS
49732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * docs/man/grub-glue-efi.h2m: Add missing file.
4976
07aec23c
VS
49772013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4980
67ab8353
VS
49812013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Better support Apple Intel Macs on CD.
4984
ba44ca6d
VS
49852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Replace stpcpy with grub_stpcpy in tools.
4988
bbdd6305
VS
49892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 Handle Japanese special keys.
4992 Reported by: Hiroyuki YAMAMORI.
4993 Codes supplied by: Hiroyuki YAMAMORI.
4994
8573d302
VS
49952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * util/grub-mkimage.c: Document memdisk implying --prefix.
4998
d70dbab7
VS
49992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5002 much we can do about it anyway.
5003
51a4c3e3
AN
50042013-04-12 Aleš Nesrsta <starous@volny.cz>
5005
5006 Fix handling of split transfers.
5007
92c8f58d
VS
50082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/net/http.c: Fix bad free.
5011
b7d17a49
VS
50122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5015 than buffer size.
5016
a3d566d4
VS
50172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5020
a936af56
VS
50212013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * tests/util/grub-shell.in: Fix it on powerpc.
5024
51212234
VS
50252013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 Turn off QEMU ACPI-way since new releases don't have shutdown port
5028 anymore.
5029
a21eec9e
VS
50302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * docs/grub.texi: Update coreboot status info.
5033
e3734b84
VS
50342013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * tests/grub_cmd_date.in: New test for datetime.
5037
f9d40055
VS
50382013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * tests/partmap_test.in: Fix missing qemudisk setting.
5041
dbc56d8f
VS
50422013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Support i386-ieee1275 grub-mkrescue and make check on it.
5045
a79b8a15
VS
50462013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5049 feature for it.
5050
48f39bb4
VS
50512013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5054 GRUB_CMDLINE_XEN_DEFAULT.
5055 Reported by: Marc Warne (GigaTux) <gigatux>
5056
053cfcdd
VS
50572013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 Import new gnulib.
5060
93cd84df
VS
50612013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 Use ACPI shutdown intests as traditional port was removed.
5064
f4b1fa4f
AB
50652013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5066
5067 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5068 distinction.
5069
49818a59
VS
50702013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5073 Fix few warining messages and leaks while on it.
5074
9277a306
AB
50752013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5076
5077 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5078 links under grub-core/lib/libgcrypt-grub/mpi.
5079
d5e2a158
VS
50802013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 Fix ia64-efi image generation on big-endian machines. Deduplicate
5083 some code while on it.
5084 Reported by: Leif Lindholm.
5085
18866643
AB
50862013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5087
5088 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5089 as extra_dist.
5090
ca53deb8
AB
50912013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5092
5093 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5094
d4c4b8e1
BH
50952013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5096
5097 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5098 texinfo-5.1.
5099
47043f95
VS
51002013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/normal/term.c: Few more fixes for menu entry editor
5103 rendering.
5104 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5105
a3216068
VS
51062013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/normal/term.c: Few more fixes for menu entry editor
5109 rendering.
5110 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5111
21026747
AB
51122013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5113
5114 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5115 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5116
59624ca8
AB
51172013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5118
5119 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5120 instead of hardcoding grub.mo.
5121
1f44478c
FN
51222013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5123
5124 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5125
eeada7b1
VS
51262013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5129 grub-core/disk/geli.c.
5130
132867de
VS
51312013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * util/grub-mkfont.c: Prefer enum to #define.
5134
de73de17
VS
51352013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5138
1865baa7
VS
51392013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5142
ce7d92a9
VS
51432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5146
52eab656
VS
51472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5150
98b23b95
VS
51512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * include/grub/bsdlabel.h: Use enums.
5154
0467a5dd
VS
51552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 Move GRUB_CHAR_BIT to types.h.
5158
16cc9f03
AB
51592013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5160
5161 * docs/grub.texi: Document more user commands.
5162
3152aecb
AB
51632013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5164
5165 * docs/grub.texi: Document menuentry --id option.
5166
c506fc30
FL
51672013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5168
5169 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5170
aa428238
VS
51712013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 Unify file copying setup across different install scripts. Add
5174 options for performing partial install.
5175
efe0cdda
PJ
51762013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
51772013-04-04 Peter Jones <pjones@redhat.com>
5178
5179 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5180
f75835bd
VS
51812013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 Use TSC as a possible time source on i386-ieee1275.
5184
2cd5ce6c
VS
51852013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5188 Init err.
5189
c9625630
VS
51902013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * util/grub-setup.c (setup): Handle some corner cases.
5193
be008941
VS
51942013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5197
1a78d573
VS
51982013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * grub-core/commands/verify.c: Save verified file to avoid it being
5201 tampered with after verification was done.
5202
db8ff59f
VS
52032013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5206 reported width by one to compensate for curesor algorithm problem.
5207
91bf46b1
VS
52082013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 Fix screen corruption in menu entry editor and simplify the code
5211 flow while on it.
5212
a7b1d693
AB
52132013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5214
5215 * util/grub-mount.c (fuse_init): Return error if fuse_main
5216 failed.
5217
31df9ad8
FL
52182013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5219
5220 * include/grub/elf.h: Add missing ARM relocation codes and fix
5221 existing ones.
5222
07f392eb
VT
52232013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5224
5225 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5226
9efd73ec 52272013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
52282013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5231 into account when calculating radius.
5232
52332013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5234
5235 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5236
4985ddaa
VT
52372013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5238
5239 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5240
8c3635ff
RS
52412013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5242
5243 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5244 missing closing bracket.
5245
74a35e69
RS
52462013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5247
5248 * INSTALL: Mention xorriso requirement.
5249
40f1c000
AB
52502013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5251
5252 * grub-core/commands/verify.c: Fix hash algorithms values for
5253 the first three hashes - they start with 1, not with 0.
5254
e75fdee4
VS
52552013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5258 Try terminating EFI services several times due to quirks in some
5259 implementations.
5260
33028f4c
CW
52612013-03-26 Colin Watson <cjwatson@ubuntu.com>
5262
5263 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5264 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5265 BankField extended opcodes.
5266 (get_sleep_type): Add minimal scope handling (just enough to
5267 handle setting the scope to the root path).
5268 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5269 * include/grub/acpi.h: Add enumeration values for Event, Device,
5270 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5271
33871a10
VT
52722013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5273
5274 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5275 memory leak.
5276
8990963a
VS
52772013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/disk/ahci.c: Give more time for AHCI request.
5280
daae8f9e
VS
52812013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5284 command.
5285
6a7fb94b
VS
52862013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 Replace the region at 0 from coreboot tables to available in BSD
5289 memory map.
5290
ff99babd
VS
52912013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5294 non-BIOS platforms.
5295
30d6b1b2
VS
52962013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5299 platforms.
5300
6ccd0b31
VS
53012013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5304 handling of multi-device filesystems.
5305
23c9cc04
VS
53062013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5309 platforms.
5310
ce50dbd7
VS
53112013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 Add new 'proc' filesystem framework and put luks_script into it.
5314
d975e8d5
VS
53152013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5318 and qemu.
5319
e73ba5e8
VS
53202013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5323
92750e4c
VS
53242013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Add ability to generate newc additions on runtime.
5327
0ec45a68
VS
53282013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5331 description.
5332
320abd43
VS
53332013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * po/POTFILES.in: Regenerate.
5336
d7a6506e
VS
53372013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/commands/verify.c (hashes): Add several hashes
5340 from the spec.
5341
8fe05def
VS
53422013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Slight improve in USB-related boot-time checkpoints.
5345
524e2766
VS
53462013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/commands/boottime.c: Fix copyright header.
5349
cc19857a
VS
53502013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5353 coreboot tables content. Support for cbmemc.
5354
ef8810e9
VS
53552013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 Fix a conflict between ports structures with 2 controllers of
5358 same kind.
5359
e9dabdfa
VS
53602013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * include/grub/boottime.h: Add missing file.
5363
f6df57d2
VS
53642013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Initialize USB ports in parallel to speed-up boot.
5367
d745dda7
VS
53682013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Fix USB devices not being detected when requested
5371 due to delayed attach.
5372
e5a2dd7b
VS
53732013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5374
e744219b
VS
5375 Implement boot time analysis framework.
5376
53772013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5380 descriptor to just receive it as argument rather than endpoint
5381 address.
5382
5dd6f587
VS
53832013-03-19 Aleš Nesrsta <starous@volny.cz>
5384
5385 Better estimate the maximum USB transfer size.
5386
2f1071d5
VS
53872013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 Resend a packet if we got the wrong buffer in status.
5390
46ecfc49
VS
53912013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5394 multiplication rather than division.
5395
ea811130
VS
53962013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5399 than divisions.
5400
d2789cf0
VS
54012013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5404 operations to have intended shifts and not divisions.
5405
a9c94590
VS
54062013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5409 intended shifts rather than division.
5410
84cfe81b
VS
54112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5414 computation for some years before epoch. Avode confusing division
5415 while on it.
5416
21344ef6
VS
54172013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/video/i386/pc/vbe.c
5420 (grub_video_vbe_print_adapter_specific_info): Replace division by
5421 shifts.
5422
3f2b4d1a
VS
54232013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 Adjust types in gdb module to have intended unsigned shifts rather than
5426 signed divisions.
5427
3dac5878
VS
54282013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5431 maximum size is 4G - 1 on hfs
5432
5341c0fb
VS
54332013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5436
fc3ff2a2
VS
54372013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5440 function.
5441
81455e8e
AB
54422013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5443
5444 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5445 causing gcc error with gcc 4.7.1.
5446
efd4f117
NZ
54472013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5448
5449 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5450 dereference null pointer. While the code is technically correct, gcc
5451 may eliminate a null check if pointer is already dereferenced.
5452
e11645f4
NZ
54532013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5454
5455 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5456 OOM check.
5457 * grub-core/normal/term.c (read_terminal_list): Likewise.
5458
77468368
VS
54592013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 Lift up core size limits on some platforms. Fix potential memory
5462 corruption with big core on small memory systems. Document remaining
5463 limits.
5464
f6b58fe5
VS
54652013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5468 gotoxy to 0,0.
5469
19ce697d
VS
54702013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 Remove all trampoline support. Add -Wtrampolines when
5473 present. Remove symbols used for trampolines to make
5474 link fail if trampolines are present.
5475
73b5d90f
VS
54762013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5479 append out of its parent.
5480
cb758e96
VS
54812013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5484 parent.
5485
3188131f
VS
54862013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5489 all vars to a macro. All users updated.
5490
e42b2514
VS
54912013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5494 i386-ieee1275.
5495
83e1a1a1
VS
54962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5499
1d5a880f
VS
55002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5503
6e4146c4
VS
55042013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Move to more hookless approach in IEEE1275 devices handling.
5507
99fcda8a
VS
55082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/kern/term.c (grub_term_normal_color),
5511 (grub_term_highlight_color): Add back lost defaults.
5512
73bf57e2
VS
55132013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 Make elfload not use hooks. Opt for flags and iterators instead.
5516
7f8c105f
VS
55172013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5520 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5521
396d4091
VS
55222013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5525
55262013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5529 hook pass-through parameter. All users updated and unnested.
5530
74a27421
VS
55312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5534 out of its parent.
5535
b46d4213
VS
55362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/fs/hfs.c: Remove nested functions.
5539
e114c3cc
VS
55402013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5543 the context through.
5544 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5545
f9b7d780
VS
55462013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * util/grub-editenv.c (list_variables): Move print_var out of its
5549 parent.
5550
ca9c2608
VS
55512013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5554 function.
5555
5d983f5f
VS
55562013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * grub-core/gentrigtables.c: Make tables const.
5559
3056d3e7
VS
55602013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 Remove nested functions from videoinfo iterators.
5563
e2303774
VS
55642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5567 for 64-bit platforms.
5568
f42e3a2f
VS
55692013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5572 a FOR_CHILDREN macro.
5573
be174e5e
VS
55742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5577 platform from firmware path.
5578
0789b672
VS
55792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 Enable linux16 on non-BIOS systems for i.a. memtest.
5582
5583 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5584 correctly.
5585 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5586
005a9c32
VS
55872013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5590 Fix end of table condition.
5591
ff2b3cd9
VS
55922013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5595 out of its parent.
5596
4fc40ff8
VS
55972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/fs/jfs.c: Remove nested functions.
5600
be42d97a
VS
56012013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/fs/minix.c: Remove nested functions.
5604
99373ce4
VS
56052013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/fs/iso9660.c: Remove nested functions.
5608
5aec2afe
VS
56092013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5612 of parent function.
5613
6c69e691
VS
56142013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * util/grub-fstest.c: Remove nested functions.
5617
43c91882
VS
56182013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/loader/machoXX.c: Remove nested functions.
5621
4eb8b756
CW
56222013-02-27 Colin Watson <cjwatson@ubuntu.com>
5623
5624 Remove nested functions from disk and file read hooks.
5625
5626 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5627 (struct grub_disk): Add read_hook_data member.
5628 * include/grub/file.h (struct grub_file): Likewise.
5629 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5630 argument.
5631
5632 Update all callers.
5633
df6da5a5
AB
56342012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5635
5636 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5637 Fix off by one error in enumerating extended partitions.
5638
21aecde5
AB
56392013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5640
5641 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5642 memory leak if device name is not found.
5643
f1a19118
AB
56442013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5645
5646 * grub-core/normal/menu_entry.c (update_screen): remove
5647 unused variable `off' which caused scroll down arrow to be always shown.
5648
958bfd20
AB
56492013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5650
5651 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5652 access to unallocated memory.
5653
b7b78edb
AB
56542013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5655
5656 * Makefile.util.def: Add partmap/msdos.c to common library.
5657 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5658 * grub-core/disk/ldm.c: Check for existence of
5659 GRUB_PC_PARTITION_TYPE_LDM.
5660
28d468d6
VS
56612013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5664 sizes and display sector size.
5665
d55ffb02
VS
56662013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 Implement new command cmosdump.
5669
b5ea6ce0
VS
56702013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5671
5672 Support Openfirmware disks with non-512B sectors.
5673
5674 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5675 size of the disk.
5676 * (grub_ofdisk_get_block_size): New function.
5677 * (grub_ofdisk_prepare): Use the correct block size.
5678 * (grub_ofdisk_read): Likewise.
5679 * (grub_ofdisk_write): Likewise.
5680 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5681 New proto.
5682
cc0e476f
VS
56832013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5686
c5dbdc33
VS
56872013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5690 on first error.
5691
3f078c0f
VS
56922013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5695 freeing it.
5696
66a93674
VS
56972013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 Implement USBDebug (full USB stack variant).
5700
c9f0c134
VS
57012013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5704 unless they have unexpected values.
5705
cfe1288b
VS
57062013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5709 grub_print_error.
5710
e42b9969
VS
57112013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5714 zero-out of port structure.
5715
cf94fd62
VS
57162013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5719 of extended attributes.
5720
f81ef4b5
AB
57212013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5722
5723 * util/grub-install.in: change misleading comment about
5724 device.map creation
5725
af18fdb4
VS
57262013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5729 when menu highlight color isn't set.
5730
08bcec50
M
57312013-01-27 C. Masloch <pushbx@38.de>
5732
5733 Improve FreeDOS direct loading support compatibility.
5734
5735 * include/grub/i386/relocator.h (grub_relocator16_state):
5736 New member ebp.
5737 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5738 variable.
5739 (grub_relocator16_boot): Handle %ebp.
5740 * grub-core/lib/i386/relocator16.S: Likewise.
5741 * grub-core/loader/i386/pc/freedos.c:
5742 Load BPB to pass kernel which partition to load from.
5743 Check that kernel file is not too large.
5744 Set register dl to BIOS unit number as well.
5745
7782b8a6
CW
57462013-01-22 Colin Watson <cjwatson@ubuntu.com>
5747
5748 * util/grub-reboot.in (usage): Document the need for
5749 GRUB_DEFAULT=saved.
5750 * util/grub-set-default.in (usage): Likewise.
5751 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5752
e661c180
VS
57532013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5756 than defining WORDS_BIGENDIAN manually.
5757
1c22ca9a
VS
57582013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5761 invariants.
5762
d44892fe
CW
57632013-01-21 Colin Watson <cjwatson@ubuntu.com>
5764
5765 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5766 nested.
5767 (blit_comb: add_device_width): Likewise.
5768
5fdbaed1
CW
57692013-01-21 Colin Watson <cjwatson@ubuntu.com>
5770
5771 Remove nested functions from USB iterators.
5772
5773 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5774 (grub_usb_controller_iterate_hook_t): Likewise.
5775 (grub_usb_iterate): Add hook_data argument.
5776 (grub_usb_controller_iterate): Likewise.
5777 (struct grub_usb_controller_dev.iterate): Likewise.
5778
5779 Update all implementations and callers.
5780
4250985a
VS
57812013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5784 margin when not needed.
5785
7d8848f3
VS
57862013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5787
bc136973 5788 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5789
57902013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5791
bc136973
VS
5792 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5793 asterisk.
7d8848f3 5794
ed12a003
CW
57952013-01-21 Colin Watson <cjwatson@ubuntu.com>
5796
5797 Fix powerpc and sparc64 build failures caused by un-nesting memory
5798 map iterators.
5799
6a0db449
CW
58002013-01-21 Colin Watson <cjwatson@ubuntu.com>
5801
5802 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5803 parameter declarations.
5804
ccd86b21
VS
58052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5808
822b726b
VS
58092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Improve spkmomdem reliability by adding a separator between bytes.
5812
115c2cc1
CW
58132013-01-21 Colin Watson <cjwatson@ubuntu.com>
5814
5815 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5816 an Acer registration utility with several sightings in the wild.
5817 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5818
fc524edf
CW
58192013-01-21 Colin Watson <cjwatson@ubuntu.com>
5820
5821 Remove nested functions from filesystem directory iterators.
5822
5823 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5824 (struct grub_fs.dir): Add hook_data argument.
5825
5826 Update all implementations and callers.
5827
53d3e4e3
CW
58282013-01-21 Colin Watson <cjwatson@ubuntu.com>
5829
5830 * docs/grub.texi (Multi-boot manual config): Fix typo for
5831 "recommended".
5832
c821711f
LL
58332013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5834
5835 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5836 until after its use in generate_image.
5837
6a0debbd
CW
58382013-01-20 Colin Watson <cjwatson@ubuntu.com>
5839
5840 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5841 initrd size to addr_min, since the initrd will be allocated after
5842 this address.
5843
f41e08db
AB
58442013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5845
5846 * conf/Makefile.common: Fix autogen rules to pass definition
5847 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5848
77529e0f
LL
58492013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5850
5851 * include/grub/elf.h: Update ARM definitions based on binutils.
5852
b879aa7b
VS
58532013-01-20 Aleš Nesrsta <starous@volny.cz>
5854
5855 Split long USB transfers into short ones.
5856
8eb8284d
AB
58572013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5858
5859 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5860 is interrupted by ESC.
5861
08dad2dc
VS
58622013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * util/grub-script-check.c (main): Uniform the error message.
5865
6c724b85
CW
58662013-01-20 Colin Watson <cjwatson@ubuntu.com>
5867
5868 Remove nested functions from ELF iterators.
5869
25239370
CW
58702013-01-20 Colin Watson <cjwatson@ubuntu.com>
5871
5872 Remove nested functions from device iterators.
5873
5874 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5875 (grub_arc_iterate_devs): Add hook_data argument.
5876 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5877 (struct grub_ata_dev.iterate): Add hook_data argument.
5878 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5879 (grub_device_iterate): Add hook_data argument.
5880 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5881 (struct grub_disk_dev.iterate): Add hook_data argument.
5882 (grub_disk_dev_iterate): Likewise.
5883 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5884 Likewise.
5885 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5886 Likewise.
5887 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5888 type.
5889 (struct grub_partition_map.iterate): Add hook_data argument.
5890 (grub_partition_iterate): Likewise.
5891 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5892 (struct grub_scsi_dev.iterate): Add hook_data argument.
5893
5894 Update all callers.
5895
6c0314d6
CW
58962013-01-20 Colin Watson <cjwatson@ubuntu.com>
5897
5898 Fix typos for "developer" and "development".
5899
600dc5f1
VS
59002013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 Add license header to spkmodem-recv.c.
5903
17334a6b
VS
59042013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 Rewrite spkmodem to use PIT for timing. Double the speed.
5907
7d462559
VS
59082013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 Add new command pcidump.
5911
b78d6c32
VS
59122013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 New terminal outputs using serial: morse and spkmodem.
5915
34f71cb8
VS
59162013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 Improve bidi handling in entry editor.
5919
4542e71b
VS
59202013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5923 argument to prevent name collision.
5924
09fd6d82
CW
59252013-01-15 Colin Watson <cjwatson@ubuntu.com>
5926
5927 Remove nested functions from script reading and parsing.
5928
5929 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5930 getline_data argument, passed to getline.
5931 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5932 getline_data argument, passed to grub_parser_split_cmdline.
5933 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5934 lexerstate->getline_data to lexerstate->getline.
5935 (grub_script_lexer_init): Add getline_data argument, saved in
5936 lexerstate->getline_data.
5937 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5938 argument, passed to grub_script_parse.
5939 * grub-core/script/script.c (grub_script_parse): Add getline_data
5940 argument, passed to grub_script_lexer_init.
5941 * include/grub/parser.h (grub_parser_split_cmdline): Update
5942 prototype. Update all callers to pass appropriate getline data.
5943 (struct grub_parser.parse_line): Likewise.
5944 (grub_rescue_parse_line): Likewise.
5945 * include/grub/reader.h (grub_reader_getline_t): Add void *
5946 argument.
5947 * include/grub/script_sh.h (struct grub_lexer_param): Add
5948 getline_data member.
5949 (grub_script_parse): Update prototype. Update all callers to pass
5950 appropriate getline data.
5951 (grub_script_lexer_init): Likewise.
5952 (grub_normal_parse_line): Likewise.
5953
5954 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5955 data argument.
5956 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5957 static instead of nested. Rename to ...
5958 (grub_parser_execute_getline): ... this.
5959 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5960 data argument.
5961 * grub-core/normal/main.c (read_config_file: getline): Make static
5962 instead of nested. Rename to ...
5963 (read_config_file_getline): ... this.
5964 (grub_normal_read_line): Add unused data argument.
5965 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5966 getline): Make static instead of nested. Rename to ...
5967 (grub_script_execute_sourcecode_getline): ... this.
5968 * util/grub-script-check.c (main: get_config_line): Make static
5969 instead of nested.
5970
d0d4b8a0
CW
59712013-01-15 Colin Watson <cjwatson@ubuntu.com>
5972
5973 Remove nested functions from memory map iterators.
5974
5975 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5976 argument, passed to hook.
5977 * grub-core/kern/i386/coreboot/mmap.c
5978 (grub_linuxbios_table_iterate): Likewise.
5979 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5980 instead of nested.
5981 (grub_machine_mmap_iterate): Add hook_data argument.
5982 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5983 Add hook_data argument, passed to hook.
5984 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5985 Likewise.
5986 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5987 Likewise.
5988 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5989 Likewise.
5990 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5991 Likewise.
5992 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5993 Likewise.
5994 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5995 Likewise.
5996 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5997 (grub_machine_mmap_iterate): Likewise.
5998 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5999 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6000 prototype.
6001 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6002 Remove NESTED_FUNC_ATTR from here and from all users.
6003 (grub_mmap_iterate): Update prototype.
6004 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6005 pass appropriate hook data.
6006 (grub_machine_mmap_iterate): Likewise.
6007
6008 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6009 static instead of nested.
6010 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6011 Rename to ...
6012 (lsmmap_hook): ... this.
6013 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6014 Likewise.
6015 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6016 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6017 heap_init): Likewise.
6018 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6019 Rename to ...
6020 (mmap_iterate_hook): ... this.
6021 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6022 Likewise.
6023 * grub-core/lib/ieee1275/relocator.c
6024 (grub_relocator_firmware_get_max_events: count): Likewise.
6025 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6026 to ...
6027 (grub_relocator_firmware_fill_events_iter): ... this.
6028 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6029 hook): Likewise. Rename to ...
6030 (grub_relocator_alloc_chunk_align_iter): ... this.
6031 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6032 Rename to ...
6033 (generate_e820_mmap_iter): ... this.
6034 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6035 Rename to ...
6036 (count_hook): ... this.
6037 (grub_linux_boot: hook): Likewise. Rename to ...
6038 (grub_linux_boot_mmap_find): ... this.
6039 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6040 (grub_linux_boot_mmap_fill): ... this.
6041 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6042 hook): Likewise. Rename to ...
6043 (grub_fill_multiboot_mmap_iter): ... this.
6044 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6045 hook): Likewise. Rename to ...
6046 (count_hook): ... this.
6047 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6048 hook): Likewise. Rename to ...
6049 (grub_fill_multiboot_mmap_iter): ... this.
6050 * grub-core/loader/powerpc/ieee1275/linux.c
6051 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6052 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6053 Likewise. Rename to ...
6054 (alloc_phys_choose): ... this.
6055 (determine_phys_base: get_physbase): Likewise.
6056 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6057 find_hook): Likewise.
6058 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6059 (malloc_hook: count_hook): Likewise.
6060 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6061 Likewise. Rename to ...
6062 (lower_hook): ... this.
6063 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6064 (upper_hook): ... this.
6065 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6066 (post64_hook): ... this.
6067 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6068 Likewise. Rename to ...
6069 (lower_hook): ... this.
6070 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6071 (upper_hook): ... this.
6072 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6073 (grub_mmap_iterate: fill_hook): Likewise.
6074 (fill_mask): Pass addr and mask within a single struct.
6075 (grub_cmd_badram: hook): Make static instead of nested. Rename
6076 to ...
6077 (badram_iter): ... this.
6078 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6079 (cutmem_iter): ... this.
6080
22099030
VS
60812013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6084 delimit path in strings using quotes.
6085 * util/getroot.c (grub_guess_root_devices): Likewise.
6086 (grub_make_system_path_relative_to_its_root): Likewise.
6087 * util/grub-probe.c (probe): Likewise.
6088 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6089 (xrealpath): Likewise.
6090
4a9950ec
VS
60912013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Fix compilation with older compilers.
6094
6095 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6096 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6097 declarations.
6098 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6099 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6100 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6101 identifier with b.
6102 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6103 * include/grub/crypto.h: Add type defines.
6104 * util/import_gcrypth.sed: Remove duplicate type defines.
6105
adcc6020
VS
61062013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 New command list_trusted.
6109
6110 * grub-core/commands/verify.c (grub_cmd_list): New function.
6111
a4528937
CW
61122013-01-13 Colin Watson <cjwatson@ubuntu.com>
6113
6114 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6115 info message.
6116
ca3a7446
CW
61172013-01-13 Colin Watson <cjwatson@ubuntu.com>
6118
6119 Remove nested functions from PCI iterators.
6120
6121 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6122 passed to hook. Update all callers to pass appropriate hook data.
6123 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6124 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6125 Remove NESTED_FUNC_ATTR from here and from all users.
6126 (grub_pci_iterate): Update prototype.
6127 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6128 instead of nested. Rename to ...
6129 (grub_cs5536_find_iter): ... this.
6130 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6131 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6132 Likewise.
6133 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6134 Likewise.
6135 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6136 Likewise.
6137 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6138 Likewise.
6139 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6140 * grub-core/video/radeon_fuloong2e.c
6141 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6142 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6143 find_card): Likewise.
6144 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6145 Likewise.
6146
f8e98fee
VS
61472013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/commands/verify.c: Mark messages for translating.
6150
055b36b6
VS
61512013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6154 fatal.
6155
f7ff879b
VS
61562013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6159 fatal.
6160
61612013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6162
6163 * autogen.sh: Do not try to delete nonexistant files.
6164 * util/import_gcrypth.sed: Add some missing header removals.
6165
01323d49
CW
61662013-01-12 Colin Watson <cjwatson@ubuntu.com>
6167
6168 Clean up dangling references to grub-setup.
6169 Fixes Ubuntu bug #1082045.
6170
6171 * docs/grub.texi (Images): Refer generally to grub-install rather
6172 than directly to grub-setup.
6173 (Installing GRUB using grub-install): Remove direct reference to
6174 grub-setup.
6175 (Device map) Likewise.
6176 (Invoking grub-install): Likewise.
6177 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6178 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6179 * util/grub-install.in (usage): Likewise.
6180
6181 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6182 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6183 grub-setup.
6184 * configure.ac: Remove grub_setup output variable.
6185
6186 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6187 to grub-bios-setup.
6188 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6189 grub-setup to grub-sparc64-setup.
6190
5e3b8dcb
VS
61912013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Import gcrypt public-key cryptography and implement signature checking.
6194
535714bd
VS
61952013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/fs/ntfs.c: Ue more appropriate types.
6198 * grub-core/fs/ntfscomp.c: Likewise.
6199 * include/grub/ntfs.h: Likewise.
6200
3e4f3566
VS
62012013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Support Apple FAT binaries on non-Apple platforms.
6204
6205 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6206 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6207 Likewise.
6208 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6209 Apple FAT binaries.
6210
4dedb13f
VS
62112013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6214 sector devices.
6215
f8861eaf
CW
62162013-01-07 Colin Watson <cjwatson@ubuntu.com>
6217
6218 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6219 explicitly zeroing elements.
6220 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6221 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6222 of elements in a structure already allocated using grub_zalloc.
6223 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6224
86065b0a
CW
62252013-01-07 Colin Watson <cjwatson@ubuntu.com>
6226
6227 * docs/grub.texi (grub_cpu): New subsection.
6228 (grub_platform): Likewise.
6229
c6f1e92f
VS
62302013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6233
f797ec85
VS
62342013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6237 divisions.
6238
033d0b4b
VS
62392013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6242 * grub-core/fs/ntfscomp.c: Likewise.
6243 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6244 (grub_ntfs_comp): Likewise.
6245
21d1b9a0
VS
62462013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6249 Rename to ...
6250 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6251 of groups_per_block. All users updated.
6252
10ca8645
VS
62532013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6256 grub_error properly.
6257 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6258 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6259
a4c3ed4c
VS
62602013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6263 always in /boot/zfs.
6264 Reported by: Yuta Satoh.
6265
0b716507
YS
62662013-01-03 Yuta Satoh <nigoro>
6267
6268 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6269 ${grub_probe}
6270
00c05e22
VS
62712013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * configure.ac: Extend -Wno-trampolines to host.
6274
dadddb76
VS
62752013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6278 entry->len = 0.
6279
54ce53ca
CW
62802013-01-03 Colin Watson <cjwatson@ubuntu.com>
6281
6282 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6283 (Invoking grub-script-check): Likewise.
6284
8912efca
CW
62852013-01-03 Colin Watson <cjwatson@ubuntu.com>
6286
6287 * docs/grub.texi (Invoking grub-mount): New section.
6288 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6289
c3fc8394
CW
62902013-01-02 Colin Watson <cjwatson@ubuntu.com>
6291
6292 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6293 test failures, so that a failing unit test correctly causes 'make
6294 check' to fail.
6295
45d26abb
CW
62962013-01-02 Colin Watson <cjwatson@ubuntu.com>
6297
6298 Fix failing printf test.
6299
6300 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6301 '$' in the correct order when collecting type information.
6302
971dd2c6
CW
63032013-01-02 Colin Watson <cjwatson@ubuntu.com>
6304
6305 * docs/grub.texi (configfile): Explain environment variable
6306 handling.
6307 (source): New section.
6308 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6309
5c67ea6c
CW
63102012-12-31 Colin Watson <cjwatson@ubuntu.com>
6311
6312 Remove several trivially-unnecessary uses of nested functions.
6313
6314 * grub-core/commands/i386/pc/sendkey.c
6315 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6316 instead of nested.
6317 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6318 Rename to ...
6319 (legacy_file_getline): ... this.
6320 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6321 Likewise.
6322 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6323 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6324 to ...
6325 (probe_dummy_iter): ... this.
6326 * grub-core/kern/i386/coreboot/mmap.c
6327 (grub_linuxbios_table_iterate: check_signature): Likewise.
6328 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6329 check_varstate): Likewise. Mark inline.
6330 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6331 an additional parameter.
6332 (find_long: fnd_long): Likewise. Pass two additional parameters.
6333 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6334 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6335 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6336 Likewise. Rename to ...
6337 (grub_cmos_find_port_iter): ... this.
6338 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6339 Rename to ...
6340 (find_rtc_iter): ... this.
6341
6342 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6343 function directly into the function body, since it is only called
6344 once.
6345
33a68ac6
CW
63462012-12-30 Colin Watson <cjwatson@ubuntu.com>
6347
6348 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6349 __attribute__ ((unused)).
6350 * grub-core/video/bochs.c (find_card): Likewise.
6351 * grub-core/video/cirrus.c (find_card): Likewise.
6352 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6353 * grub-core/video/sis315pro.c (find_card): Likewise.
6354 * grub-core/video/sm712.c (find_card): Likewise.
6355
608b647a
CW
63562012-12-28 Colin Watson <cjwatson@ubuntu.com>
6357
6358 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6359 Fixes Savannah bug #37821.
6360
fd49ceb3
CW
63612012-12-28 Colin Watson <cjwatson@ubuntu.com>
6362
6363 Apply program name transformations at build-time rather than at
6364 run-time. Fixes Debian bug #696465.
6365
6366 * acinclude.m4 (grub_TRANSFORM): New macro.
6367 * configure.ac: Create output variables with transformed names for
6368 most programs.
6369 * util/bash-completion.d/grub-completion.bash.in: Use
6370 pre-transformed variables for program names.
6371 * util/grub-install.in: Likewise.
6372 * util/grub-kbdcomp.in: Likewise.
6373 * util/grub-mkconfig.in: Likewise.
6374 * util/grub-mkconfig_lib.in: Likewise.
6375 * util/grub-mknetdir.in: Likewise.
6376 * util/grub-mkrescue.in: Likewise.
6377 * util/grub-mkstandalone.in: Likewise.
6378 * util/grub-reboot.in: Likewise.
6379 * util/grub-set-default.in: Likewise.
6380 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6381 * tests/util/grub-shell-tester.in: Remove unused assignment.
6382 * tests/util/grub-shell.in: Likewise.
6383 * util/grub.d/00_header.in: Likewise.
6384
7024b3c0
CW
63852012-12-28 Colin Watson <cjwatson@ubuntu.com>
6386
6387 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6388
6389 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6390 HAVE_RAW_DECL_GETS.
6391 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6392
e3501b13
VS
63932012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6396 Reported by: Eriks Latosheks <foresterlv>.
6397
b40c88a9
VS
63982012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * docs/grub.texi (Network): Update instructions on generating netboot
6401 image.
6402
ce96d01c
VS
64032012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6406 around device name if necessarry.
6407
0f596201
PFS
64082012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6409
6410 * util/grub-install.in: Follow the symbolic link parameter added
6411 to the file command.
6412
600d5bdb
AB
64132012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6414
6415 * util/grub-install.in: Remove stale TODO.
6416
64ebd2f4
PFS
64172012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6418
6419 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6420 dynamic allocation for the bootpath buffer.
6421
74b2fe3e
DTB
64222012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6423
6424 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6425 window too small.
6426
969b804f
VS
64272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6430 argument rather than font name. All users updated.
6431 (grub_gfxterm_set_window): Likewise.
6432
b9f5ebd6
VT
64332012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6434
6435 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6436 from working.
6437
258f43b7
VS
64382012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/getroot.c (convert_system_partition_to_system_disk): Support
6441 nbd disks.
6442
cc1ce5f9
VS
64432012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6446 infinite loop on corrupted FS.
6447
e77a16ca
VS
64482012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 Fix big-endian mtime.
6451
6452 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6453 together sec and usec.
6454 (grub_ufs_dir): Use correct byteswapping for UFS time.
6455
d9c48c7b
VS
64562012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 Support big-endian UFS1.
6459
6460 * Makefile.util.def (libgrubmods): Add ufs_be.c
6461 * grub-core/Makefile.core.def (ufs1_be): New module.
6462 * grub-core/fs/ufs_be.c: New file.
6463 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6464 the file.
6465
2f9f40ba
LL
64662012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6467
6468 * include/grub/types.h: Fix functionality unaffecting typo in
6469 GRUB_TARGET_WORDSIZE conditional macro.
6470
48ff0889
PFS
64712012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6472
6473 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6474
03711240
GS
64752012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6476
6477 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6478 that /netbsd appears first (when it exists).
6479
a31b11bd
CJ
64802012-10-12 Christoph Junghans <ottxor@gentoo.org>
6481
6482 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6483 Fixes Savannah bug #37558.
6484
e8a5d5d4
CW
64852012-10-12 Colin Watson <cjwatson@ubuntu.com>
6486
6487 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6488 description of extract_entries_configfile.
6489
64902012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6491
6492 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6493 preferred_address.
6494 (grub_cmd_linux): Likewise.
6495 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6496 preferred_lifetime. Update all users.
6497
288c757d
CW
64982012-09-26 Colin Watson <cjwatson@ubuntu.com>
6499
6500 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6501 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6502
0d35da3f
CW
65032012-09-26 Colin Watson <cjwatson@ubuntu.com>
6504
6505 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6506 errors from grub-probe to /dev/null, not stdout.
6507
b78c3127
VS
65082012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6511 sector 1.
6512
473959f0
CW
65132012-09-24 Colin Watson <cjwatson@ubuntu.com>
6514
6515 * util/grub-install.in: Make the error message if $source_dir
6516 doesn't exist more useful.
6517
794c8c33
CW
65182012-09-22 Colin Watson <cjwatson@ubuntu.com>
6519
6520 Fix grub-emu build on FreeBSD.
6521
6522 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6523 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6524 headers on Linux.
6525 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6526 implementation is currently Linux-specific.
6527 * util/getroot.c (exec_pipe): Define only on Linux or when either
6528 libzfs or libnvpair is unavailable.
6529 (find_root_devices_from_poolname): Remove unused path variable.
6530
86d08fdb
CW
65312012-09-19 Colin Watson <cjwatson@ubuntu.com>
6532
6533 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6534 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6535 should fit before end == 63.
6536
735abf54
CW
65372012-09-19 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * util/grub-setup.c (write_rootdev): Remove unused core_img
6540 parameter. Update all callers.
6541 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6542 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6543 GRUB_SETUP_BIOS.
6544
140acd3c
VS
65452012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6548 (grub_add_tab): New function.
6549 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6550 * util/grub.d/10_illumos.in: Likewise.
6551 * util/grub.d/10_kfreebsd.in: Likewise.
6552 * util/grub.d/10_linux.in: Likewise.
6553 * util/grub.d/10_netbsd.in: Likewise.
6554 * util/grub.d/10_windows.in: Likewise.
6555 * util/grub.d/10_xnu.in: Likewise.
6556 * util/grub.d/20_linux_xen.in: Likewise.
6557 * util/grub.d/30_os-prober.in: Likewise.
6558
7ddffdad
VS
65592012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6562 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6563 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6564 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6565 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6566 ieee1275-nocursor.
6567 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6568 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6569
4e092454
VS
65702012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6573 le-conversion.
6574 Reported by: BURETTE, Bernard.
6575
735abf54 65762012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6577
6578 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6579 from comment.
6580
dfd39dbd
CW
65812012-09-14 Colin Watson <cjwatson@ubuntu.com>
6582
6583 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6584 IEEE1275 machines. Fixes powerpc-emu compilation.
6585 * include/grub/terminfo.h: Likewise.
6586
3bfa763c
VS
65872012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6590 a const pointer.
6591 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6592 const pointer.
6593 (efiemu_set_variable): Make vendor_guid a const pointer.
6594
250e475b
VS
65952012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 Don't require grub-mkconfig_lib to generate manpages for programs.
6598
6599 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6600 dependencies, don't add grub-mkconfig_lib.
6601 (program): Pass empty adddeps.
6602 (script): Pass grub-mkconfig_lib as adddeps.
6603
592fd0e4
VS
66042012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6607 * util/getroot.c (grub_find_device): Likewise.
6608 (get_mdadm_uuid): Likewise.
6609 (grub_util_is_imsm): Likewise.
6610 (grub_util_pull_device): Likewise.
6611 * util/grub-probe.c (probe): Likewise.
6612
801a3027
BG
66132012-09-10 Benoit Gschwind <gschwind>
6614
6615 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6616 (devs): Add devpath_8.
6617
c5052c81
PJ
66182012-09-08 Peter Jones <pjones@redhat.com>
6619
6620 * grub-core/Makefile.core.def (efifwsetup): New module.
6621 * grub-core/commands/efi/efifwsetup.c: New file.
6622 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6623 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6624 New define.
6625 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6626
8e832f71
JS
66272012-09-05 Jiri Slaby <jslaby@suse.cz>
6628
6629 * configure.ac: Add SuSe path.
6630
f0f55752
CW
66312012-09-05 Colin Watson <cjwatson@ubuntu.com>
6632
6633 * NEWS: Fix typo.
6634
ecadc4c2
CW
66352012-09-05 Colin Watson <cjwatson@ubuntu.com>
6636
6637 * util/import_gcry.py: Sort cipher_files, to make build system
6638 generation more deterministic.
6639
64498f25
VS
66402012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6643 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6644 (grub_set_datetime): Likewise.
6645
9cc836a2
VS
66462012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6649 warnings.
6650
bcfcea01
VS
66512012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6654
a4099485
VS
66552012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6658
265c162a
CW
66592012-09-04 Colin Watson <cjwatson@ubuntu.com>
6660
6661 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6662 required for checkouts from bzr, but it may be useful for users or
6663 distributors wishing to update translations against a tarball
6664 distribution, and it can be helpful for the tarball to be a superset
6665 of what's in bzr.
6666
3d171e95
CW
66672012-09-04 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * Makefile.am (EXTRA_DIST): Add
6670 grub-core/tests/boot/linux.init-mips.S,
6671 grub-core/tests/boot/linux.init-ppc.S, and
6672 grub-core/tests/boot/linux-ppc.cfg.
6673
f2c2503e
CW
66742012-09-04 Colin Watson <cjwatson@ubuntu.com>
6675
6676 * grub-core/mmap/mips/loongson: Remove empty directory.
6677
66782012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6679
6680 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6681 gone.
6682
ab2163d5
CW
66832012-09-04 Colin Watson <cjwatson@ubuntu.com>
6684
6685 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6686 grub-sparc64-setup.
6687
ce938140
GS
66882012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6689
6690 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6691
529f58a5
GS
66922012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6693
6694 * po/POTFILES.in: Regenerated.
6695
16cf79e9
GS
66962012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6697
6698 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6699 (NetBSD): New subsection.
6700
39b27f1e 67012012-07-22 Ales Nesrsta <starous@volny.cz>
6702
6703 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6704 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6705
a885261b
VS
67062012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6709 * util/grub.d/10_hurd.in: Add missing quoting.
6710 * util/grub.d/10_illumos.in: Likewise.
6711 * util/grub.d/10_kfreebsd.in: Likewise.
6712 * util/grub.d/10_linux.in: Likewise.
6713 * util/grub.d/20_linux_xen.in: Likewise.
6714
7bd29c01
VS
67152012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 New command `lsefi'.
6718
6719 * grub-core/Makefile.core.def (lsefi): New module.
6720 * grub-core/commands/efi/lsefi.c: New file.
6721 * include/grub/efi/api.h: Add more GUIDs.
6722
ac625d8f
VS
67232012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6726 (grub_bsd_elf32_hook): Likewise.
6727 (grub_bsd_elf64_size_hook): Likewise.
6728 (grub_bsd_elf64_hook): Likewise.
6729 (grub_bsd_load_elf): Likewise.
6730
e73bb801
VS
67312012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6734 if hash function is unavailable.
6735 (dec_stream_header): Likewise.
6736
e81db8b5
VS
67372012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6740 filter state.
6741
d187a1c3
VS
67422012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Fix coreboot compilation.
6745
6746 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6747 (grub_vga_text_init_real): ... this.
6748 (grub_vga_text_fini): Rename to ...
6749 (grub_vga_text_fini_real): ... this.
6750
91a05f64
VS
67512012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6754
6af96df7
VS
67552012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * grub-core/lib/legacy_parse.c: Support clear and testload.
6758
4d569e12
VS
67592012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6762
073b57bb
VS
67632012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6766
a706f4cc
VS
67672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/net/tftp.c (ack): Fix endianness problem.
6770 (tftp_receive): Likewise.
6771 Reported by: Michael Davidsaver.
6772
e7850aa9
VS
67732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6776
67772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6780 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6781 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6782
35692881
VS
67832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6786 efi_mmap_size.
6787 Reported by: Stuart Hayes.
6788
c35fc5bd
VS
67892012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6792
6793 * grub-core/Makefile.core.def (mda_text): New module.
6794 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6795 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6796 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6797 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6798 here.
6799 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6800 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6801 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6802 here.
6803 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6804 to ..
6805 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6806 ... here
6807 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6808 here.
6809 * grub-core/term/i386/vga_common.c: Removed.
6810 * include/grub/i386/vga_common.h: Likewise.
6811 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6812 (grub_vga_cr_bw_read): Likewise.
6813 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6814 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6815 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6816 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6817 grub_vga_cr_read/grub_vga_cr_write.
6818 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6819
5f91f701
VS
68202012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * configure.ac: Bump version to 2.00.
6823 * grub-core/normal/main.c (features): Add feature_200_final.
6824
0c4f85f6
VS
68252012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
68262012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6827
6828 * NEWS: Fix unclarity and language mistakes.
6829
f923ad22
VS
68302012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6833 additional size to 3 pages.
6834 Reported by: Stuart Hayes.
6835
d22029ba
VS
68362012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * NEWS: Add 2.00 entry.
6839
58eee08f
VS
68402012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6843 put explicit "/" for empty path.
6844 (wildcard_expand): Improve dprintf.
6845
c59bdff7
VS
68462012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6849 it's equal to currnode. This can happen with "" symlink.
6850
5e6a440a
YB
68512012-06-27 Yves Blusseau <blusseau@zetam.org>
6852
6853 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6854 echo shell command by printf command.
6855
73a68bcb
VS
68562012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6859 the value returned by firmware is the maximal position, not diumension.
6860 (grub_terminfo_output_state): Use a more sane fallback.
6861
392a603b
VS
68622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6865
42d0867f
VS
68662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6869 frequency to 150 MHz.
6870
489509f4
VS
68712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 Apple fixes.
6874
6875 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6876 __APPLE_
6877 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6878 definition.
6879 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6880
9f3fc883
VS
68812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 Handle slash in HFS label.
6884
6885 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6886 (grub_hfs_dir): Tanslate slash.
6887 (grub_hfs_label): Don't translate slash.
6888
54853fd7
VS
68892012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6892 network protocol listing since it introduces problematic dependency on
6893 net module.
6894
4dc02ddf
VS
68952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6898
c50c867d
VS
68992012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 Init video early on yeeloong to avoid being rebooted by watchdog.
6902
6903 * grub-core/Makefile.am (gensm712): New target.
6904 (sm712_start.S): Likewise.
6905 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6906 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6907 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6908 description.
6909 * include/grub/vga.h: Move registry definitions to...
6910 * include/grub/vgaregs.h: ... here.
6911
5f92c8a1
VS
69122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6915 signedness.
6916
e9e6f111
VS
69172012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6920 platforms with firmware disk drivers in the core.
6921
754ad9eb
VS
69222012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6925 informative verbose message.
6926 (read_lv): Handle 64-bit segment size.
6927
315654c2
VS
69282012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6931
fb022c79
VS
69322012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6935 character but still remove trainling spaces.
6936 (grub_fat_label): Ignore archive flag.
6937
8645f72c
VS
69382012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6941 cast between linux_kernel_header and linux_kernel_params.
6942
36498496
VS
69432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6946 type for size.
6947 (grub_raid6_recover_func_t): Likewise.
6948 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6949 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6950
0b5ea6b8
VS
69512012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6954
650cfcfe
GS
69552012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6956
6957 Fix overflow.
6958
6959 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6960 [__NetBSD__]: Add explicit cast before bitshift.
6961
8a4d6a44
VS
69622012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * configure.ac: Bump to 2.00~rc1.
6965
2fb97ed3
VS
69662012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6969 half of $a0.
6970
1fa097dc
VS
69712012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
69722012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6973
6974 * docs/grub.texi: Fix search syntax.
6975 (Multi-boot manual config): Put msdos rather than GPT example.
6976 Grammar corrections.
6977
c890ba78
VS
69782012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6981
0f92dca7
VS
69822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6985
3988c4a0
VS
69862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6989 message on double free. Put the value of magic in case of mismatch.
6990
9e86d4c5
VS
69912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 Speed-up video on yeeloong.
6994
6995 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6996 add cached_ptr.
6997 (grub_video_sm712_video_fini): Unmap cached_ptr.
6998 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6999 (grub_video_sm712_set_active_render_target): Removed.
7000 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7001 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7002 sync caches.
7003
ed24c312
VS
70042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Avoid flushing the same line multiple times on loongson.
7007
7008 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7009 Step in 32 bytes and not 1 byte.
7010 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7011 Likewise.
7012
d1718e7d
VS
70132012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7016 subvolumes.
7017
982f1909
VS
70182012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 Implement flow control for http.
7021
7022 * grub-core/net/http.c (parse_line): Handle response 206.
7023 (http_receive): Stall if too many packets are in the queue.
7024 (http_establish): Fix range header.
7025 (http_seek): Fix double free.
7026 (http_close): Likewise.
7027 (http_packets_pulled): New function.
7028 (grub_http_protocol): Set http_seek
7029 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7030 (ack_real): Set window depending on i_stall.
7031 (grub_net_send_tcp_packet): Likewise.
7032 (grub_net_tcp_stall): New function.
7033 (grub_net_tcp_unstall): Likewise.
7034 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7035 (grub_net_tcp_unstall): Likewise.
7036
bd407d6e
VS
70372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7040
c7564b8e
VS
70412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7044
a3706162
VS
70452012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * tests/util/grub-shell.in: Fix a typo.
7048
b27069e0
VS
70492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Implement flow control for tftp.
7052
7053 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7054 packets but stop only if stop condition is satisfied.
7055 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7056 `stall' instead of `eof' as stop condition.
7057 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7058 (http_err): Likewise.
7059 * grub-core/net/tftp.c (ack): Replace the first argument with data
7060 instead of socket.
7061 (tftp_receive): Stall if too many packets are in wait queue.
7062 (tftp_packets_pulled): New function.
7063 (grub_tftp_protocol): Set packets_pulled.
7064 * include/grub/net.h (grub_net_packets): New field count.
7065 (grub_net_put_packet): Increment count.
7066 (grub_net_remove_packet): Likewise.
7067 (grub_net_app_protocol): New field `packets_pulled'.
7068 (grub_net): New field `stall'.
7069
6b9cfac6
VS
70702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7073 sync part to handle them.
7074
f35abd81
VS
70752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7078 * grub-core/net/drivers/ieee1275/ofnet.c
7079 (grub_ieee1275_net_config_real): Likewise.
7080
0e7ec820
VS
70812012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7084 the direct route for server/gateway.
7085
9d611a31
VS
70862012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7089 IP address to server name since we may not hame the DNS.
7090
418f45ab
VS
70912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7094 freeing random buffer on failure.
7095 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7096
44a0efc1
VS
70972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7100
531e2241
VS
71012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7104 reserved bytes.
7105 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7106 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7107 Handle malloc error correctly.
7108
cde393c9
VS
71092012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7112 blocks.
7113
538478d0
VS
71142012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7117 increment.
7118
9b55efe0
VS
71192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7122 none is explicitly specified.
7123
9eb832c3
VS
71242012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7127 while reallocating.
7128
d6b7c7c9
VS
71292012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Respect netmask from bootp/dhcp.
7132
7133 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7134 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7135 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7136 into ...
7137 (grub_net_add_ipv4_local): ... this.
7138 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7139 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7140 (grub_net_add_ipv4_local): New proto.
7141
67caf9eb
VS
71422012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7145 determining EFI memory map size.
7146
43657558
VS
71472012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7150
eb6d0dd3
VS
71512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7154 when looking for partition separator.
7155
31230544
VS
71562012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7159 Escape commas.
7160
918a2517
VS
71612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 Restructure FAT driver to avoid hook in label reading as it hits a
7164 GCC bug.
7165
7166 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7167 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7168 (grub_fat_iterate_dir): Split into ...
7169 (grub_fat_iterate_init): ... this, ...
7170 (grub_fat_iterate_fini): ... this, ...
7171 (grub_fat_iterate_dir_next): ... and this. All users updated.
7172
9f1d654e
VS
71732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7176 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7177 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7178 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7179 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7180 New fields last_key and last_key_time.
7181 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7182 extended key-esc into extended key-extended key.
7183
52f0f643
VS
71842012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Avoid unnecessary memcpy of whole video buffer.
7187
7188 * grub-core/video/fb/video_fb.c (dirty): New struct.
7189 (framebuffer): Add members current_dirty and previous_dirty.
7190 (dirty): New function.
7191 (grub_video_fb_fill_rect): Update dirty.
7192 (common_blitter): Likewise.
7193 (grub_video_fb_scroll): Likewise.
7194 (doublebuf_blit_update_screen): Copy only dirty part.
7195 (doublebuf_pageflipping_update_screen): Likewise.
7196 (grub_video_fb_doublebuf_blit_init): Init dirty.
7197 (doublebuf_pageflipping_init): Likewise.
7198 (grub_video_fb_setup): Likewise.
7199
e169a180
VS
72002012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7203 poll rate.
7204
48556879
VS
72052012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 Fix wildcard regexp dot and other special characters handling.
7208 Reported by: Robert Mabee.
7209
7210 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7211 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7212 (split_path): Trigger expansion on '?'.
7213 (unescape): New function.
7214 (wildcard_expand): Unescape parts copied without globbing.
7215 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7216 (grub_script_arglist_to_argv): Don't unescape expansions.
7217
0494408e
VS
72182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * include/grub/net.h (grub_net_card): New member txbufsize.
7221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7222 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7223 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7224 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7225 txbufsize.
7226 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7227 compatible property to check for macs. Set
7228 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7229 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7230 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7231 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7232 (send_card_buffer): Use txbuf.
7233 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7234 nested function out of the parent while on it.
7235
cc35fe8f
VS
72362012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7239 presence check.
7240 (grub_ieee1275_net_config_real): Fix config pointer.
7241
970a0a09
VS
72422012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7245 filename parsing to non-block devices.
7246
3e19bf87
VS
72472012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7250
c62d1a0c
VS
72512012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7254 All users updated.
7255
ef76bec3
VS
72562012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7259 UUID search command even if hints probing failed.
7260
72612012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7262
7263 * po/POTFILES.in: Regenerated.
7264
70aaf305
VS
72652012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 Speed-up video on fuloong.
7268
7269 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7270 New function.
7271 (grub_pci_device_unmap_range): Handle non-cached address.
7272 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7273 add direct_ptr.
7274 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7275 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7276 (grub_video_sis315pro_set_active_render_target): Removed.
7277 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7278 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7279 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7280 sync caches.
7281 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7282 New proto.
7283
10400f0b
VS
72842012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * docs/grub.texi (Multi-boot manual config): New section.
7287
ba67e2c6
VS
72882012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 Avoid slow read-back from VRAM.
7291
7292 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7293 Move from here ...
7294 * grub-core/video/fb/video_fb.c
7295 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7296 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7297 (front_target): Remove front_target. Add pages.
7298 (grub_video_fb_init): Skip setting front_pages.
7299 (grub_video_fb_fini): Likewise.
7300 (doublebuf_blit_update_screen): Use pages.
7301 (grub_video_fb_doublebuf_blit_init): Likewise.
7302 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7303 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7304 (grub_video_fb_setup): Prefer doublebuffing.
7305
377c98cb
VS
73062012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7309 gzio.
7310
eac49cff
VS
73112012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Add loongson tests.
7314
7315 * tests/util/grub-shell.in: Handle loongson.
7316 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7317 drivers.
7318 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7319 Reboot instead of shutdown if REBOOT is defined.
7320
0321415e
VS
73212012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7324 sized ports since unlike on real hardware qemu supports only 32-bit
7325 regs.
7326
3f2bdd8f
VS
73272012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7330 * util/grub-mkrescue.in: Handle loongson.
7331
29a049c9
VS
73322012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7335 Set is_part appropriately.
7336 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7337 names. Canonicalize partition without full disk.
7338
4abde346
VS
73392012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 Revert usb-quiesce since it's wrong.
7342
7343 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7344 (grub_ofdisk_init): Don't do quiesce.
7345
61f1d93b
VS
73462012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7349 PowerMac workaround to Xserves as well.
7350 Information supplied by: Benjamin Herrenschmidt.
7351
a09eb541
VS
73522012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Don't assume that beginning address is also the entry point on ppc.
7355
7356 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7357 (grub_linux_boot): Use linux_entry.
7358 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7359 (grub_linux_load64): Likewise.
7360
505b3c9b
VS
73612012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7364
cbe0b4ef
VS
73652012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7368 needlessly lose the console.
7369
3006e981
VS
73702012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7373 space.
7374
4e5a96b0
VS
73752012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7376
7da036bb
VS
7377 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7378 than current grub_get_rtc() not implemented when booted with
7379 coreboot without TSC.
7380
7381 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7382 Add machine/time.h to kernel headers on loongson.
7383 * grub-core/Makefile.core.def (kernel): Remove
7384 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7385 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7386 (grub_get_rtc): Likewise.
7387 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7388 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7389 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7390 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7391 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7392 rather than installing known non-working time source.
7393 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7394 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7395 * include/grub/time.h: Don't include machine/time.h.
7396 * include/grub/efi/time.h: Removed.
7397 * include/grub/i386/efi/time.h: Likewise.
7398 * include/grub/i386/ieee1275/time.h: Likewise.
7399 * include/grub/powerpc/ieee1275/time.h: Likewise.
7400 * include/grub/sparc64/ieee1275/time.h: Likewise.
7401 * include/grub/x86_64/efi/time.h: Likewise.
7402
74032012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7406
7407 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7408 value.
7409 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7410 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7411 with dotless variants when any combining above is present.
7412
5561c22d
VS
74132012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7416 text and not binary.
7417
96f7e60e
VS
74182012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 Stop polling as soon as we have the packet we were waiting for.
7421
7422 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7423 All users updated.
7424 * grub-core/net/arp.c (have_pending): New var.
7425 (pending_req): Likewise.
7426 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7427 stop indicator.
7428 (grub_net_arp_receive): Set have_pending.
7429 * grub-core/net/dns.c (recv_data): New field stop.
7430 (recv_hook): Set stop.
7431 (grub_net_dns_lookup): Init stop and use as stop condition.
7432 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7433 condition.
7434 * grub-core/net/net.c (grub_net_poll_cards): New argument
7435 stop_condition. Stop when it goes true.
7436 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7437 indicator.
7438 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7439
3e747239
VS
74402012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 Keep TX and RX buffers on EFI rather than always allocate new ones.
7443
7444 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7445 card. All users updated.
7446 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7447 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7448 (get_card_packet): Likewise.
7449 (grub_efinet_findcards): Init new fields.
7450
f695e99a
VS
74512012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7454 compilation error on sparc64.
7455
9e5e66d1
VS
74562012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 Use ITC on IA64 rather than broken routine based on daytime.
7459
7460 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7461 ia64.
7462 (grub_get_rtc) [__ia64__]: Likewise.
7463 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7464 (get_itc): New function.
7465 (grub_rtc_get_time_ms): Likewise.
7466 (grub_machine_init): Calibrate ITC.
7467 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7468 Keep only on non-ia64. Don't export since it's broken and used only
7469 if TSC is unavailable.
7470
a1767404
VS
74712012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7474 even if it's used.
7475 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7476 Skip if parent is unused.
7477
34b2bced
VS
74782012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7481
5e619f40
VS
74822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 Fix wildcard escaping.
7485
7486 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7487 * grub-core/script/execute.c (wildcard_escape): .. to here.
7488 Don't escape dot.
7489 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7490 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7491 Don't escape dot.
7492 * grub-core/script/execute.c (gettext_append): Always escape.
7493 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7494 * grub-core/script/yylex.l: Don't cut away the escaping.
7495 * tests/grub_script_echo1.in: Add tests with wildcard.
7496
c8ca5855
VS
74972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7500 (ftdi_hw_configure): Likewise.
7501 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7502 define.
7503 (real_config): Handle 1.5 stop bits.
7504 (pl2303_hw_configure): Likewise.
7505
7183452c
VS
75062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * Makefile.am: Add ppc linux bootcheck.
7509 * grub-core/tests/boot/linux-ppc.cfg: New file.
7510 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7511
f57c84cd
VS
75122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * tests/grub_script_expansion.in: Skip network protocols.
7515
ecfc6207
VS
75162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7519
8d03d284
VS
75202012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7523 --rom-directory.
7524 Add -graft-points.
7525
61c42af0
VS
75262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 ESCC serial driver for conducting sautomated tests in qemu.
7529 Not tested on real hardware.
7530
7531 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7532 * grub-core/term/ieee1275/escc.c: New file.
7533 * grub-core/Makefile.core.def (escc): New module.
7534
08fd1291
VS
75352012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7538 invalid on error.
7539 (serial_hw_fetch): Don't read invalid handle.
7540 (serial_hw_put): Don't write into invalid handle.
7541
08dafeea
VS
75422012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 Add a 1.5 stop bits value.
7545
7546 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7547 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7548 GRUB_SERIAL_STOP_BITS_1_5.
7549
9068fdcf
VS
75502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7553 value rather than let it uninited.
7554
f4d5820f
VS
75552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/commands/wildcard.c (+check_file): New function.
7558 (wildcard_expand): Don't expand to non-existing files, expand with
7559 suffix and not attempt to expand if not needed.
7560
3d2de9a7
VS
75612012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7564 out of partitions containing other partitions.
7565
c5c81ff9
VS
75662012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7569 on some qemu versions with GRUB.
7570
7571 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7572 define.
7573 (grub_openbsd_bootarg_pcibios): New struct.
7574 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7575 Add PCIINFO.
7576
08a14e0b
VS
75772012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * tests/util/grub-shell.in: Trim firmware output on EFI.
7580
cede3ca3
VS
75812012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7584 and coreboot since it's already in kernel.
7585
558d3a60
VS
75862012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7589 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7590 to here. New return value start. All users updated.
7591 Recursively scan linear mappings.
7592 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7593 proto.
7594 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7595 Use grub_util_get_dm_node_linear_info.
7596 * util/getroot.c (convert_system_partition_to_system_disk): Use
7597 grub_util_info rather than grub_dprintf.
7598 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7599
60fde14d
VS
76002012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7603
7604 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7605 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7606
24bd8838
VS
76072012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * include/grub/types.h (grub_set_unaligned64): New function.
7610 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7611 (setup): Likewise.
7612
7bc06a49
VS
76132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7616 (grub_ofdisk_fini): Quiesce USB devices.
7617
49cea015
VS
76182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7621 caches.
7622
8dcbe03b
VS
76232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7626
5b258735
VS
76272012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/disk/pata.c (grub_pata_pio_read)
7630 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7631 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7632
37ba07eb
VS
76332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 Extend automated tests to qemu-mips.
7636
7637 * Makefile.am: reorganise tests and enable qemu-mips.
7638 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7639 * grub-core/tests/boot/linux.init-mips.S: New file.
7640 * tests/partmap_test.in: Handle ata0 disks.
7641 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7642 non-pc i386.
7643
070038f8
VS
76442012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7647 ia64.
7648 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7649 quotes while on it.
7650
004be2cd
VS
76512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7654 (grub_halt): Likewise.
7655 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7656
b1622487
VS
76572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/term/serial.c (grub_serial_register)
7660 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7661 the behaviour in line with x86 platforms.
7662
b7b4ab33
VS
76632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7666 (grub_ata_strncpy): Likewise.
7667 (grub_ata_identify): Add missing byteswaps.
7668
5e3535ae
VS
76692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7672 byte-swap.
7673 (screen_read_char): Likewise.
7674 (grub_vga_text_cls): Likewise.
7675
c21b17e6
VS
76762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7679 filenames.
7680 (make_file_path): Likewise.
7681
bf293dec
VS
76822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7685 machines.
7686 Tested by: Paulo Flabiano Smorigo.
7687 Crucial information about API supplied by: Coleen <Last name unknown>.
7688 Reviewed by: Coleen <Last name unknown>.
7689
81f6ef0e
VS
76902012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * util/grub-mkimage.c: Disable -Wcast-align.
7693
7284143a
VS
76942012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7697 as they are fatal.
7698
b99f3e00
VS
76992012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7702
944f752d
VS
77032012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * util/grub-probe.c (escape_of_path): Fix double free.
7706
6cce6f38
VS
77072012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/commands/videoinfo.c (hook): Show pitch.
7710
1e1eb50e
VS
77112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7714
1c715b5a
VS
77152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7718 (probe): Add ieee1275 to OFW devices.
7719
007ae52d
VS
77202012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7723
4557a36d
VS
77242012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 Handle IBM OFW path.
7727
7728 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7729 available.
7730 (of_path_of_scsi): Handle vdevice.
7731
efbeefe9
VS
77322012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7735 Allocate in multiples of 16 to avoid adding a few bytes free region the
7736 windows bugs upon.
7737
15a940bb
VS
77382012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7741 Allocate in multiples of 16 to avoid adding a few bytes free region the
7742 windows bugs upon.
7743 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7744
6e5efd60
VS
77452012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7748 resolutions.
7749 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7750 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7751
0d3d137e
IS
77522012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7753
7754 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7755
45dbe300
VS
77562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7759 resulted in \\ at the end of the line.
7760
6d8db947
VS
77612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7764 (grub_parser_cmdline_state): Likewise.
7765 (grub_parser_split_cmdline): Likewise.
7766
de89d338
VS
77672012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7770 /dev/root and /dev/dm-*.
7771
00d41dee
VS
77722012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7775 fix partially stale display.
7776
f95d1f11
VS
77772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7780 substraction.
7781
6297e197
VS
77822012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7785 Fix MBR remapping workaround.
7786 (grub_util_biosdisk_read) [__linux__]: Likewise.
7787
8a7ecad3
VS
77882012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7791
2b34f944
VS
77922012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * configure.ac: Bump to beta6.
7795
684aef11
CW
77962012-05-31 Christer Weinigel <christer@weinigel.se>
7797
7798 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7799
05b0bb91
VS
78002012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7803 (grub_cmd_linux): Likewise.
7804
bda36bfa
CW
78052012-05-31 Christer Weinigel <christer@weinigel.se>
7806
7807 Fix EHCI low-speed.
7808
7809 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7810 (GRUB_EHCI_MULT_TWO): Likewise.
7811 (GRUB_EHCI_MULT_THREE): Likewise.
7812 (GRUB_EHCI_CMASK_MASK): New enum value.
7813 (GRUB_EHCI_SMASK_MASK): Likewise.
7814 (GRUB_EHCI_CMASK_OFF): Likewise.
7815 (GRUB_EHCI_SMASK_OFF): Likewise.
7816 (grub_ehci_pci_iter): Enable periodic schedule.
7817 (grub_ehci_parse_notrun): Likewise.
7818 (grub_ehci_restore_hw): Likewise.
7819 (grub_ehci_setup_qh): Set flags for low speed transfers.
7820 (grub_ehci_find_qh): Use periodic list for low speed.
7821 (grub_ehci_setup_transfer): Check periodic queue as well.
7822 (grub_ehci_check_transfer): Likewise.
7823 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7824
e12bcb1c
PFS
78252012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7826
7827 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7828 parameter is used.
7829
bcc75fb3
PJ
78302012-05-31 Peter Jones <pjones@redhat.com>
7831
7832 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7833 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7834 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7835
f19cb95e
VS
78362012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7839 uninited variable. Allocate at least setup_sects.
7840
a4e5ca80
VS
78412012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 Fix handling of EFI with big memory maps.
7844
7845 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7846 (real_mode_mem): Likewise.
7847 (real_mode_target): Likewise.
7848 (real_mode_pages): Likewise.
7849 (prot_mode_pages): Likewise.
7850 (linux_params): New var.
7851 (linux_cmdline): Likewise.
7852 (free_pages): Don't set real mode variables.
7853 (allocate_pages): Don't allocate real mode memory.
7854 (grub_e820_add_region): Remove the limit.
7855 (grub_linux_boot): Allocate and copy real mode memory.
7856 (grub_linux_unload): Free linux_cmdline.
7857 (grub_cmd_linux): Use temporary storage for parameters.
7858 (grub_cmd_initrd): Likewise.
7859 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7860 (linux_kernel_params): Make it 1K big.
7861
ddb73558
VS
78622012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * Makefile.util.def: Remove -Wno-format.
7865 * grub-core/Makefile.core.def: Likewise.
7866
1c4afb60
VS
78672012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * tests/cmp_unit_test.c: Add missing failure message.
7870 * tests/example_unit_test.c: Likewise.
7871 * tests/printf_unit_test.c: Likewise.
7872
941e3a6d
VS
78732012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7876 relaxation of protective MBR requirements.
7877
b105df76
VS
78782012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * configure.ac: Add condition for COND_HOST_XNU.
7881 * Makefile.util.def (10_xnu): New script.
7882 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7883
84e1569e
VS
78842012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7887 objconv bug.
7888
130c0f77
VS
78892012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7892 Binary on other platforms stays identical.
7893
6fd0b143
VS
78942012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7897 Apple.
7898
0af1751d
VS
78992012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7902
176d5f7d
VS
79032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7906 rather than defining size_t ourselves to avoid conflict.
7907
7de5e20a
VS
79082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7911 initialisation to avoid __bzero reference.
7912
f7143efe
VS
79132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7916 version.
7917 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7918 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7919 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7920 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7921 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7922
e6ad0555
VS
79232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7926 * grub-core/kern/misc.c: Likewise.
7927 * grub-core/loader/i386/xnu.c: Likewise.
7928 * include/grub/i386/tsc.h: Likewise.
7929 * include/grub/symbol.h: Likewise.
7930
4a5a3c4a
VS
79312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7934 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7935 on older compiler.
7936
037f6d90
VS
79372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7940 Implement Apple flavour.
7941 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7942
f7194551
VS
79432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7946 (memmove) [__APPLE__]: Likewise.
7947 (memcpy) [__APPLE__]: Likewise.
7948 (memset) [__APPLE__]: Likewise.
7949 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7950 (memmove) [__APPLE__]: Likewise.
7951 (memcpy) [__APPLE__]: Likewise.
7952 (memset) [__APPLE__]: Likewise.
7953
85a730ca
VS
79542012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7957 dependency discard.
7958
40e80b94
VS
79592012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/normal/main.c (read_config_file): Provide config_file and
7962 config_directory.
7963 * util/grub.d/41_custom.in: Use config_directoy when available.
7964
9da59c32
VS
79652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7968 (grub_bfs_dir): Likewise.
7969
2787ae53
PJ
79702012-05-27 Peter Jones <pjones@redhat.com>
7971
7972 The old code gives arguments to a printf function which can't work
7973 correctly, and the compiler complains.
7974
7975 * grub-core/tests/example_functional_test.c (example_test): Add
7976 missing text.
7977 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7978 * include/grub/test.h (grub_test_assert_helper): New declaration.
7979 (grub_test_assert): Use grub_test_assert_helper.
7980
526ef13d
VS
79812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7984 (exfctest): ... this to avoid overlong filenames.
7985 All users updated.
7986
20dd511c
VS
79872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 Handle "." and ".." on squashfs.
7990
7991 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7992 Make inode numbers into stack.
7993 (grub_squash_read_symlink): Use stack.
7994 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7995 (make_root_node): Fill stack.
7996 (grub_squash_open): Use stack.
7997
1d80c62a
VS
79982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8001 freeing.
8002
d336f652
VS
80032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8006 stderr on test calls.
8007
8b43f587
VS
80082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8011
80a3dc3f
VS
80122012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8015
47e297d4
VS
80162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8019 "..".
8020
df042ccb
VS
80212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8024 (grub_hfsplus_iterate_dir): Add "." and "..".
8025
fc977f48
VS
80262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8029 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8030
f3250e5f
VS
80312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8034 (find_path): Handle "." and "..".
8035
fd8ed4c5
VS
80362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8039 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8040 (grub_affs_iterate_dir): Handle hardlinks.
8041
4ce776d2
MG
80422012-05-26 Matthew Garrett <mjg@redhat.com>
8043
8044 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8045 (grub_efi_console_fini): Likewise.
8046 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8047 (grub_video_gop_fill_mode_info): Rename to ...
8048 (grub_video_gop_fill_real_mode_info): ... this.
8049 (grub_video_gop_fill_mode_info): New function.
8050 (grub_video_gop_setup): Setup double framebuffer.
8051 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8052 Free offscreen.
8053 (grub_video_gop_swap_buffers): Copy framebuffer.
8054 (grub_video_gop_fini): Free offscreen buffer.
8055 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8056 New enum.
8057 (grub_efi_gop_blt_pixel): New struct.
8058
683031ba
VS
80592012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * gentpl.py: Remove error disabling for objconv.
8062
c2deb798
VS
80632012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * configure.ac: Remove -Wunitialized as it's not available on older
8066 compilers.
8067
80682012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8069
8070 Fix extent overflow comparator.
8071
8072 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8073 (grub_hfsplus_read_block): Set type.
8074 (grub_hfsplus_cmp_extkey): Compare type.
8075
d6b1fd36
VS
80762012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8079
0a9aa0f6
VS
80802012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8083 than 0.
8084
8360e159
VS
80852012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8088 (dejavu_bold_14.pf2): New target.
8089
501b9e4b
VS
80902012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * configure.ac: Fix djvu font detection.
8093
7026b0e2
VS
80942012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8097 ext* instead of ext2.
8098
c2a51ade
VS
80992012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8102 name with \0.
8103
8f803a5d
JU
81042012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8105
8106 * docs/grub-dev.texi: Remove dot from .png.
8107
13c6353f
VS
81082012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8111 protective entry in any slot.
8112 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8113 if protective entry is found in any slot.
8114
8115 Protective entry in non-first slot make no sense but is a widespread
8116 brain damage.
8117
4cf6be1b
VS
81182012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8121
937d1c44
VS
81222012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8125 with old reiserfs.
8126 (grub_reiserfs_open): Don't free root.
8127
021d90ec
VS
81282012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8131 after freeing for safety.
8132
967b2b64
VS
81332012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8136 Reported by: Jordan Uggla.
8137
34274d02
JU
81382012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8139
967b2b64
VS
8140 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8141 actual implementation. Specifically, clarify that the grub menu will
8142 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8143 passed.
34274d02 8144
dcaaae9d
BH
81452012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8146
8147 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8148 of r0.
8149
7086ad52
VS
81502012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Remove unjustified hard dependency of normal.mod on gfxterm.
8153
8154 * include/grub/term.h (grub_term_output): New member fullscreen.
8155 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8156 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8157 (grub_gfxterm): Set .fullscreen.
8158 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8159 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8160
37ed2c9b
VS
81612012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8164 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8165 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8166
a4469c88
VS
81672012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8170
4e461486
VS
81712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8174 a bad FS.
8175
aa78f5c4
VS
81762012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8179 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8180
197626b5
VS
81812012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8184 (grub_jfs_mount): Fill caseins.
8185 (grub_jfs_find_file): Respect caseins.
8186
8ad3f28c
VS
81872012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8190 through UTF-16.
8191
0c6c324e
VS
81922012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8195 New argument origpath. All users updated.
8196
c6666ba6
VS
81972012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8200 (read_attr): Ensure that we read start of possibly compressed block.
8201
e28e5fe5
VS
82022012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8205 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8206 All users updated.
8207
5fc23ab2
VS
82082012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8211 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8212 (dejavu.pf2): Replace with ...
8213 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8214 this.
8215
79dbc21c
VS
82162012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * util/grub.d/20_linux_xen.in: Add missing line.
8219
d2fcfb0c
VS
82202012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8223 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8224 (grub_utf16_to_utf8): Likewise.
8225
5560e9d6
VS
82262012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8229 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8230 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8231 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8233 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8234
82352012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8236
8237 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8238 a bad FS.
8239
5560e9d6 82402012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8241
8242 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8243 (grub_udf_read_symlink): Handle read_string failure.
8244
5eae3175
VS
82452012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8248 comment.
8249
c1ad82db
VS
82502012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 Fix handling of UDF symlinks.
8253
8254 * grub-core/fs/udf.c (read_string): New argument outbuf.
8255 All users updated.
8256 (grub_ufs_read_symlink): Rename to ...
8257 (grub_udf_read_symlink): ... this. All users updated.
8258 Handle symlinks with more than one component.
8259
33eca6e0
VS
82602012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8263 symlinks. Replace leading colon with a slash.
8264
57f4a70b
VS
82652012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8268 filename.
8269
38c8ee20
VS
82702012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8273 match in inner node.
8274
2e57f28f
VS
82752012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8278 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8279 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8280 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8281 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8282 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8283 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8284 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8285 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8286
fe8c2f11
VS
82872012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 Use grub-probe and not cmp to check that disk is empty.
8290
8291 * util/grub-install.in: Use grub-probe for zero-check.
8292 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8293 (probe): Handle PRINT_ZERO_CHECK.
8294 (argp_parser): Handle -t zero_check.
8295
82962012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8297
8298 Flush block cache on adding disk to device map.
8299
8300 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8301 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8302 adding.
8303 (read_device_map): Likewise.
8304 (open_device): Flush on opening.
8305
690434e8
VS
83062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8309 (handle_symlink): Fix off-by-one error.
8310 Canonicalize the target.
8311 (grub_cpio_dir): Canonicalize the name.
8312 Fix memory leak.
8313 Set directory.
8314 (grub_cpio_open): Canonicalize the name.
8315
742d2be6
VS
83162012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8319 handling.
8320
3244fe96
VS
83212012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8324 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8325
8aeb1837
VS
83262012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8329 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8330 All users updated.
8aeb1837 8331
9133fd05
VS
83322012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8335 counterpart.
8336
6d521c5b
VS
83372012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 Fix UFS1 big file support.
8340
8341 * grub-core/fs/ufs.c (INODE): Removed.
8342 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8343 64-bit.
8344 (INODE_MODE): Simplify.
8345 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8346 (grub_ufs_lookup_symlink): Don't use INODE.
8347
21b82e17
VS
83482012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8351
8352 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8353 (grub_minix_data): Replace log_block_size with block_size.
8354 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8355 (grub_minix_mount): Fill block_size.
8356
83572012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8358
8359 * configure.ac: Bump to beta5.
8360
f417ed04
VS
83612012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 Fix wrapped HFS+ handling.
8364
8365 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8366 blocks_start. All users updated.
8367 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8368 wrapping offset.
8369 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8370
607d282b
VS
83712012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 Fix long symlinks on reiserfs.
8374
8375 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8376 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8377 (grub_reiserfs_iterate_dir): Save size for non-directories.
8378 (grub_reiserfs_open): Don't reread stat block as we already know the
8379 size.
8380 (grub_reiserfs_read): Split into...
8381 (grub_reiserfs_read_real): ... and ...
8382 (grub_reiserfs_read): ...this.
8383
ae16024d
VS
83842012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 Fix non-indexed JFS.
8387
8388 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8389 (grub_jfs_data): New field namecomponentlen.
8390 (grub_jfs_mount): Fill namecomponentlen.
8391 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8392
eea1e26e
VS
83932012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8396 * tests/grub_script_echo1.in: Add tests.
8397
df760f77
VS
83982012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8399
8400 * util/grub-install.in: Ignore empty devicetree directory.
8401
5efb817d
B
84022012-05-08 Bean <bean123ch@gmail.com>
8403
8404 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8405 All users updated.
8406 (free_rsm): Free header as well.
8407 (free_old_fragments): Fix memory leak.
8408 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8409 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8410 (destroy_pq): Likewise.
8411 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8412
668ea6d2
VS
84132012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8416 resulting hash as a precaution.
8417
1739b1fe
VS
84182012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8421 '_' in variable names.
8422 * grub-core/net/net.c (grub_net_network_level_interface_register):
8423 Likewise.
8424
6ae485aa
VS
84252012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 Fix AFFS with non-512B blocks.
8428
8429 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8430 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8431 (grub_affs_data): Replace blocksize with log_blocksize.
8432 (grub_affs_read_block): Fix non-512B blocks.
8433 (grub_affs_read_symlink): Likewise.
8434 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8435 (grub_affs_read): Fix non-512B blocks.
8436 (grub_affs_label): Likewise.
8437 (grub_affs_mtime): Likewise.
8438 (grub_affs_mount): Fix block detection routine.
8439
d20fab84
VS
84402012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 Add filesystem mtime to AFFS.
8443
8444 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8445 (aftime2ctime): New function.
8446 (grub_affs_dir): Use aftime2ctime.
8447 (grub_affs_label): Fix return value.
8448 (grub_affs_mtime): New function.
8449 (grub_affs_fs): Add mtime.
8450
e87b10f5
VS
84512012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8454 UTF-8.
8455
7dceec9b
VS
84562012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8459 UTF-8.
8460
2f48221f
VS
84612012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8464
dacd85cf
VS
84652012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8468 flags.
8469 (FLAGS_CASE_SENSITIVE): New enum value.
8470 (cache_entry): New struct.
8471 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8472 cache_size and cache.
8473 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8474 Add log_blocksize and fshelp_flags.
8475 (grub_sfs_read_extent): Handle non-512 blocks.
8476 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8477 (grub_sfs_read_file): Handle non-512 blocks.
8478 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8479 fshelp_flags.
8480 (grub_sfs_read_symlink): Handle non-512 blocks.
8481 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8482 (grub_sfs_dir): Free cache.
8483 (grub_sfs_close): Likewise.
8484
24e9a854
VS
84852012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8488 filesystems.
8489
62ace64d
VS
84902012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8493
83b2e89c
VS
84942012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8497
75ccaea3
VS
84982012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8501 (grub_sfs_read_extent): Likewise.
8502 (grub_sfs_read_block): Likewise.
8503 (grub_sfs_mount): Likewise.
8504 (grub_sfs_iterate_dir): Likewise.
8505 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8506 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8507
1b8463f2
VS
85082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Fix errors on compressed NTFS with 512B clusters.
8511
8512 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8513 types.
8514 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8515 not 0.
8516 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8517 Relax check for inline extents.
8518 (ntfscomp): Return correct -1 on error and not 0.
8519
4f8e368f
VS
85202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * util/grub-install.in: Fix handling of prefix containing spaces.
8523
6f5d5ee8
VS
85242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8527 (grub_squash_read_data): Fix offset byte-swapping.
8528
ce41ab7a
VS
85292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8532 per common usage and preffered in several parts of code.
8533 (grub_memcmp): Likewise.
8534 (grub_strncmp): Likewise.
8535 * include/grub/misc.h (grub_strcasecmp): Likewise.
8536 (grub_strncasecmp): Likewise.
8537 * Makefile.util.def (cmp_test): New test.
8538 (grub_script_strcmp): Likewise.
8539 * tests/cmp_unit_test.c: New file.
8540 * tests/grub_script_strcmp.in: Likewise.
8541 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8542
49717bf4
VS
85432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * include/grub/pci.h: Move enums into no-asm part.
8546
0a308f64
VS
85472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8550
1796965f
ST
85512012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8552
8553 * util/getroot.c (find_hurd_root_device): Try to make error message
8554 and comments to translators clearer.
8555
4e9b2819
VS
85562012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8559
076aeb50
VS
85602012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8563 btrfs.
8564
19424d94
VS
85652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * docs/grub.cfg: Update.
8568
ebb73076
VS
85692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * docs/grub.texi (PXE): Remove not present variables.
8572
9a1b669c
VS
85732012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * grub-core/net/net.c (defserver_set_env): New function.
8576 (defserver_get_env): Likewise.
8577 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8578
d38bf7d3
VS
85792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8582 entries.
8583
85842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8585
8586 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8587 * grub-core/kern/emu/hostdisk.c: Likewise.
8588
e5e4ca48
ST
85892012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8590
8591 Handle hurd userspace partitions.
8592
8593 * util/getroot.c (find_hurd_root_device): New function.
8594 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8595
56bb5dd5
VS
85962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8599 names.
8600 Reported by: Bastian Blank.
8601
9e8bc27a
VS
86022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8605 crossing page boundary.
8606
aa01499d
VS
86072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 Fix B-tree search in BFS, especially in presence of non-ASCII
8610 characters.
8611
8612 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8613 (find_in_b_tree): Use standard bsearch + btree algorithm.
8614
57006035
VS
86152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8618 and so on.
8619
9d34bb85
MG
86202012-05-03 Matthew Garrett <mjg@redhat.com>
86212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 Suspend broadcom cards in order to stop their DMA.
8624
8625 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8626 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8627 (pci): Don't build on x86 EFI.
8628 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8629 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8630 New function.
8631 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8632 stop_broadcom if running on EFI.
8633 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8634 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8635 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8636 (grub_pci_find_capability): New proto.
8637
01aab997
VS
86382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * docs/grub.texi: Remove dot from the extension as it apparently
8641 doesn't work with some makeinfo versions.
8642
fbd8dca6
VS
86432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8646 with GRUB expectance.
8647
dab797f4
VS
86482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8651
1516bfb4
VS
86522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8655 zero after directory block since last entry may be not 0-terminated if
8656 it ends on block boundary. Use continue instead of if spanning whole
8657 loop.
8658
a3a0eace
VS
86592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 Support 4K sectors UDF inline files.
8662
8663 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8664 (grub_udf_extended_file_entry): Likewise.
8665 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8666 All users updated.
8667 (get_fshelp_size): New function.
8668 (grub_udf_read_icb): Read whole block.
8669 (grub_udf_iterate_dir): Likewise.
8670 (grub_udf_dir): Likewise.
8671 (grub_udf_open): Likewise.
8672
c82f16c1
VS
86732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8676
59fd2aac
VS
86772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8680 inline symlinks in addition to workaround.
8681
3b4afb4d
VS
86822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8685
f45c794a
VS
86862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8689
f25cecbd
VS
86902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8693
bb9a34e8
VS
86942012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 Fix reiserfs big seek times.
8697
8698 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8699 exact. All users updated.
8700 (grub_reiserfs_read): Use nearest btree search for seeking.
8701 Fix return value on error.
8702
dc478aea
VS
87032012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8706 entries.
8707 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8708 * docs/grub.texi: Update menuentry description.
8709
8db10f47
VS
87102012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8711
8712 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8713 crash when embedding onto filesystem.
8714
bcb288ed
VS
87152012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8718 name.
8719
a626fdd7
VS
87202012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8723
b2f68477
VS
87242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8727 commit.
8728
ba15b2af
B
87292012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
87302012-05-01 Bean <bean123ch@gmail.com>
8731
8732 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8733
a188012e
VS
87342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8737 Special behaviour for len = 0 to read whole file isn't used anywhere and
8738 can cause buffer ovewrflows in several places.
8739
f0a53ed2
VS
87402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8743
5ed554f0
VS
87442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 Handle RAIDZ on non-512B sectors.
8747
8748 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8749 max_children_ashift.
8750 (fill_vdev_info_real): Fill max_children_ashift.
8751 (read_device): Use max_children_ashift.
8752
ddc58357
VS
87532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8756
e3282399
VS
87572012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8760 disk names.
8761 * docs/grub.texi: Update device.map parts.
8762
ee618bd4
VS
87632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Don't scan into non-diskfilter devices having diskfilter names.
8766
8767 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8768 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8769 handling.
8770 (scan_disk_hook): New function.
8771
bdf88864
B
87722012-04-29 Bean <bean123ch@gmail.com>
8773
8774 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8775 allocation.
8776
32745f51
MK
87772012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8778
8779 * configure.ac: Detect starfield theme font path
8780 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8781
bc95c8c0
VS
87822012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8785 geometry on serial consoles.
8786
147fbcab
VS
87872012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8790 because of network consoles.
8791
0f42c889
VS
87922012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8795 handling.
8796
4a3594c9
VS
87972012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8800 falls on Q syndrom.
8801
5cb53879
VS
88022012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8805 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8806
b282dfe5
VS
88072012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8810 Allocate at lest 8192 for temporary buffer as required for lzo.
8811
daa59f47
VS
88122012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8815 to cluster_bits, since it's already added in.
8816 (grub_fat_read_data): Likewise.
8817
986748ce
VS
88182012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8821 as long as cluster size is multiple of 512 bytes.
8822
a20f6ad0
VS
88232012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * util/grub-mkrescue.in: Fix locale directory.
8826
385f9abb
VS
88272012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/kern/emu/hostdisk.c (map): Make static.
8830
1c557d30
B
88312012-04-23 Bean <bean123ch@gmail.com>
8832
8833 * util/grub-fstest.c (fstest): Add missing break.
8834
524b5d3a
ST
88352012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8836
8837 Fix hurd build.
8838
8839 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8840 not define nr variable.
fe4824e9 8841 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8842 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8843 grub_find_device): Do not define.
524b5d3a 8844
9a06490c
VS
88452012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 Fix kfreebsd compile and behaviour.
8848
8849 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8850 format-security.
8851 * util/getroot.c: Fix wait.h include.
8852 (grub_guess_root_devices): Error if grub_find_device fails.
8853 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8854 (grub_util_get_dev_abstraction): Likewise.
8855 (grub_util_pull_device): Likewise.
8856 (grub_util_get_grub_dev): Likewise.
8857 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8858
48143d96
VS
88592012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 Fix and unify wholedisk detection.
8862
8863 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8864 is_part. All users updated.
8865 (device_is_wholedisk): Removed.
8866 (grub_util_biosdisk_get_grub_dev): Use is_part.
8867
ebbd24f3
VS
88682012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8871 mode.
8872
56f7aa1e
VS
88732012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * configure.ac: Bump to beta4.
8876
9c815e01
VS
88772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8880 --fs-uuid --set UUID syntax.
8881
59e2651a
VS
88822012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8885 disunification.
8886
54e03cfc
VS
88872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8890
81092a75
MK
88912012-04-18 Mads Kiilerich <mads@kiilerich.com>
8892
8893 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8894
f8315e14
MG
88952012-04-18 Mike Gilbert <floppym@gentoo.org>
8896
8897 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8898
1501ac21
B
88992012-04-18 Bean <bean123ch@gmail.com>
8900
8901 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8902 place.
8903
cb7f944e
VS
89042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8907 users updated.
8908 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8909 corresponding to GRUB partitions.
8910 (grub_util_biosdisk_write): Likewise.
8911
b72d44a1
VS
89122012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 Scan mdraid before LVM.
8915
8916 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8917 (grub_diskfilter_register_front): ... this.
8918 (grub_diskfilter_register_back): New function.
8919 All users of grub_diskfilter_register updated.
8920
33d918b8
VS
89212012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * util/grub-install.in: Fix an automatic target detection bug.
8924
c6ca973d
VS
89252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * util/grub-install.in: New option --efi-directory.
8928
b41be562
VS
89292012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8932 boot services if we have no other choice.
8933
89342012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8937 document it.
8938 * tests/util/grub-shell.in: Update to --directory.
8939
e0595a73
VS
89402012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8943
4ed80652
VS
89442012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8947 (grub_minix_read_file): Likewise.
8948 (grub_minix_read_inode): Likewise.
8949 (grub_minix_find_file): Likewise.
8950 (grub_minix_dir): Likewise.
8951
56008077
VS
89522012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * util/grub-setup.c (setup): Fix partition handling and blocklist
8955 check.
8956
ee520775
VS
89572012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8960 redundant buggy overlap check.
8961
16fc9293
VS
89622012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8965 and grub-mknetdir.
8966
9bab65c4
VS
89672012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8970 kh.loadflags on pre-2.00 kernels.
8971
3c491b47
VS
89722012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 Terminate UNDI and PXE before launching the payload to avoid problems
8975 with DMA.
8976
8977 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8978 (grub_loader_flags): ... this. All users updated.
8979 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8980 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8981 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8982 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8983 function.
8984 (grub_pxe_restore): Likewise.
8985 (fini_hnd): New var.
8986 (GRUB_MOD_INIT): Register shutdown hook.
8987 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8988 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8989 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8990 (grub_loader_set): Rename second argument to flags.
8991
851ffada
VS
89922012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8995 written bytes.
8996 (grub_get_num_of_utf8_bytes): New function.
8997 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8998 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8999 executing it.
9000 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9001 (grub_ucs4_to_utf8): Change return type.
9002
491c57a8
VS
90032012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9006 warning.
851ffada
VS
9007 * grub-core/fs/bfs.c (hop_level): Likewise.
9008 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9009
756773df
VS
90102012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/lib/adler32.c: Recode due to license unclearness.
9013
fd556a96
VS
90142012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9017 (test_header): Likewise.
9018
9f9d3f69
VS
90192012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 Fix --help formatting.
9022
9023 * util/grub-mkconfig_lib.in (print_option_help): New function.
9024 (grub_fmt): Likewise.
9025 * util/grub-install.in: Use print_option_help and grub_fmt.
9026 * util/grub-kbdcomp.in: Likewise.
9027 * util/grub-mkconfig.in: Likewise.
9028 * util/grub-mknetdir.in: Likewise.
9029 * util/grub-mkrescue.in: Likewise.
9030 * util/grub-mkstandalone.in: Likewise.
9031 * util/grub-reboot.in: Likewise.
9032 * util/grub-set-default.in: Likewise.
9033 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9034
561ec77e
VS
90352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * linguas.sh: Remove autogenerated *.po.
9038
7ec2b021
VS
90392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * po/README: Move language fetcing to ...
9042 * linguas.sh: ... here.
9043 * po/README: Point to linguas.sh.
9044
a88f3270
VS
90452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * po/README: Exclude ko.po due to disclaimer problems.
9048
d61357ce
VS
90492012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9052 len = 0.
9053 (grub_gettext_translate_real): Handle 0th string.
9054 (grub_gettext_translate): Ensure that "" isn't translated.
9055
505e41dc
VS
90562012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9059 TRANSLATORS comment.
9060 (grub_diskfilter_print_partmap): Propagate changing of error into
9061 warning.
9062
e44092db
VS
90632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9066 to uint64_t to prevent overflow.
9067 (grub_diskfilter_lv): Increase start_extent and extent_count
9068 to uint64_t to prevent overflow.
9069
9b83956a
VS
90702012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * configure.ac: Increase version.
9073
da0d5b3f
VS
90742012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9077
9078 * po/Rules-translit: New file.
9079 * po/arabic.sed: Likewise.
9080 * po/cyrillic.sed: Likewise.
9081 * po/greek.sed: Likewise.
9082 * po/hebrew.sed: Likewise.
9083 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9084 * po/Makefile.in.in: Add extra_dist4.
9085
ac66b453
VS
90862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9089
9090 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9091 modify names. Introduce MODE_BIGENDIAN.
9092 * grub-core/fs/minix_be.c: New file.
9093 * grub-core/fs/minix2_be.c: Likewise
9094 * grub-core/fs/minix3_be.c: Likewise.
9095 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9096 minix3_be.
9097 * grub-core/Makefile.core.def (minix_be): New module.
9098 (minix2_be): Likewise.
9099 (minix3_be): Likewise.
9100
91012012-04-01 Felix <email@hamburg.de>
9102
9103 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9104 (devs): Add MBP 2011.
9105
0a2d5a82
VS
91062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9109
d1625889
VS
91102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * grub-core/normal/cmdline.c (print_completion): New field
9113 prompt_len.
9114 (grub_cmdline_get): Handle width properly.
9115
6d36a236
VS
91162012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9119
9576977e
VS
91202012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9123 after 29th of February.
9576977e 9124
d73ff15d
VS
91252012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 Fix exfat endianness handling.
9128
9129 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9130 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9131 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9132 Byte-swap utf16 when necessary.
9133 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9134
bbb39a45
AB
91352012-03-31 Anton Blanchard <anton@samba.org>
91362012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 Fix btrfs endianness handling.
9139
9140 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9141 (lower_bound): Make root uint64_t. Use root in le.
9142 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9143 (find_path): Fix template key init.
9144 (grub_btrfs_dir): Fix mtime byteswap.
9145 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9146
354e0af7
VS
91472012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9150 recursion_depth. Break infinite resursions. All users updated.
9151
4e75f21c
VS
91522012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9155 after free.
9156 Reported by: Peter Jones.
9157
25581802
AB
91582012-03-31 Anton Blanchard <anton@samba.org>
9159
9160 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9161 8 bit values.
9162
08fbf92e
VS
91632012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * util/grub-install.in: Fix nvram call for PreP.
9166
5d1182a6
VS
91672012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9170 the error when some elements are missing into a warning.
9171
3f8cdd90
VS
91722012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9175
51006716
CW
91762012-03-28 Colin Watson <cjwatson@ubuntu.com>
9177
9178 * docs/grub.texi (Invoking grub-probe): New section.
9179 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9180
e1bd676b
VS
91812012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 Fix tab and wide character handling in editor and menu.
9184
9185 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9186 agglomerate control characters with combining marks.
9187 (bidi_line_wrap): Allow break on tab.
9188 (grub_unicode_get_comb_start): New function.
9189 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9190 and tab correctly.
9191 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9192 with a space.
9193 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9194 fixed_tab_size. All users updated.
9195 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9196 (grub_term_getcharwidth): Handle \t.
9197 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9198 and copy.
9199
22e6a774
VS
92002012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Handle big-endian mdraid.
9203
9204 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9205 * grub-core/Makefile.core.def (mdraid09_be): New module.
9206 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9207 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9208 * grub-core/disk/mdraid_linux_be.c: New file.
9209
3c0eae66
VS
92102012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9213
b6cf74c9
VS
92142012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9217 missing quotes which caused confusion among translators.
9218
83c93b9c
VS
92192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * util/grub-mkconfig_lib.in: Fix typo.
9222
ac6fd218
VS
92232012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9226 spaces.
9227 * tests/grub_script_leading_whitespace.in: New file.
9228 * Makefile.util.def (grub_script_leading_whitespace): New test.
9229
ba287dd8
VS
92302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9233 to work.
9234
d2d58d0a
VS
92352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9238 starts with control character.
9239
0382d9bb
VS
92402012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9243 overflow.
9244 (grub_gdb_outbuf): Likewise.
9245
d83ff9f9
VS
92462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9249 zero terminator. Fixes a crash.
9250
2282da4a
VS
92512012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9254 beyond 4 GiB.
9255 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9256 images independently of preffered adderss field.
9257
0ae4f0bd
VS
92582012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9261 * grub-core/commands/regexp.c: Likewise.
9262 * grub-core/loader/i386/linux.c: Likewise.
9263 * grub-core/partmap/msdos.c: Likewise.
9264 * grub-core/script/execute.c: Likewise.
9265 * grub-core/term/gfxterm.c: Likewise.
9266
546fbe9b
VS
92672012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 Add variable parsing in $"..." and fix several mismatches with bash.
9270
9271 * Makefile.util.def (grub_script_gettext): New test.
9272 * grub-core/script/execute.c (parse_string): New function.
9273 (gettext_append): Likewise.
9274 (grub_script_arglist_to_argv): Use gettext_append.
9275 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9276 * tests/grub_script_gettext.in: New file.
9277
9fdb2d7b
VS
92782012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 Fix handling of leading spaces in scripts.
9281
9282 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9283 spaces.
9284 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9285 other than skipping \r. All users updated.
9286 * tests/grub_script_echo1.in: Add space-related tests.
9287 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9288
1a1ac4f6
VS
92892012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9292
b63d89b6
VS
92932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * configure.ac: Bump up the version to beta2.
9296
17f38c0f
VS
92972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 Fix gettext reload bugs (e.g. inability to disable gettext
9300 once enabled).
9301
9302 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9303 main_context and secondary_context. All functions updated.
9304 (grub_gettext_translate): Rename to ...
9305 (grub_gettext_translate_real): ... this. Return NULL on failed
9306 translate.
9307 (grub_gettext_translate): Handle secondary context.
9308 (grub_gettext_delete_list): Close file and zero-out the context.
9309 (grub_mofile_open): Don't call grub_gettext_delete_list.
9310 Don't close file.
9311 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9312 if locale="" to avoid pointless error message.
9313 (grub_gettext_env_write_lang): Update lang even if load fails.
9314 Handle secondary context.
9315 (grub_gettext_reread_prefix): New function.
9316 (read_main): Likewise.
9317 (read_secondary): Likewise.
9318 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9319 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9320 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9321 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9322
8e56f870
VS
93232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * configure.ac: Decrease warning level to avoid spurious warnings and
9326 to be able to compile with GCC 4.2.
9327 * Makefile.util.def: Remove -Wno-error=logical-op.
9328
82f6d455
WB
93292012-03-10 William Bittner <william.bittner@gmail.com>
9330
9331 * util/import_unicode.py: Add missing brackets around string for
9332 python 3 support.
9333
1ecd61a4
VS
93342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 Fix efi chainloader on network root.
9337
9338 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9339 network devices.
9340 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9341 New function.
9342
14361ee8
VS
93432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9346 unused show_text member.
9347 * docs/grub.texi: Document "text" property.
9348
922aabf3
VS
93492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9352 in dprintf.
9353
ec316771
VS
93542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 Fix IMSM handling on Fedora.
9357
9358 * util/getroot.c (grub_util_is_imsm): New function.
9359 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9360
0f021838
VS
93612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * Makefile.am: Strip gold section.
9364 * conf/Makefile.common: Likewise.
9365 * gentpl.py: Likewise.
9366 * grub-core/Makefile.core.def: Likewise.
9367 * grub-core/genmod.sh.in: Likewise.
9368
1039c8eb
VS
93692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9372 * util/grub.d/20_linux_xen.in: Likewise.
9373 Based on Debian patch.
9374
6dd412cd
VS
93752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * util/grub.d/10_linux.in: Fix syntax error resulting in
9378 Richard Laager's patch.
9379 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9380
3fd8bae5
VS
93812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9384 dependencies.
9385
7eea1671
RL
93862012-03-10 Richard Laager <rlaager@wiktel.com>
9387
9388 * util/grub.d/10_linux.in: Fix ZFS root passing.
9389
e8e0566b
VS
93902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9393 * grub-core/commands/xnu_uuid.c: Likewise.
9394 * grub-core/loader/efi/appleloader.c: Likewise.
9395 * grub-core/script/execute.c: Likewise.
9396 * grub-core/script/main.c: Likewise.
9397 * util/grub-mkfont.c: Likewise.
9398
1acc5b1f
VS
93992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * util/grub-mkfont.c (options): Use more appropriate "select" that
9402 "set" for face index.
9403
35d70620
VS
94042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * util/grub-editenv.c (options): Gettextize command summaries.
9407
c9eb96b5
VS
94082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9411 "out of memory" error messagge.
9412
1f493136
VS
94132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9416 of diskfilter for diskfilter on diskfilter support.
9417
6d790129
VS
94182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9421
005f46c9
VS
94222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9425 themes/starfield.
9426
c8f778a0
VS
94272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9430
de1e64eb
VS
94312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9434
c6d54211
VS
94352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9438 of error message.
9439
dd390777
VS
94402012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9443
5fd1c522
VS
94442012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9447 message.
c6d54211 9448 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9449
fae01f6c
VS
94502012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9453 Gettextize.
9454 * util/grub-mount.c (options): Likewise.
9455
292fdaff
VS
94562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9459 gettextize.
9460 * grub-core/commands/search_wrap.c (options): Likewise.
9461
ecdbae77
VS
94622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9465
52bfedfa
VS
94662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9469 size calculation.
9470 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9471 none is known.
9472
55b20e58
VS
94732012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9476 "temporary" since it's used in identifier and is limited in space.
9477
fda9d101
VS
94782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * po/POTFILES.in: Regenerate. Include *.h since they contain
9481 translatable strings as well.
9482
6a0295e2
VS
94832012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9486 byte-swap on big-endian.
9487 Reported by: Lennart Sorensen
9488
807fb77c
VS
94892012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9492 (allocate_pages): Improve dprintf.
9493 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9494 code32_start. Fill code32_start and kernel_alignment in params.
9495 (grub_cmd_initrd): Use prot_init_space.
9496
61ac50ba
VS
94972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9500
abdd26dd
VS
95012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * util/grub-install.in: Add missing dot at the end of sentence.
9504
6e69da9c
VS
95052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9508 * grub-core/commands/videotest.c: Likewise.
9509 * grub-core/loader/i386/linux.c: Likewise.
9510
4a929343
VS
95112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9514 sentence.
9515 Reported by: Milo Casagrande.
9516
bb51c6c6
VS
95172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9520 * grub-core/commands/gptsync.c: Likewise.
9521 * grub-core/commands/hashsum.c: Likewise.
9522 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9523 * grub-core/commands/legacycfg.c: Likewise.
9524 * grub-core/io/gzio.c: Likewise.
9525 * grub-core/net/net.c: Likewise.
9526 * grub-core/term/gfxterm.c: Likewise.
9527 * grub-core/term/terminfo.c: Likewise.
9528 * grub-core/tests/test_blockarg.c: Likewise.
9529 * grub-core/video/video.c: Likewise.
9530 * util/grub-install.in: Likewise.
9531 * util/grub-mkfont.c: Likewise.
9532
b2b149cb
VS
95332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9536
c7c080ad
VS
95372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9540 Reported by: David Prévot.
c7c080ad 9541
f2e243c0
VS
95422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9545 description.
9546
09963c76
VS
95472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * util/grub-script-check.c (main): Fix a syntax error message which was
9550 unclear.
9551
a50514a8
VS
95522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9555
4650daec
VS
95562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9559 messages.
9560
95612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9562
9563 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9564 without argument.
9565 * util/grub-mount.c (options): Likewise.
9566
bbc5a342
VS
95672012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9570
ef292a87
VS
95712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/net/http.c: Add TRANSLATORS comments.
9574 * grub-core/normal/cmdline.c: Likewise.
9575 * grub-core/normal/misc.c: Likewise.
9576 * grub-core/partmap/msdos.c: Likewise.
9577 * grub-core/parttool/msdospart.c: Likewise.
9578 * grub-core/script/execute.c: Likewise.
9579 * grub-core/script/main.c: Likewise.
9580 * grub-core/term/terminfo.c: Likewise.
9581 * grub-core/video/bitmap.c: Likewise.
9582 * util/grub-install.in: Likewise.
9583 * util/grub-mkimage.c: Likewise.
9584 * util/grub-mklayout.c: Likewise.
9585 * util/grub-setup.c: Likewise.
9586
0fc19bd0
VS
95872012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9590 with similar messages in grub-fstest.
9591
d95862ef
VS
95922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * util/grub-install.in: Unify "option requires an argument" message
9595 with similar messages in other files.
9596 * util/grub-mkconfig.in: Likewise.
9597
b7308f90
VS
95982012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * util/grub-set-default.in: Replace printf with gettext_printf (the
9601 string in in question is already translated from grub-reboot)
9602
559dc587
VS
96032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * configure.ac: Bump up the version to beta1.
9606
1a11761f
VS
96072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9610 case when min_align = 0.
9611
24539abd
VS
96122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9615 and fix a case when line_start overflows.
9616
32bd735b
VS
96172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * util/grub-reboot.in (usage): Mention id posibility.
9620 * util/grub-set-default.in (usage): Likewise.
9621
1a2fd1e6
VS
96222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9625 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9626 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9627 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9628 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9629 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9630 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9631
90eeab76
VS
96322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/commands/menuentry.c (options): Remove
9635 GRUB_ARG_OPTION_REPEATABLE.
9636 Reported by: Andreas Vogel
9637
5ad1be82
AV
96382012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9639
9640 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9641
cb055286
HE
96422012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9643
9644 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9645 error.
9646
93b1cd79
VS
96472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 Use sort -V by the idea of Georgi Georgiev.
9650
9651 * util/grub-mkconfig_lib.in (version_sort): New function.
9652 (version_test_numeric): Use version_sort.
9653
0cdc126c
VS
96542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 Use submenus in grub-mkconfig.
9657
9658 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9659 * util/grub-mkconfig_lib.in (grub_quote): New function.
9660 (gettext_printf): Use gettext and not gettext_quoted to fix several
9661 messages.
9662 * util/grub.d/10_hurd.in: Use submenus.
9663 * util/grub.d/10_kfreebsd.in: Likewise.
9664 * util/grub.d/10_linux.in: Likewise.
9665 * util/grub.d/10_netbsd.in: Likewise.
9666 * util/grub.d/20_linux_xen.in: Likewise.
9667 * util/grub.d/30_os-prober.in: Likewise.
9668 * util/grub.d/10_illumos.in: Add missing quoting.
9669 * util/grub.d/10_windows.in: Likewise.
9670
d9bef9bc
VS
96712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 Fix menu title instability bug.
9674
9675 * grub-core/commands/menuentry.c (options): New option --id.
9676 (grub_normal_add_menu_entry): New argument id. All users updated.
9677 (grub_cmd_menuentry): Handle --id.
9678 (grub_menu_init): Accept unknown arguments.
9679 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9680 feature_menuentry_options.
9681 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9682 saved_entry.
9683 (get_entry_number): Match with id as well.
9684 * include/grub/menu.h (grub_menu_entry): New member id.
9685 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9686 * util/grub.d/00_header.in: Define menuentry_id_option.
9687 * util/grub.d/10_hurd.in: Define id.
9688 * util/grub.d/10_illumos.in: Likewise.
9689 * util/grub.d/10_kfreebsd.in: Likewise.
9690 * util/grub.d/10_linux.in: Likewise.
9691 * util/grub.d/10_netbsd.in: Likewise.
9692 * util/grub.d/10_windows.in: Likewise.
9693 * util/grub.d/20_linux_xen.in: Likewise.
9694 * util/grub.d/30_os-prober.in: Likewise.
9695
96962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9697
9698 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9699 "scope" with "body".
9700
7c8d0ce7
VS
97012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9704 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9705 prot_size and prot_file_size.
9706
49de079b
VS
97072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9710 All users updated. If easily=1 require raid-5/-6 to be full.
9711 (is_node_readable): Likewise.
9712 (scan_devices): Scan incomplete but readable LVs at the end.
9713 (grub_diskfilter_memberlist): Pull missing devices.
9714 (insert_array): Skip scanning until device is complete or scan is
9715 done otherwise.
9716 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9717 check.
9718 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9719 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9720
aff05d45
MG
97212012-03-03 Matthew Garrett <mjg@redhat.com>
97222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Avoid EFI boot services when loading Linux.
9725
9726 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9727 avoid_efi_bootservices. All users updated.
9728 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9729 argument avoid_efi_bootservices. All users updated.
9730 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9731 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9732 align, min_align, relocatable, prefered_address. All users updated.
9733 Allocate avoiding boot services if kernel is relocatable.
9734 (grub_cmd_linux): Check if kernel is relocatable.
9735 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9736 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9737 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9738 avoid_efi_boot_services.
9739 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9740 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9741 (linux_kernel_params): Likewise.
9742
3935dde2
MG
97432012-03-03 Matthew Garrett <mjg@redhat.com>
97442012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 Use EDID on EFI.
9747
9748 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9749 datasize_out.
9750 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9751 modes. Set gop_handle.
9752 (grub_video_gop_get_edid): New function.
9753 (grub_gop_get_preferred_mode): Likewise.
9754 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9755 (grub_video_efi_gop_adapter): Set .get_edid.
9756 * include/grub/efi/edid.h: New file.
9757 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9758
32107ec0
VS
97592012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * util/grub-install.in: Load efivars unconditionally.
9762
e70a2c50
VS
97632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9764
9765 * po/Rules-piglatin: Change suffix from .po-update-en to
9766 .po-update-en-piglatin.
9767
8f9cace1
VS
97682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 Add a pig farm.
9771
9772 * po/piglatin.sed: New file.
9773 * po/en@piglatin.header: Likewise.
9774 * po/Rules-piglatin: Likewise.
9775 * po/README: Add en@piglatin to autogenerated languages.
9776
8f95d002
VS
97772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9780 "Command for ...".
9781 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9782 "Check" since we don't check anything.
9783 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9784 is 64-bit one.
9785 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9786 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9787 (grub_md_sha512_real): Likewise.
9788
805a8dcc
VS
97892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/commands/gptsync.c: Fix typographic quoting.
9792 * grub-core/commands/ieee1275/suspend.c: Likewise.
9793 * grub-core/commands/parttool.c: Likewise.
9794 * grub-core/commands/search_wrap.c: Likewise.
9795 * grub-core/commands/videoinfo.c: Likewise.
9796 * grub-core/gfxmenu/gui_label.c: Likewise.
9797 * grub-core/hello/hello.c: Likewise.
9798 * grub-core/kern/emu/main.c: Likewise.
9799 * grub-core/net/net.c: Likewise.
9800 * grub-core/normal/menu.c: Likewise.
9801 * grub-core/normal/menu_text.c: Likewise.
9802 * grub-core/normal/misc.c: Likewise.
9803 * util/grub-editenv.c: Likewise.
9804 * util/grub-install.in: Likewise.
9805 * util/grub-kbdcomp.in: Likewise.
9806 * util/grub-mkconfig.in: Likewise.
9807 * util/grub-mknetdir.in: Likewise.
9808 * util/grub-mkrescue.in: Likewise.
9809 * util/grub-mkstandalone.in: Likewise.
9810 * util/grub-reboot.in: Likewise.
9811 * util/grub-set-default.in: Likewise.
9812 * util/grub-setup.c: Likewise.
9813 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9814
40211ab8
VS
98152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9818 * grub-core/commands/keystatus.c: Likewise.
9819 * grub-core/commands/loadenv.c: Likewise.
9820 * grub-core/commands/probe.c: Likewise.
9821 * grub-core/commands/regexp.c: Likewise.
9822 * grub-core/commands/true.c: Likewise.
9823 * grub-core/commands/videoinfo.c: Likewise.
9824 * grub-core/disk/cryptodisk.c: Likewise.
9825 * grub-core/disk/ldm.c: Likewise.
9826 * grub-core/disk/loopback.c: Likewise.
9827 * grub-core/disk/luks.c: Likewise.
9828 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9829 * grub-core/kern/disk.c: Likewise.
9830 * grub-core/kern/emu/hostdisk.c: Likewise.
9831
0c7d99c7
VS
98322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9835 * util/grub-install.in: Add missing quote in the comment.
9836
e7d2559b
VS
98372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9840 * grub-core/commands/lsmmap.c: Likewise.
9841 * grub-core/commands/minicmd.c: Likewise.
9842 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9843 * grub-core/commands/regexp.c: Likewise.
9844 * grub-core/gdb/gdb.c: Likewise.
9845 * grub-core/term/gfxterm.c: Likewise.
9846 * util/grub-mkconfig.in: Likewise.
9847 * util/grub-mkfont.c: Likewise.
9848 * util/grub-mklayout.c: Likewise.
9849 * util/grub-mknetdir.in: Likewise.
9850 * util/grub-mkrescue.in: Likewise.
9851 * util/grub.d/30_os-prober.in: Likewise.
9852
49ce9e50
VS
98532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9856 with "Direct color" and "Packed" with "Packed pixel".
9857 (grub_cmd_videoinfo): Simplify legend.
9858
e4b791fa
VS
98592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9860
9861 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9862 absolutely unclear error message.
9863
fd1265cb
VS
98642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9865
9866 * util/grub-mkstandalone.in: Remove confusing leftover print.
9867
8822a8a0
VS
98682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9871 comments.
9872 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9873 (GRUB_MOD_INIT): Likewise.
9874 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9875 VGA mode.
9876 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9877 comments.
9878 * util/grub-install.in (usage): Likewise.
9879 Spell ID in whole letters.
9880 Add missing ending dot.
9881 Quote variables.
9882 * util/grub-reboot.in: Fix capitalisation.
9883 * util/grub-set-default.in: Likewise.
9884
937fd0cc
VS
98852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9888 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9889 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9890 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9891 Disable -Werror for -Wdeprecated-declarations.
9892 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9893 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9894 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9895 (grub_util_get_grub_dev): Make luks handling dependent on
9896 HAVE_DEVICE_MAPPER and not __linux__.
9897 (get_win32_path): Fix format security.
9898 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9899 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9900 Don't try grub_find_zpool_from_dir.
9901 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9902 #ifdef-out paresdir.
9903
1bab1ae3
VS
99042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * util/grub-pe2elf.c (usage): Add missing noreturn.
9907 (write_section_data): Rename name to shname to avoid shadowing.
9908 (write_symbol_table): Rename name to symname to avoid shadowing.
9909 Fix write_reloc_section call.
9910
ef023e42
VS
99112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9914 to ensure that it's after the last byte of .text.
9915
48afcb75
VS
99162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * util/ieee1275/ofpath.c (my_isdigit): New function.
9919 (trailing_digits): Use my_isdigit.
9920 (strip_trailing_digits): Likewise.
9921
88d51eff
VS
99222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9925 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9926
17edc2ba
VS
99272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/kern/i386/pc/startup.S: Define __start.
9930
ad5518d7
VS
99312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9934 strip already transforms he format.
9935
9e95e1bf
VS
99362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9939
9cc3ee5c
VS
99402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * util/grub-install.in: Add missing gettext init.
9943 * util/grub-kbdcomp.in: Likewise.
9944 * util/grub-mkconfig.in: Likewise.
9945 * util/grub-mknetdir.in: Likewise.
9946 * util/grub-mkrescue.in: Likewise.
9947 * util/grub-mkstandalone.in: Likewise.
9948 * util/grub-reboot.in: Likewise.
9949 * util/grub-set-default.in: Likewise.
9950 * util/grub.d/00_header.in: Likewise.
9951 * util/grub.d/10_hurd.in: Likewise.
9952 * util/grub.d/10_windows.in: Likewise.
9953 * util/grub.d/30_os-prober.in: Likewise.
9954 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9955
49e08a06
VS
99562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * po/Rules-swiss: Fix header comment.
9959
3809cb41
AV
99602012-02-29 Andreas Vogel <anvoit>
9961
9962 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9963 resulted in leak of arguments.
9964
fa6ec573
VS
99652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9968 reed_solomon_size const definition instead of computing it since
9969 Apple assembler doesn't support the later.
9970
22899b9c
VS
99712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * gentpl.py (kernel): Rewrite Apple part.
9974
a132afc3
VS
99752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9978
9d742bd4
VS
99792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9982 ELF section gap.
9983 (load_image): Likewise.
9984
f04a9a21
VS
99852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * configure.ac: Fix a typo in previous commit.
9988
46cf439c
VS
99892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 Don't add -Wl,-N on Apple platform.
9992
9993 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9994 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9995
c4c48c54
VS
99962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * grub-core/Makefile.core.def (lzma_decompress): Use
9999 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10000
31a12124
VS
100012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/genmod.sh.in: Rewrite the Apple part.
10004
4f3aa1af
VS
100052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10008 comparison.
10009
7bd8b0c7
VS
100102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * acinclude.m4 (grub_CHECK_PIC): New test.
10013 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10014
97304d7c
VS
100152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10018 to avoid the warning.
10019
fb883812
VS
100202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10023 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10024 after. All users updated.
10025
a121c964
VS
100262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 Use the common size routine in hostfs so we can read disks as well.
10029
10030 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10031 (grub_util_get_fd_size): ... this. Return size in bytes.
10032 All users updated.
10033 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10034 grub_util_get_fd_size.
10035
c66d6410
VS
100362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10039 Add blocksize retrieval.
10040
dfc8aeb0
VS
100412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * configure.ac: Restore CFLAGS after efiemu check.
10044
403e25a5
VS
100452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10048 Apple bug.
10049
382775d1
VS
100502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10053
6fd4e6e4
VS
100542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10057 (grub_cmd_halt): Likewise.
10058
bea359d6
VS
100592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10062 for local arithmetics.
10063 Break %sp init into 2 instructions.
10064 Add 0 byte at the end.
10065
32eb6ee1
VS
100662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10069 before loops.
10070
e8377389
VS
100712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10074 for context.
10075
8cb17de7
VS
100762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/disk/ldm.c (make_vg): Init part.name.
10079 (grub_ldm_detect): Silence spurious warning.
10080 (grub_util_is_ldm): Likewise.
10081
595717e6
VS
100822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10085 sane value to avoid a spurious warning.
10086
c4b7e588
VS
100872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10090 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10091
59824957
VS
100922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10095 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10096
70115b99
VS
100972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10100 hardcoding the relevant info.
10101
56733740
VS
101022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10105 missing const qualifiers.
10106 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10107
43481481
VS
101082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 * util/getroot.c [__APPLE__]: Add missing includes.
10111 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10112
3cb38f01
VS
101132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10116
d9dbf11e
VS
101172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10120 avoid conflicts.
10121
0c42a45d
VS
101222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10125
46c34eb0
VS
101262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10129 and grub_file_close call.
10130
99ce1597
VS
101312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 Add LZSS Mach-O support (needed for new xnu kernelcache).
10134
10135 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10136 * grub-core/loader/lzss.c: New file.
10137 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10138 on Mach-O open failure.
10139 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10140 Don't free cmdsXX in uncompressedXX is set.
10141 (grub_macho_file): Init new fields.
10142 New argument is_64bit. All users updated.
10143 Handle compressed. Error out if no suitable architecture is found.
10144 Don't close file.
10145 (grub_macho_open): New argument is_64bit. All users updated.
10146 * grub-core/loader/macho32.c: Add defines for new fields.
10147 * grub-core/loader/macho64.c: Likewise.
10148 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10149 (grub_macho_parse): Handle compressed.
10150 Defer actual processing if compressed.
10151 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10152 "filename". All users updated.
10153 (grub_macho_size): New argument "filename". All users updated.
10154 (grub_macho_get_entry_point): Likewise.
10155 (grub_macho_load): Handle compressed.
10156 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10157 (GRUB_MACHO_LZSS_OFFSET): New define.
10158 (grub_decompress_lzss): New proto.
10159 * include/grub/machoload.h (grub_macho_file): New fields to handle
10160 compressed.
10161 (grub_macho_contains_macho64): Remove proto.
10162 (grub_macho_contains_macho32): Likewise.
10163 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10164
ebd17d6f
VS
101652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10168
2702b4e4
VS
101692012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 Fix make dist.
10172
10173 * Makefile.am (starfield_theme_files): New var.
10174 (starfield_DATA): Use starfield_theme_files.
10175 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10176 Add bootcheck-related files.
10177 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10178 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10179 and font_char_metrics.txt.
10180 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10181 (setjmp): Add lib/ia64/longjmp.S.
10182 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10183 * po/POTFILES.in: Regenerate.
10184 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10185 DISTFILES.common.extra1.
10186 * util/devicemap.c: Removed.
10187 * grub-core/lib/i386/relocator_backward.S: Likewise.
10188 * util/import_gcry.py: Remove unused files. Add extra_dist for
10189 ChangeLog.
10190
cf1adfdf
VS
101912012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10194 grub_gettext_delete_list before changing grub_gettext_max to avoid
10195 running out of array bounds.
10196
101972012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10198
10199 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10200 grub_vga_text_init/grub_vga_text_fini.
10201
cf1adfdf 102022012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10203
10204 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10205
541d92e9
VS
102062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * configure.ac: Bump to 2.00~beta0.
10209
7931dddf
VS
102102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10213 missing initialisation.
10214
f1b16fa3
VS
102152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10218
83ddae23
VS
102192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 Support v2 xnu boot arguments.
10222
10223 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10224 New argument fsbfreq_out.
10225 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10226 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10227 be used.
10228 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10229 darwin_version.
10230 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10231 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10232 (grub_xnu_boot_params): Rename to ...
10233 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10234 (grub_xnu_boot_params_v2): New struct.
10235
dc693fe6
VS
102362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10239 zeroing of CRC field before computing CRC.
10240
5a6e39c2
VS
102412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10244 Change order of allocations to decrease fragmentation.
10245
6c21f5d7
VS
102462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10249
cfe456dc
CW
102502012-02-27 Colin Watson <cjwatson@ubuntu.com>
10251
10252 Use write-combining MTRR to speed up video with buggy BIOSes.
10253
10254 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10255 (cpuid): New define.
10256 (rdmsr): Likewise.
10257 (wrmsr): Likewise.
10258 (mtrr_base): Likewise.
10259 (mtrr_mask): Likewise.
10260 (grub_vbe_enable_mtrr_entry): New function.
10261 (grub_vbe_enable_mtrr): Likewise.
10262 (grub_vbe_disable_mtrr): Likewise.
10263 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10264 control off to BIOS.
10265 (grub_video_vbe_init): Fill mtrr.
10266 (grub_video_vbe_fini): Disable mtrr.
10267 (grub_video_vbe_get_info_and_fini): Likewise.
10268 (grub_video_vbe_setup): Enable mtrr.
10269
e3c78337
CW
102702012-02-27 Colin Watson <cjwatson@ubuntu.com>
10271
10272 * include/grub/partition.h (grub_partition_map): Change prototype of
10273 embed to take a maximum value for nsectors.
10274 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10275 * include/grub/fs.h (grub_fs): Likewise.
10276 * grub-core/partmap/msdos.c (embed_signatures): New array.
10277 (pc_partition_map_embed): Check for and avoid sectors matching any
10278 of the signatures in embed_signatures, up to max_nsectors.
10279 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10280 returned sector map to max_nsectors.
10281 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10282 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10283 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10284 * util/grub-setup.c (setup): Allow for the embedding area being
10285 split into multiple blocklists. Tell dest_partmap->embed the
10286 maximum number of sectors we care about.
10287
102882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10291 Specify blocklist_install and reserver_first_sector for all fs.
10292 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10293 blocklists.
10294
984b973f
VS
102952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * util/grub-install.in: Clarify strings.
10298 Fix source dir check.
10299
f122e0d6
RL
103002012-02-27 Richard Laager <rlaager@wiktel.com>
10301
10302 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10303 "zfs" and "fuse.zfs" as synonyms.
10304
071114bb
VS
103052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * configure.ac: Put platform and target_cpu substitutions back since
10308 they are used for directories.
10309
817e6abc
RL
103102012-02-27 Richard Laager <rlaager@wiktel.com>
103112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10314 * util/grub.d/20_linux_xen.in: Likewise.
10315
897b7419
RL
103162012-02-27 Richard Laager <rlaager@wiktel.com>
10317
10318 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10319 with full paths.
10320
a414bd15
RL
103212012-02-27 Richard Laager <rlaager@wiktel.com>
10322
10323 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10324 unescape.
10325
30ac48c4
VS
103262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 Don't use insecure popen in getroot.
10329
10330 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10331 (exec_pipe): ... here.
10332 (find_root_devices_from_poolname): Use exec_pipe.
10333
53f13848
VS
103342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 Remove platform and target_cpu replacement.
10337
10338 * configure.ac: Remove platform and target_cpu substitutions.
10339 * tests/util/grub-shell.in: Use modinfo.
10340 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10341 explicitly.
10342
90cb2803
VS
103432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 Autodetect platform in grub-install but allow override.
10346
10347 * util/grub-install.in: Autodetect platform. Support --target and
10348 --directory. Read platform from modinfo.sh.
10349
b9136427
VS
103502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 Support btrfs multi-volume probe.
10353
10354 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10355 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10356 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10357 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10358 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10359 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10360 grub_find_root_devices_from_btrfs if on btrfs.
10361
c36e5cd1
VS
103622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 Remove any awareness of *.c util files about target.
10365
10366 * Makefile.util.def (grub-setup): Split to ...
10367 (grub-bios-setup): ... and this.
10368 (grub-sparc64-setup): ... and this.
10369 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10370 * docs/man/grub-setup.h2m: Split into ...
10371 * docs/man/grub-sparc64-setup.h2m: ... this.
10372 * docs/man/grub-bios-setup.h2m: ... and this.
10373 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10374 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10375 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10376 (grub_target_addr_t): Remove.
10377 (grub_target_size_t): Remove.
10378 (grub_target_ssize_t): Remove.
10379 * util/grub-install.in: Use new grub-*-setup.
10380 * util/grub-mkimagexx.c (Elf_Word): New define.
10381 (Elf_Half): Likewise.
10382 (Elf_Section): Likewise.
10383 (ELF_ST_TYPE): Likewise.
10384 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10385 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10386
584b2f8a
VS
103872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 Replace grub_target_addr with more appropriate types.
10390
10391 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10392 grub_target_addr with grub_addr.
10393 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10394 grub_target_addr with grub_port.
10395 (grub_cmd_write): Likewise.
10396 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10397 grub_target_addr with grub_addr.
10398 (grub_cmd_write): Likewise.
10399 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10400
5a0dc6fb
VS
104012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10404 const qualifier for vendor_guid.
10405
786aff6e
VS
104062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10409 const qualifier.
10410 (efiemu_memequal): Likewise.
10411 (find_variable): Likewise.
10412
49017b17
VS
104132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 Fix missing console prototype on qemu-mips.
10416
10417 * include/grub/mips/qemu_mips/console.h: New file.
10418
c5988629
MG
104192012-02-27 Matthew Garrett <mjg@redhat.com>
104202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10423 * include/grub/efi/efi.h: Likewise.
10424 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10425 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10426 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10427 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10428 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10429 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10430
e33f8d69
MG
104312012-02-27 Matthew Garrett <mjg@redhat.com>
10432
10433 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10434
fb312cd9
VS
104352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10438 error.
10439
7134247c
VS
104402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * configure.ac: Remove inappropriate use of program_transform_name
10443 on grubdir and bootdir but allow explicit specification of those
10444 variables.
10445
6a313124
VS
104462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * util/grub-mknetdir.in (grub_prefix): Removed.
10449 (subdir): Use @bootdirname@ and @grubdirname@.
10450
2311c5ca
VS
104512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10454
7d5d60f7
VS
104552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * po/POTFILES.in: Regenerated.
10458
8151bc82
VS
104592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 Remove improper use of program_transform_name on pkglibrootdir.
10462
10463 * configure.ac (pkglibrootdir): Removed.
10464 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10465 * util/grub-mkimage.c: Likewise.
10466
b4a6a533
VS
104672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10470 warning.
10471
668f304f
VS
104722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10473
10474 * util/grub-install.in: Use file identifier if no UUID is available
10475 or user explicitly prompted for it.
10476
665f2341
NP
104772012-02-27 Navdeep Parhar <nparhar@gmail.com>
10478
10479 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10480 (freebsd_get_zfs): New function.
10481 (grub_freebsd_boot): Pass zfs UUID.
10482 (grub_cmd_freebsd): Set zfs UUID.
10483
8151bc82 104842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10485
10486 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10487 pkglibrootdir.
10488
e4c498a1
MG
104892012-02-27 Mike Gilbert <floppym@gentoo.org>
10490
10491 Add configure flag to control libzfs integration.
10492
10493 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10494
1e9a9a3f
VS
104952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10498 device.
10499 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10500 small devices.
10501
036985b8
VS
105022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10505 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10506 be used on non-modules.
10507
10508 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10509 Rename to grub_boot_init.
10510 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10511 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10512 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10513 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10514 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10515 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10516 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10517 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10518 includes.
10519 (grub_machine_init): Remove empty inits.
10520 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10521 includes.
10522 (grub_machine_init): Remove empty inits.
10523 * grub-core/term/arc/console.c: Remove explicit proto.
10524 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10525 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10526 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10527 grub_at_keyboard_fini.
10528 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10529 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10530 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10531 grub_gfxterm_fini.
10532 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10533 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10534 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10535 grub_vgatext_fini.
10536 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10537 * grub-core/term/serial.c (GRUB_MOD_INIT)
10538 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10539 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10540 grub_serial_fini.
10541 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10542 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10543 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10544 grub_terminfo_fini.
10545 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10546 (GRUB_MOD_FINI): Likewise.
10547 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10548 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10549 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10550 grub_video_radeon_fuloong2e_fini.
10551 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10552 [LOONGSON]: Rename to grub_video_sis315pro_init.
10553 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10554 grub_video_sis315pro_fini.
10555 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10556 [LOONGSON]: Rename to grub_video_sm712_init.
10557 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10558 grub_video_sm712_fini.
10559 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10560 (grub_at_keyboard_fini): Likewise.
10561 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10562 Don't declare grub_{modname}_init.
10563 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10564 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10565 New proto.
10566 (grub_keylayouts_fini) [!EMU]: Likewise.
10567 * include/grub/serial.h (grub_serial_init) [!EMU]:
10568 New proto.
10569 (grub_serial_fini) [!EMU]: Likewise.
10570 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10571 New proto.
10572 (grub_terminfo_fini) [!EMU]: Likewise.
10573 * include/grub/video.h (grub_font_init) [!EMU]:
10574 New proto.
10575 (grub_font_fini) [!EMU]: Likewise.
10576 (grub_gfxterm_init) [!EMU]: Likewise.
10577 (grub_gfxterm_fini) [!EMU]: Likewise.
10578 (grub_video_sm712_init) [!EMU]: Likewise.
10579 (grub_video_sm712_fini) [!EMU]: Likewise.
10580 (grub_video_sis315pro_init) [!EMU]: Likewise.
10581 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10582 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10583 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10584
d5534665
VS
105852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 Make nand a prefix for nand devices.
10588
10589 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10590
10133b5f
VS
105912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10594 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10595
8e307a62
VS
105962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 * include/grub/env.h (grub_env_find): Remove prototype.
10599 * grub-core/kern/env.c (grub_env_find): Make static.
10600 (grub_env_set): Remove useless set.
10601
a4c65f34
VS
106022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * grub-core/kern/i386/realmode.S: Remove useless align.
10605
d87893d5
VS
106062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * include/grub/dl.h (grub_dl_load_file): Don't export.
10609
50159add
VS
106102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10613 grub_dprintf.
10614
b2582b84
VS
106152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10618 grub_errors.
10619 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10620 not reloading whole superblock but only the part which is really needed.
10621 Remove useless grub_errors.
10622 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10623 grub_errors.
10624
e2a83395
VS
106252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 Don't export grub_get_rtc.
10628
10629 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10630 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10631
e7d2a906
VS
106322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10635
6cf1363b
VS
106362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10639 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10640
eece3349
VS
106412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 Remove prio_list.
10644
10645 * include/grub/list.h (grub_prio_list): Removed.
10646 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10647 GRUB_COMMAND_PRIO_MASK.
10648 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10649 GRUB_COMMAND_FLAG_ACTIVE.
10650 (grub_prio_list_insert): Removed.
10651 (grub_prio_list_remove): Likewise.
10652 (GRUB_AS_PRIO_LIST): Likewise.
10653 (GRUB_AS_PRIO_LIST_P): Likewise.
10654 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10655 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10656 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10657 * grub-core/kern/command.c (grub_register_command_prio): Inline
10658 the prio_list code.
10659 (grub_unregister_command): Likewise.
10660
94f064b4
VS
106612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 Fix interrupt mixup from previous commit.
10664
10665 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10666 (grub_realidt): New var.
10667 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10668 Load idt.
10669 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10670 New declaration.
10671 (grub_relocator16_boot): Set grub_relocator16_idt.
10672 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10673 (LOCAL(realidt)): ... this.
10674 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10675 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10676 (grub_realidt): New variable.
10677
27317084
VS
106782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10681 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10682 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10683 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10684 Gettextize.
10685 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10686 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10687 * po/POTFILES.in: Regenerate.
10688
47b40053
VS
106892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10692 errors.
10693
2b343101
VS
106942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10697 \0.
10698 (add_length): Likewise.
10699
ff27c3dd
LK
107002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
107012012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10702
10703 GDB serial and backtrace support.
10704
10705 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10706 (prot_to_real): Likewise.
10707 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10708 * grub-core/Makefile.core.def (backtrace): New module.
10709 (gdb): Likewise.
10710 * grub-core/gdb/cstub.c: New file.
10711 * grub-core/gdb/gdb.c: Likewise.
10712 * grub-core/gdb/i386/idt.c: Likewise.
10713 * grub-core/gdb/i386/machdep.S: Likewise.
10714 * grub-core/gdb/i386/signal.c: Likewise.
10715 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10716 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10717 * include/grub/backtrace.h: Likewise.
10718 * include/grub/gdb.h: Likewise.
10719 * include/grub/i386/gdb.h: Likewise.
10720
107212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10722
10723 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10724 New function.
10725 (add_length): Likewise.
10726 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10727 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10728 proto.
10729 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10730 __argp_get_display_len.
10731
ff27c3dd 107322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10733
10734 $"..." support in scripts.
10735
10736 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10737 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10738 * grub-core/script/yylex.l: Likewise.
10739 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10740 value.
10741
ff27c3dd 107422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10743
10744 * gentpl.py: Remove obsolete pkglib_DATA handling.
10745
ff27c3dd 107462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10747
10748 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10749 mailing list.
10750
10751 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10752 * util/grub-kbdcomp.in: Likewise.
10753 * util/grub-mkconfig.in: Likewise.
10754 * util/grub-mkconfig_lib.in: Likewise.
10755 * util/grub-mknetdir.in: Likewise.
10756 * util/grub-mkrescue.in: Likewise.
10757 * util/grub-mkstandalone.in: Likewise.
10758 * util/grub-reboot.in: Likewise.
10759 * util/grub-set-default.in: Likewise.
10760 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10761
ff27c3dd 107622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10763
10764 Remove GRUB_PREFIX.
10765
10766 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10767 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10768 used for backward compatibility.
10769
ff27c3dd 107702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10771
10772 Add new all_video module.
10773
10774 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10775 * grub-core/Makefile.core.def (all_video): New module.
10776 * grub-core/genmoddep.awk: Generate dependency of all_video from
10777 video.lst.
10778 * grub-core/lib/fake_module.c: New file.
10779 * grub-core/normal/main.c (features): Add feature_all_video_module.
10780 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10781 don't do explicit search again.
47454da5 10782 insmod all_video in load_video if available.
22c7ce85 10783
ff27c3dd 107842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10785
10786 Another round of string clarification and adding TRANSLATORS comments.
10787
ff27c3dd 107882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10789
10790 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10791
ff27c3dd 107922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10793
10794 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10795 to grub_ssize_t.
10796 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10797 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10798
ff27c3dd 107992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10800
10801 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10802 trailing newline implicitly. All users updated.
10803
ff27c3dd 108042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10805
10806 Implement serial on IEEE1275 and EFI.
10807
10808 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10809 on emu. Mention arc and emu as the only platforms without serial
10810 support.
10811 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10812 ieee1275 platforms.
10813 * grub-core/term/efi/serial.c: New file.
10814 * grub-core/term/ieee1275/serial.c: Likewise.
10815 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10816 specification if no ns8250 driver is available.
10817 (grub_cmd_serial): Likewise.
10818 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10819 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10820 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10821 (grub_efi_parity_type_t): New type.
10822 (grub_efi_stop_bits_t): Likewise.
10823 (grub_efi_serial_io_interface): New struct.
10824 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10825 available for all interfaces.
10826 Add EFI and IEEE1275 fields.
10827 (grub_ofserial_init): New proto.
10828 (grub_efiserial_init): Likeiwse.
10829 * util/grub.d/00_header.in: Don't check for the presence of serial
10830 module.
10831
ff27c3dd 108322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10833
10834 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10835 name as if it was an alias.
10836
114076ef
VS
108372012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * grub-core/commands/lsacpi.c (options): Fix typo.
10840
6a656b0e
VS
108412012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Convert grub-emu to argp.
10844
10845 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10846 emu.
10847 * util/argp_common.c: Rename to ...
10848 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10849 Add missing includes.
10850 * grub-core/kern/emu/main.c: Convert to argp.
10851 * po/POTFILES.in: Regenerate.
10852 * util/grub-install.in (usage): Make first letter lowcase in messages
10853 for uniformity.
10854 * util/grub-setup.c (options): Likewise.
10855
1e3f8ae8
VS
108562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10859 Put back accidently commented-out code.
10860
ed167a80
VS
108612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10864 loop check using Brent algorithm.
10865 (grub_hfsplus_btree_search): Likewise.
10866
6753c0ec
VS
108672012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * util/grub-install.in: Fix usage of wrong device for PreP install.
10870
4e27343f
VS
108712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * conf/Makefile.common (CFLAGS_GNULIB): Add
10874 -Wno-unsafe-loop-optimizations.
10875 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10876 on tools.
10877 * grub-core/commands/legacycfg.c: Add pragma to skip
10878 -Wunsafe-loop-optimizations.
10879 (check_password_md5_real): Fix loop counter type.
10880 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10881 reading.
10882 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10883 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10884 loop condition.
10885 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10886 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10887 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10888 condition.
10889 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10890 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10891 avoid possible infinite loops.
10892 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10893 and -Wunsafe-loop-optimizations.
10894 * grub-core/script/yylex.l: Likewise.
10895 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10896 (print_glyphs): Avoid infinite loops.
10897 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10898
697f18b0
GS
108992012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10900
10901 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10902 to avoid infinite loop.
10903 (disp_acpi_rsdt_table): Likewise.
10904
274416e8
VS
109052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/font/font.c (grub_font_load): Add support for default
10908 path for fonts ($prefix/fonts).
10909 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10910 for checking if string is a path.
10911 * grub-core/normal/main.c (features): Add feature_default_font_path.
10912 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10913 * util/grub.d/00_header.in: Use default directory if possible.
10914 * util/grub-install.in: Install unicode.pf2.
10915
b3e08622
VS
109162012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10919 * po/Rules-swiss: New file.
10920 * po/swiss.sed: Likewise.
10921
fe42ce09
VS
109222012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/fs/btrfs.c (find_device): Fix typos.
10925 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10926 * util/grub-mkrelpath.c (argp_parser): Likewise.
10927 Reported by: Yuri Chornoivan.
10928
72f1d065
DO
109292012-02-23 Dalet Omega <daletomega@gmail.com>
10930
10931 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10932 for usual informative messages.
10933
c5884973
DO
109342012-02-23 Dalet Omega <daletomega@gmail.com>
10935
10936 Starfield theme.
10937
10938 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10939 * conf/Makefile.common: Define starfielddir.
10940 * configure.ac: Configure starfield.
10941 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10942 * themes/starfield/README: Likewise.
10943 * themes/starfield/blob_w.png: Likewise.
10944 * themes/starfield/boot_menu_c.png: Likewise.
10945 * themes/starfield/boot_menu_e.png: Likewise.
10946 * themes/starfield/boot_menu_n.png: Likewise.
10947 * themes/starfield/boot_menu_ne.png: Likewise.
10948 * themes/starfield/boot_menu_nw.png: Likewise.
10949 * themes/starfield/boot_menu_s.png: Likewise.
10950 * themes/starfield/boot_menu_se.png: Likewise.
10951 * themes/starfield/boot_menu_sw.png: Likewise.
10952 * themes/starfield/boot_menu_w.png: Likewise.
10953 * themes/starfield/slider_c.png: Likewise.
10954 * themes/starfield/slider_n.png: Likewise.
10955 * themes/starfield/slider_s.png: Likewise.
10956 * themes/starfield/src/blob_nw.xcf: Likewise.
10957 * themes/starfield/src/bootmenu/: Likewise.
10958 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10959 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10960 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10961 * themes/starfield/src/slider_c.xcf: Likewise.
10962 * themes/starfield/src/slider_n.xcf: Likewise.
10963 * themes/starfield/src/slider_s.xcf: Likewise.
10964 * themes/starfield/src/terminalbox/: Likewise.
10965 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10966 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10967 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10968 * themes/starfield/starfield.png: Likewise.
10969 * themes/starfield/terminal_box_c.png: Likewise.
10970 * themes/starfield/terminal_box_e.png: Likewise.
10971 * themes/starfield/terminal_box_n.png: Likewise.
10972 * themes/starfield/terminal_box_ne.png: Likewise.
10973 * themes/starfield/terminal_box_nw.png: Likewise.
10974 * themes/starfield/terminal_box_s.png: Likewise.
10975 * themes/starfield/terminal_box_se.png: Likewise.
10976 * themes/starfield/terminal_box_sw.png: Likewise.
10977 * themes/starfield/terminal_box_w.png: Likewise.
10978 * themes/starfield/theme.txt: Likewise.
10979
17d73325
VS
109802012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * util/grub.d/00_header.in: Add missing export theme.
10983
dbebaf92
VS
109842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10987 already included.
10988 Reported by: Eren D.
10989
3d68bffb
VS
109902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * conf/Makefile.common (grubdatadir): Removed.
10993 (Makefile.am): Move eveything grubdata to pkgdata.
10994
4b59234d
VS
109952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/commands/acpihalt.c (get_sleep_type):
10998 Remove unused variable.
10999
463dcadc
VS
110002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11003 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11004 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11005 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11006 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11007 i18n with gettext no-op.
11008 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11009 GRUB_ACPI_OPCODE_STRING_CONST.
11010 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11011 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11012
e5b90c82
VS
110132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * po/POTFILES.in: Regenerate.
11016
2a704ca9
VS
110172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11020 -Wno-error=missing-noreturn.
11021
84f9d341
VS
110222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11025 condition to avoid possibly infinite loops.
11026 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11027 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11028
d46683f9
VS
110292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11032 condition to avoid possibly infinite loops.
11033
c44866b2
VS
110342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11037 on show_error.
11038
96790539
VS
110392012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11042
1ba7e295
VS
110432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11046
21ffe8f1
VS
110472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * util/bin2h.c (usage): Add missing attribute noreturn.
11050
0ccb6b3c
VS
110512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11054 if the size isn't divisible by 512.
11055
b00d7fb6
VS
110562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 Make list_push and list_remove functions rather than inline functions
11059 to decrease size and avoid aliasing violations.
11060
11061 * include/grub/list.h (grub_list_push): Move to ...
11062 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11063 * include/grub/list.h (grub_list_remove): Move to ...
11064 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11065
9d369087
VS
110662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11069 and -Wunused-result.
11070
af0250d9
VS
110712012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11074 Reported by: Seth Goldberg
11075
aad32b14
VS
110762012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11079
ac96441c
ST
110802012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11081
11082 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11083 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11084 command line.
11085 * docs/grub.texi (Simple configuration): Document
11086 GRUB_CMDLINE_GNUMACH.
11087
110882012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11089
11090 * conf/Makefile.common (platform_SCRIPTS): New variable.
11091 (platform_PROGRAMS): Likewise.
11092 * gentpl.py: Mark *,module and *.image for install.
11093 * grub-core/gdb_grub.in: Add a notice of expected environment.
11094 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11095 (gmodule.pl): Likewise.
11096
ac96441c 110972012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11098
11099 Replace grub_checkkey with grub_getkey_noblock.
11100
11101 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11102 (grub_getkey_noblock): ... this. All users updated.
11103
ac96441c 111042012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11105
11106 * grub-core/kern/emu/console.c: Move to ...
11107 * grub-core/term/emu/console.c: ...here.
11108 (grub_ncurses_getkey): Fix return value if no key is detected.
11109
e51b5666
VS
111102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11113 (grub_unit_test_fini): Likewise.
11114 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11115
111162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * include/grub/test.h (GRUB_UNIT_TEST)
11119
d9a62292
VS
111202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11123 Better error handling.
11124 (grub_script_return): Likewise.
11125 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11126
77c9182f
VS
111272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11130 rimplicit redifinition.
11131
edb13cf9
VS
111322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11135 GRUB.
11136
a9e9dc7c
VS
111372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11140 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11141 prompt here.
11142
b4ba8e02
VS
111432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11146 as GRUB_ERR_BUG. Don't malloc if no device is available.
11147
dded5540
VS
111482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11151 Mark calling with invalid term as GRUB_ERR_BUG.
11152
0cf69874
VS
111532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11156 packets rather than raising an error.
11157
59bfe502
VS
111582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11161 in if.
11162
db5fc596
VS
111632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11166 diagnostic to dprintf.
11167 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11168
e4b7f404
VS
111692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11172 device name.
11173
e7b02f9e
VS
111742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11177 (grub_ntfs_iterate_dir): Likewise.
11178
0331e102
VS
111792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Efiemu stylistic fixes and gettext.
11182
11183 * grub-core/efiemu/i386/loadcore32.c
11184 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11185 * grub-core/efiemu/i386/loadcore64.c
11186 (grub_arch_efiemu_relocate_symbols64): Likewise.
11187 * grub-core/efiemu/i386/pc/cfgtables.c
11188 (grub_machine_efiemu_init_tables): Likewise.
11189 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11190 (grub_efiemu_loadcore_initXX): Add a filename argument.
11191 All users updated.
11192 Improved error message.
11193 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11194 Add a filename argument.
11195 All users updated.
11196 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11197 Reclassify double relocation as GRUB_ERR_BUG.
11198
306fc074
VS
111992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11202 handling.
11203
794d8ef2
VS
112042012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11207 on partition.
11208
112092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11210
11211 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11212
794d8ef2 112132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11214
11215 Improve string. Gettextize.
11216
78dde88e
VS
112172012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11220 utils.
11221 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11222
4786a90f
VS
112232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11226 [GRUB_UTIL]: New function.
11227 (insert_array) [GRUB_UTIL]: Store partmaps.
11228 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11229 partmaps.
11230 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11231 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11232 (probe_abstraction): Print diskfilter and not raid.
11233 Reported by: Lennart Sorensen
11234
0b6225bd
VS
112352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11238 * util/grub-mkimagexx.c (MASK3): New define.
11239 (add_value_to_slot_20b): Use MASK3.
11240 (add_value_to_slot_21): Likewise.
11241 (relocate_addresses): Fix format specification.
11242 (load_image): Explicitly init symtab_section.
11243
b055f8f6
VS
112442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11247 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11248
b77c2fb7
VS
112492012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11252 on powerpc.
11253 Reported by: Lennart Sorensen
11254
e3ec28ab
VS
112552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * gentpl.py: Add missing license header.
11258 * docs/grub.texi: Update copyright year.
11259
c8d9ead6
GS
112602012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11261
11262 Source grub-mkconfig_lib from the build directory at build time.
11263 Suggested by: Vladimir Serbinenko.
11264
11265 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11266 * util/grub-install.in: Define pkgdatadir if not already set, and source
11267 grub-mkconfig_lib from there.
11268 * util/grub-kbdcomp.in: Likewise.
11269 * util/grub-mkconfig.in: Likewise.
11270 * util/grub-mknetdir.in: Likewise.
11271 * util/grub-mkrescue.in: Likewise.
11272 * util/grub-mkstandalone.in: Likewise.
11273 * util/grub-reboot.in: Likewise.
11274 * util/grub-set-default.in: Likewise.
11275 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11276
ebcecdf1
VS
112772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 Increase warning level.
11280
11281 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11282 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11283 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11284 (TARGET_CFLAGS): Likewise.
11285 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11286 * grub-core/Makefile.core.def (decompressor_xz): Add
11287 -Wno-unreachable-code.
11288 (normal): Add -Wno-redundant-decls.
11289 (xzio): Add -Wno-unreachable-code.
11290 (lzopio): Add -Wno-redundant-decls -Wno-error.
11291 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11292 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11293 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11294 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11295 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11296 * grub-core/kern/i386/coreboot/init.c: Add exception to
11297 -Wsuggest-attribute=noreturn.
11298 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11299 * grub-core/kern/ia64/dl_helper.c: Likewise.
11300 * grub-core/kern/mips/dl.c: Likewise.
11301 * grub-core/kern/sparc64/dl.c: Likewise.
11302 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11303 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11304 (memcmp): Likewise.
11305 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11306 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11307 * grub-core/loader/mips/linux.c: Likewise.
11308 * grub-core/loader/multiboot_elfxx.c: Likewise.
11309 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11310 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11311 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11312 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11313 fixme.
11314 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11315 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11316 Fix prototype.
11317
37bb97fe
VS
113182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11321 address.
11322
29a3550b
VS
113232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11326 Avoid improper use of strings.
11327 (grub_cmd_legacy_initrdnounzip): Likewise.
11328
dfdffd0d
VS
113292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11332 attribute.
11333 (grub_util_info): Likewise.
11334 (grub_util_error): Likewise.
11335
102fae4a
VS
113362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11339 * util/grub-fstest.c (fstest): Likewise.
11340
7e94d044
VS
113412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11344 (grub_md_sha512_real): Likewise.
11345 (grub_util_get_geli_uuid): Likewise.
11346 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11347 (grub_util_biosdisk_open): Fix format specification.
11348 Respect format security.
11349 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11350 (xrealloc): Likewise.
11351 (xasprintf): Likewise.
11352
5ebd9769
VS
113532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * util/import_gcry.py: Include grub/crypto.h in init.c.
11356
495fc8c1
VS
113572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11360 (generate_image): Make prefix a const char *.
11361 Fix format specifications. Respect format security.
11362 Avoid void * arithmetics.
11363 Avoid shadowing.
11364 (argp_parser): Remove unused variable. Respect format security.
11365 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11366 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11367 (count_funcs): Remove unused variable.
11368 (relocate_addresses): Fix format specification.
11369 Disable x86-64 with elf32. Remove unused variables.
11370 (add_fixup_entry): Avoid shadowing.
11371 (make_reloc_section): Fix format specification.
11372 Use assert.
11373 (locate_sections): Fix format specifications.
11374 (load_image): Avoid shadowing.
11375
043c2ea3
VS
113762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11379 Fix format specifications. Respect format security.
11380 Don't translate already translated grub_errmsg.
11381 (argp_parser): Remove unused variable
11382
3ec65a81
VS
113832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11386
a4d9fe4a
VS
113872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11390 (main): Likewise. Use xmalloc. Respect format security.
11391
15b81d49
VS
113922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11395 a const char *.
11396 (argp_parser): Remove unused variable.
11397
31731fc0
VS
113982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11401 (add_pixel): Make static.
11402 (add_font): Likewise.
11403 (write_string_section): Make name and str a const char *.
11404 (write_be16_section): Make name a const char *.
11405 (print_glyphs): Make static.
11406 (write_font_ascii_bitmap): Likewise.
11407 (write_font_width_spec): Likewise.
11408 (write_font_pf2): Likewise.
11409 (argp_parser): Remove unused variable.
11410 Respect format security.
11411 (main): Avoid shadowing. Respect format security.
11412
0809527b
VS
114132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * util/grub-editenv.c (argp_parser): Make static.
11416 (create_envblk_file): Use xmalloc.
11417 (open_envblk_file): Likewise.
11418 Resepect format security.
11419 (set_variables): Respect format security.
11420
45b0c8b7
VS
114212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * util/getroot.c (grub_find_device): Respect format security.
11424 (get_mdadm_uuid): Remove unused variable.
11425 (grub_util_pull_device): Dont call gettext on already translated
11426 grub_errmsg.
11427 (find_system_device): Remove unused variable.
11428 (grub_util_get_grub_dev): Likewise.
11429 (grub_make_system_path_relative_to_its_root): Respect format security.
11430
1b024b4e
VS
114312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * util/grub-fstest.c (execute_command): Make first argument
11434 a const char *.
11435 (read_file): Avoid shadowing.
11436 Reuse underlying error message if device open fails.
11437 (cmd_cmp): Respect format security.
11438 (root): Make const char *.
11439 (fstest): Remove args argument and use global copy.
11440 Respect format security.
11441 (argp_parser): Make static.
11442 (main): Make default_root const char *.
11443
5d1d4e28
VS
114442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * util/grub-mount.c (root): Make const char *.
11447 (execute_command): Make first argument a const char *.
11448 (fuse_init): Respect format security.
11449 (argp_parser): Make static. Remove unused variable.
11450 (main): Make default_root a const char *.
11451 Respect format security.
11452
36eb7379
VS
114532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * util/grub-probe.c (probe): Don't call gettext on already translated
11456 grub_errmsg.
11457 Remove unused variables.
11458 (argp_parser): Remove unused variable.
11459
76fb2ea9
VS
114602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * util/grub-script-check.c (argp_parser): Remove unused variable.
11463 (main): Rename read to curread to avoid shadowing.
11464
56c98584
VS
114652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * util/misc.c (grub_util_write_image_at): Fix format specification.
11468 (grub_util_write_image): Likewise.
11469 (grub_script_execute_argument_to_string): Removed (unused).
11470 (grub_script_execute_menuentry): Likewise.
11471 (grub_putchar): Likewise.
11472
164ebb48
VS
114732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11476 (FUNCTION) [GRUB_UTIL]: Likewise.
11477 (VARIABLE) [GRUB_UTIL]: Likewise.
11478
44318d61
VS
114792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11482 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11483
31a26002
VS
114842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11487 buffer.
11488
114892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11492 (LzmaEnc_SaveState): Removed (unused).
11493 (LzmaEnc_RestoreState): Likewise.
11494 (LzmaEnc_InitPriceTables): Made static.
11495 (LzmaEnc_Construct): Likewise.
11496 (LzmaEnc_FreeLits): Likewise.
11497 (LzmaEnc_Destruct): Likewise.
11498 (LzmaEnc_Init): Likewise.
11499 (LzmaEnc_InitPrices): Likewise.
11500 (LzmaEnc_Finish): Likewise.
11501 (LzmaEnc_PrepareForLzma2): Removed (unused).
11502 (LzmaEnc_MemPrepare): Likewise.
11503 (LzmaEnc_GetNumAvailableBytes): Likewise.
11504 (LzmaEnc_GetCurBuf): Likewise.
11505 (LzmaEnc_CodeOneMemBlock): Likewise.
11506
6fa67967
VS
115072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11510 (grub_util_ldm_embed): Likewise.
11511
9a7428e6
VS
115122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * util/grub-editenv.c (print_var): Rename name to varname to
11515 avoid shadowing.
11516 (main): Rename index to curindex to avoid shadowing.
31a26002 11517 Make filename a const char *.
9a7428e6 11518
4f96abd1
VS
115192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11522 to arg_getline to avoid shadowing.
11523
44d10dad
VS
115242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11527 disk_ to avoid shadowing.
11528
340ba63e
VS
115292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11530
11531 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11532 curindex to avoid shadowing.
11533 Make static.
11534 (MatchFinder_GetNumAvailableBytes): Make static.
11535
22965bce
VS
115362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11539 avoid shadowing.
11540
7b5784d4
VS
115412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11544 argument from encrypt to do_encrypt to avoid shadowing.
11545
6f48ca01
VS
115462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11549 incorrect nesting of #if's.
11550
a4ea2dff
VS
115512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11554 checks which are always false on some platforms.
11555 (grub_cmd_lsacpi): Likewise.
11556 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11557 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11558 Likewise.
11559
def9fc1b
VS
115602012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11563 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11564
a67b2a04
VS
115652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11568 re_dfa_t to avoid breaking alignment invariants.
11569 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11570 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11571
44c6828d
VS
115722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11575 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11576
bebe0dd0
VS
115772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11580 Fix declaration.
11581
a9cdb3cf
VS
115822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11585 conserve alignment invariants.
11586 (grub_ehci_ehcc_read16): Likewise.
11587 (grub_ehci_oper_read32): Likewise.
11588 (grub_ehci_oper_write32): Likewise.
11589 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11590 Conserve alignment invariants.
11591
ccc3b1b8
VS
115922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11595 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11596 declarations.
11597
987fbd95
VS
115982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11601 Remove unused variable.
11602
0df363f3
VS
116032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11606 Remove set in if.
11607
b2c0c4a6
VS
116082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * include/grub/net.h: Remove double declarations.
11611
690c531f
VS
116122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 Remove "payload" command in ia64 Linux loader since I couldn't
11615 find any evidence of it being used for anything.
11616 Replace "relocate" command with an environment variable
11617
11618 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11619 fields.
11620 (ia64_boot_payload): Removed.
11621 (last_payload): Likewise.
11622 (RELOCATE_OFF): Likewise.
11623 (RELOCATE_ON): Likewise.
11624 (RELOCATE_FORCE): Likewise.
11625 (relocate): Likewise.
11626 (free_pages): Don't free payloads.
11627 (grub_load_elf64): Use common error messages.
11628 Use "linux_relocate" variable.
11629 Increase the space after boot_params.
11630 (grub_cmd_payload): Removed.
11631 (grub_cmd_relocate): Likewise.
11632 (grub_cmd_fpswa): Improve messages.
11633 (cmd_payload): Removed.
11634 (cmd_relocate): Likewise.
11635 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11636 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11637
01783768
VS
116382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 Convert UHCI to DMA framework.
11641
11642 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11643 (grub_uhci_pci_iter): Fill new members
11644 (grub_alloc_td): Use P2V and V2P functions.
11645 (grub_free_queue): Likewise.
11646 (grub_alloc_qh): Likewise.
11647 (grub_uhci_setup_transfer): Likewise.
11648 (grub_uhci_check_transfer): Likewise.
11649
43206939
VS
116502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11653 Remove assignment in if while on it.
11654
571e140e
VS
116552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * util/grub-mkstandalone.in: Fix modules directory.
11658
a9d96eeb
VS
116592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11662 on i386-pc target.
11663 (argp_parser): Accept "auto" as compression specification.
11664
e4e37e8d
VS
116652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 Fix `help' with unloaded modules.
11668
11669 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11670 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11671 (grub_dyncmd_dispatcher): Small stylistic fix.
11672 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11673 explicit help is requested.
11674
e1ea3ade
VS
116752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11678 Explicitly init restart while on it.
11679
27556881
VS
116802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11683 uninited variable.
11684
d65f6b36
VS
116852012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * util/grub-mknetdir.in: Use . rather than source for POSIX
11688 compatibility.
11689
0a1e473c
VS
116902012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11693
ce6647c8
VS
116942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11697 variable.
11698
66747894
VS
116992012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11702 without quotes.
11703
71645f6e
VS
117042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11707
0e1c1f61
VS
117082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11711 iteration of partitions.
11712
9c4b5c13
VS
117132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 Improve gettext support. Stylistic fixes and error handling fixes while
11716 on it.
11717
215c90cb
VS
117182012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11721 part. Instead setup the correct stack in RM.
11722 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11723 for stack.
11724 * include/grub/i386/relocator_private.h: New file.
11725
b5c1f9bf
VS
117262012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11729 argument.
11730 * util/grub-fstest.c (options): Add missing DEVICE part.
11731
b525fd83
VS
117322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 Clarify and unify messages.
11735
11736 * grub-core/commands/hashsum.c (options): Unify messages.
11737 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11738 literal-only message as translatable.
11739 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11740 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11741 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11742 commands.
11743 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11744 key, not the key used to unlock. Clarify what it's used for.
11745 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11746 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11747 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11748 * util/grub-editenv.c (options): Unify "verbose" message.
11749 * util/grub-fstest.c (read_file): Unify error message.
11750 (fstest): Add quotes around commands.
11751 (options): Unify "verbose" message.
11752 * util/grub-install.in: Add quotes around variable name.
11753 * util/grub-kbdcomp.in: Unify error message.
11754 * util/grub-mkfont.c (main): Likewise.
11755 * util/grub-mkrescue.in: Likewise.
11756 * util/grub-mklayout.c (options): Unify "verbose" message.
11757 * util/grub-mkstandalone.in: Unify help and verbose messages.
11758 * util/grub-mount.c (options): Unify "verbose" message.
11759 * util/grub-probe.c (options): Likewise.
11760 * util/grub-script-check.c (options): Likewise.
11761 * util/grub-setup.c (setup): Unify no-terminator message.
11762 (options): Use DEVICE and not DEV.
11763 Unify "verbose" message.
11764 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11765
0ae70393
VS
117662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 Improve and unify messages.
11769
11770 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11771 name. All users updated.
11772 Print filename in error.
11773 (read_device_map): Print filename in error.
11774 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11775 (grub_util_get_os_disk): Likewise.
11776 (grub_util_biosdisk_get_grub_dev): Likewise.
11777 (grub_util_check_block_device): Likewise.
11778 (grub_util_check_char_device): Likewise.
11779 (grub_make_system_path_relative_to_its_root): Likewise.
11780 * util/grub-editenv.c (create_envblk_file): Likewise.
11781 (open_envblk_file): Likewise.
11782 (write_envblk): Likewise.
11783 * util/grub-fstest.c (cmd_cp): Likewise.
11784 (cmd_cat): Likewise.
11785 (cmd_cmp): Likewise.
11786 * util/grub-menulst2cfg.c (main): Likewise.
11787 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11788 (write_font_width_spec): Likewise.
11789 (write_font_pf2): Likewise.
11790 * util/grub-mkimage.c (generate_image): New argument outname.
11791 All users updated.
11792 Remove unreacheable message.
11793 (options): Unify messages.
11794 (help_filter): Likewise.
11795 * util/grub-mklayout.c (usage): Removed (unused).
11796 (main): Print filename in error.
11797 * util/grub-mkrescue.in: Fix wrong quoting.
11798 * util/grub-setup.c (setup): Print filename in error.
11799 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11800 (check_sas): Likewise.
11801 * util/misc.c (grub_util_get_fp_size): Removed.
11802 (grub_util_get_image_size): Print filename in error.
11803 (grub_util_read_at): Removed.
11804 (grub_util_read_image): Print filename in error.
11805 (grub_util_load_image): Likewise.
11806 (grub_util_write_image_at): New argument filename. All users updated.
11807 Print filename in error.
11808 (grub_util_write_image): New argument filename. All users updated.
11809 Print filename in error.
11810 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11811 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11812
0a96117d
VS
118132012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/Makefile.core.def (pxechain): New module.
11816 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11817 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11818 function.
11819 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11820 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11821
aca002f7
VS
118222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11825 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11826 * include/grub/err.h (grub_error_saved): New struct.
11827 (grub_errmsg): Make array size explicit.
11828 * include/grub/misc.h (grub_error_save): New function.
11829 (grub_error_load): Likewise.
11830 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11831 (grub_error_push): Update `errno' member name.
11832 (grub_error_pop): Likewise
11833 * grub-core/net/tftp.c (tftp_data): New member save_err.
11834 (tftp_receive): Save error.
11835 (tftp_open): Restore error.
11836
a51dab13
VS
118372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11840 to real mode down to execute A20-related code in protected mode as
11841 intended.
11842
eb6e6649
GS
118432012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11844
11845 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11846 NULL when the argument `level' has an unexpected value.
11847
92cd0f6e
VS
118482012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Move platform-dependent files from $prefix to $prefix/$platform.
11851
11852 * config.h.in (GRUB_TARGET_CPU): New definition.
11853 (GRUB_PLATFORM): Likewise.
11854 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11855 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11856 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11857 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11858 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11859 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11860 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11861 * grub-core/normal/term.c (read_terminal_list): Likewise.
11862 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11863 $prefix/locale.
11864 (grub_gettext_init_ext): Likewise.
11865 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11866 grub_platform.
11867 * util/grub-install.in: Update directories.
11868 * util/grub-mknetdir.in: Likewise.
11869 * util/grub-mkrescue.in: Likewise.
11870
db606889
VS
118712012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11874 grub_error framework. All users updated.
11875
c39992a4
VS
118762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11879 lists (by always binsearching), improve caching (cache strings
11880 used for binsearch, not only results), improve
11881 maintainability (by using more structured binary search) and correct
11882 error handling.
11883
1e5ec32f
VS
118842012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * grub-core/script/execute.c (grub_script_return): Fix warning.
11887
ac576cde
VS
118882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * grub-core/script/execute.c (grub_script_return): Fix potential
11891 NULL-dereference.
11892 Reported by: Jim Meyering.
11893
498453f6
VS
118942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * po/POTFILES.in: Regenerate.
11897 * util/grub-install.in: Gettextize the strings missed in first pass.
11898
8be63f2e
VS
118992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * Makefile.util.def (grub-mkdevicemap): Removed.
11902 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11903 * include/grub/util/deviceiter.h: Removed.
11904 * util/deviceiter.c: Likewise.
11905 * util/getroot.c (grub_util_get_os_disk): New function.
11906 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11907 replacement for EFI.
11908 * util/grub-mkdevicemap.c: Removed.
11909 * util/grub-probe.c (probe): Handle PRINT_DISK.
11910 (argp_parser): Handle -t disk.
11911
8e1e4e39
VS
119122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * util/grub-mkfont.c: Migrate to argp.
11915 * util/grub-mklayout.c: Likewise.
11916 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11917 * util/grub-mkrelpath.c: Likewise.
11918 * util/grub-probe.c: Likewise.
11919 * util/grub-script-check.c: Likewise.
11920
4459819a
VS
119212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * util/grub-reboot.in: Add missing datarootdir.
11924 Add missing newline.
11925 * util/grub-set-default.in: Add missing datarootdir.
11926 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11927 * util/grub-mkrescue.in: Likewise.
11928
f65741c7
VS
119292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11932
c1a33466
VS
119332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * util/grub-kbdcomp.in: Add decent help and gettextize.
11936 * docs/man/grub-kbdcomp.h2m: New file.
11937
c76899a0
VS
119382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 Migrate grub-mkimage.c to argp.
11941
11942 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11943 (grub-setup): Likewise.
11944 * util/grub-setup.c (print_version): Move to ...
11945 * util/argp_common.c (print_version): ... here.
11946 * util/grub-setup.c (argp_program_version_hook): Move to ...
11947 * util/argp_common.c (argp_program_version_hook): ... here.
11948 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11949 safety.
11950 * util/grub-mkimage.c (main): Migrate to argp.
11951
57db0757
VS
119522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * util/grub-mkrescue.in: Use same message as
11955 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11956 for better translations.
11957
18534ad9
VS
119582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11961 options with generic grub-mkrescue.in with the goal of future
11962 merge.
11963
c84ba308
VS
119642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11965
11966 * grub-core/kern/mm.c: Add missing include of i18n.h
11967 * grub-core/lib/relocator.c: Likewise.
11968
347998c2
VS
119692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11972 error.
11973 (allocate_pages): Check return value.
11974 Replace fatal with error.
11975 (grub_linux_boot): Replace printf with dprintf.
11976 Check find_mmap_size return value.
11977 Replace fatal with error.
11978 Don't call grub_machine_fini.
11979 (grub_load_elf64): Replace printf with dprintf.
11980 (grub_cmd_linux): Likewise.
11981 (grub_cmd_initrd): Likewise.
11982 (grub_cmd_payload): Likewise.
11983
c779226e
VS
119842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11987 message.
11988 * grub-core/video/radeon_fuloong2e.c
11989 (grub_video_radeon_fuloong2e_setup): Likewise.
11990 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11991 * grub-core/video/video.c (grub_video_set_mode): Don't override
11992 standard out of memory message.
11993
dc87d45a
GS
119942012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11995
11996 NetBSD disk wedge support.
11997
11998 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11999 [__NetBSD__]: Handle NetBSD disk wedges.
12000 * util/getroot.c (convert_system_partition_to_system_disk)
12001 [__NetBSD__]: Likewise.
12002
055f856f
MW
120032012-02-03 Mark Wooding <mdw@distorted.org.uk>
12004
12005 * util/grub-mkconfig.in: Use umask rather than chmod to create
12006 grub.cfg.new to avoid insecure grub.cfg.
12007
4a9f8346
VS
120082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 * grub-core/commands/ls.c: Gettextize.
12011 * grub-core/commands/setpci.c: Likewise.
12012 * grub-core/commands/videotest.c: Likewise.
12013 * grub-core/disk/geli.c: Likewise.
12014 * grub-core/kern/mm.c: Likewise.
12015 * grub-core/lib/relocator.c: Likewise.
12016 * grub-core/loader/efi/appleloader.c: Likewise.
12017 * grub-core/loader/i386/xnu.c: Likewise.
12018 * grub-core/loader/ia64/efi/linux.c: Likewise.
12019 * grub-core/loader/xnu.c: Likewise.
12020 * grub-core/net/dns.c: Likewise.
12021 * grub-core/net/net.c: Likewise.
12022 * grub-core/script/lexer.c: Likewise.
12023 * grub-core/script/parser.y: Likewise.
12024 * grub-core/script/yylex.l: Likewise.
12025 * util/getroot.c: Likewise.
12026 * util/grub-setup.c: Likewise.
12027
a646a366
VS
120282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12031 number.
12032
54e2be26
VS
120332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12036
f7c71e68
VS
120372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12040 macro.
12041 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12042 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12043
a32d5c71
VS
120442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12047 * util/grub-install.in: Gettextize.
12048 * util/grub-mkconfig.in: Likewise.
12049 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12050 if not available.
12051 (grub_warn): Gettextize.
12052 * util/grub-mknetdir.in: Gettextize.
12053 * util/grub-mkrescue.in: Likewise.
12054 * util/grub-mkstandalone.in: Likewise.
12055 * util/grub-reboot.in: Likewise.
12056 * util/grub-set-default.in: Likewise.
12057 * util/grub.d/00_header.in: Likewise.
12058 * util/grub.d/10_hurd.in: Likewise.
12059 * util/grub.d/10_kfreebsd.in: Likewise.
12060 * util/grub.d/10_linux.in: Likewise.
12061 * util/grub.d/10_netbsd.in: Likewise.
12062 * util/grub.d/10_windows.in: Likewise.
12063 * util/grub.d/20_linux_xen.in: Likewise.
12064 * util/grub.d/30_os-prober.in: Likewise.
12065 * po/POTFILES-shell.in: Regenerate.
12066
69edd81a
RL
120672012-02-03 Richard Laager <rlaager@wiktel.com>
12068
12069 * util/grub-mkimage.c (main): Fix format-security warning.
12070 * util/grub-mkrelpath.c (main): Likewise.
12071 * util/grub-probe.c (main): Likewise.
12072
65f08dbf
RL
120732012-02-03 Richard Laager <rlaager@wiktel.com>
12074
12075 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12076 failure.
12077 Put back lost PRINT_DRIVE.
12078
e9084abe
RL
120792012-02-03 Richard Laager <rlaager@wiktel.com>
12080
12081 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12082 (grub_guess_root_devices): Replace strlen with sizeof.
12083 Avoid crash.
12084 (find_root_devices_from_poolname): Remove unused variable.
12085 Handle raidzN.
12086
cf5f7ee7
VS
120872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 Support install on multi-device filesystems.
12090
12091 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12092 (grub_guess_root_devices): ...this. Return char **. All users updated.
12093 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12094 Removed.
12095 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12096 (find_root_devices_from_poolname): ... here.
12097 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12098 Support zfs-fuse.
12099 (grub_guess_root_device): Rename to ...
12100 (grub_guess_root_devices): ... this. Return char **. All users updated.
12101 * util/grub-install.in: Handle multi-device filesystems.
12102 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12103 argument. All users updated.
12104 Handle multi-device filesystems.
12105 Use 'delim' as separator.
12106 Remove device check to allow filesystems on file.
12107 (main): Support -0 argument. Handle multi-device.
12108 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12109 Fix a cross-device check while on it.
12110 (arguments): Remove root_dev.
12111 (argp_parser): Remove -r.
12112 (main): Remove root_dev.
12113
2f53a9ed
VS
121142012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12117
17e1d934
VS
121182012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12121 symbol.
12122 Reported by: NODA, Kai <nodakai>.
12123
d3e3fab5
VS
121242012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12125
12126 Fix ehci on amd64.
12127
12128 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12129 pointers.
12130 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12131 (grub_ehci_setup_qh): Likewise.
12132 (grub_ehci_find_qh): Likewise.
12133 (grub_ehci_transaction): Likewise.
12134 (grub_ehci_setup_transfer): Likewise.
12135 (grub_ehci_check_transfer): Likewise.
12136 (grub_ehci_portstatus): Likewise.
12137 (grub_ehci_detect_dev): Likewise.
12138 (grub_ehci_transfer_controller_data): New field td_last_phys.
12139 (grub_ehci_setup_transfer): Fill td_last_phys.
12140 (grub_ehci_check_transfer): Use td_last_phys.
12141
3008675b
SG
121422012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12143
12144 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12145 if no submenu is present.
12146
fc9b5652
AN
121472012-02-01 Aleš Nesrsta <starous@volny.cz>
12148
12149 CBI support.
12150
12151 * include/grub/usb.h (grub_usbms_protocol_t): New values
12152 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12153 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12154 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12155 (grub_usbms_dev): Add subclass, protocol and intrpt.
12156 Remove in_maxsz and out_maxsz.
12157 (grub_usbms_reset): Rename to ...
12158 (grub_usbms_bo_reset): .. this.
12159 (grub_usbms_cbi_cmd): New function.
12160 (grub_usbms_cbi_reset): Likewise.
12161 (grub_usbms_reset): Likewise.
12162 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12163 (grub_usbms_transfer): Rename to ...
12164 (grub_usbms_transfer_bo): ... this.
12165 (grub_usbms_transfer_cbi): Likewise.
12166 (grub_usbms_transfer): Likewise.
12167
a2b81d53
AN
121682012-02-01 Aleš Nesrsta <starous@volny.cz>
121692012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12172 the support for the CS5536 modification thereos and few bugfixes.
12173
12174 * grub-core/Makefile.core.def (ehci): New module.
12175 * grub-core/bus/usb/ehci.c: New file.
12176 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12177 port and hubaddr. All users updated.
12178 Save port and hubaddr into dev structure.
12179 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12180 define.
12181 * include/grub/pci.h (grub_dma_phys2virt): New function.
12182 (grub_dma_virt2phys): Likewise.
12183 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12184
b1d51f02
VS
121852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12188 check as some mkfs implementations omit it.
12189
fc694106
VS
121902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12193
6c0920e3
VS
121942012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12197 Add new member volname2.
12198 (grub_jfs_label): Use volname2 if available.
12199
d1a46f9a
VS
122002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12203 over last_mounted as seen in image generated by mkfs.nilfs2.
12204 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12205
dec8ed14
VS
122062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12209 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12210 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12211
7397c69b
VS
122122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12215 over the sector.
12216
b3fe42ad
VS
122172012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12220 subvolume name (by removing a bogus and useless check).
12221
10476bb0
VS
122222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12225 sizeof while on it.
12226
9c08ad87
VS
122272012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12230 (grub_scsi_read_capacity10): ... this.
12231 (grub_scsi_read_capacity16): New function.
12232 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12233 0xffffffff.
12234 Fix off-by-one error.
12235 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12236 64-bit unsigned.
12237 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12238 (grub_scsi_read_capacity10): ... this.
12239 (grub_scsi_read_capacity_data): Rename to ...
12240 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12241 (grub_scsi_read_capacity16): New struct.
12242 (grub_scsi_read_capacity16_data): Likewise.
12243 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12244 grub_scsi_cmd_read_capacity10.
12245 New command grub_scsi_cmd_read_capacity16.
12246
bc8d0f45
VS
122472012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 SCSI >2TiB support.
12250
12251 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12252 (grub_scsi_write16): Likewise.
12253 (grub_scsi_read): Use read16 when necessary.
12254 (grub_scsi_write): Likewise.
12255 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12256 (grub_scsi_write16): Likewise.
12257 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12258
cc774926
VS
122592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 SCSI write support (for usbms mainly).
12262
12263 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12264 a const pointer.
12265 (grub_scsi_write): Implement.
12266 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12267
67639fd7
VS
122682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12271 variable.
12272
9079d3ed
VS
122732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12276
c6a6f204
VS
122772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * po/POTFILES.in: Regenerate.
12280
ecbf8cd1
VS
122812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12284 with grub_printf to avoid unnecessary fatal failure.
12285
0b3b3b38
VS
122862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12289 (INT_MAX): Likewise.
12290 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12291 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12292 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12293 (strcpy): Likewise.
12294 (strstr): Likewise.
12295 (strchr): Likewise.
12296 (strncpy): Likewise.
12297 (strcat): Likewise.
12298 (strncat): Likewise.
12299 (strcoll): Likewise.
12300 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12301 (GRUB_INT_MAX): Likewise.
12302
db7337a3
VS
123032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12306 unexpected error.
12307 (optimize_utf8): Likewise.
12308 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12309
f37c87e1
VS
123102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12311
12312 * grub-core/boot/i386/pc/lnxboot.S: Use
12313 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12314 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12315 location.
12316 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12317 definition.
12318 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12319
63fe43f3
VS
123202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12323 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12324 now to avoid double free.
12325 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12326 hostdisk.
12327 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12328 * util/grub-probe.c (escape_of_path): Always return a new copy.
12329 (print_full_name): Escape path.
12330 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12331 Fix hints on abstractions.
12332
ebe2c961
VS
123332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12336 Don't add "root" line if no compatibility hont is available.
12337 Suggested by: Seth Goldberg.
12338
2b5336a2
VS
123392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12342 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12343 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12344 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12345
74310bd8
VS
123462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12349
c30582ba
VS
123502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * util/grub-pe2elf.c (ehdr): Make static.
12353 (shdr): Likewise.
12354 (num_sections): Likewise.
12355 (offset): Likewise.
12356
5f47782c
VS
123572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 Eliminate ofpath limits and possible overflows.
12360
12361 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12362 (OF_PATH_MAX): Removed.
12363 (MAX_DISK_CAT): New const.
12364 (find_obppath): Use allocated rather than preallocated buffer.
12365 Return result. Argument of_path removed. All users updated.
12366 Add missing fdstat.
12367 (xrealpath): New function.
12368 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12369 Allocate rather than use preallocated buffer. All users updated.
12370 (__of_path_common): Use allocated rather than preallocatecd buffer.
12371 Return result. Argument of_path removed. All users updated.
12372 (vendor_is_ATA): Read only needed part form the file.
12373 (check_sas): Allocate depending on contents rather than fixed.
12374 (main) [STANDALONE]: Handle NULL result.
12375
f990cbf9
VS
123762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12379
9c6e84b8
VS
123802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Cryptodisk write support.
12383
12384 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12385 (grub_cryptodisk_decrypt): Moved logic to ...
12386 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12387 (grub_cryptodisk_write): Implement.
12388 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12389 (grub_util_fd_write): ... this. Make global.
12390 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12391
87cf9744
VS
123922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * include/grub/list.h (grub_list_remove): Don't crash if element is
12395 removed twice.
12396
ca8c0baf
VS
123972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 Rename ofconsole to console.
12400
12401 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12402 as sysnonym to console.
12403 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12404 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12405 Rename grub_ofconsole_ to grub_console_. All users updated
12406 (grub_console_term_output): Rename "ofconsole" to "console".
12407 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12408 as "console".
12409
64c8b8f6
VS
124102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12413 handling.
12414 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12415 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12416 GRUB_DISK_DEVICE_FILE_ID.
12417
f6c434d5
VS
124182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12421 and improve performance.
12422
5858b42d
VS
124232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12426 missing ieee1275/ prefix on whole disk.
12427
4ed3c26b
VS
124282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12431 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12432
df71143e
VS
124332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12436
076e7c0f
VS
124372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 Merge common RAID and LVM logic to an abstract diskfilter.
12440 Add LDM support using the same framework.
12441
12442 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12443 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12444 (libgrubmods): Remove grub-core/disk/raid.c and
12445 grub-core/partmap/gpt.c.
12446 * grub-core/Makefile.core.def (ldm): New module.
12447 (raid): Renamed to diskfilter. All users updated.
12448 * grub-core/disk/raid.c: Moved to ...
12449 * grub-core/disk/diskfilter.c: ... here.
12450 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12451 (lv_num): New var.
12452 (find_array): Renamed to ...
12453 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12454 (grub_is_array_readable): Renamed to ...
12455 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12456 (insert_array): New argument id.
12457 (is_node_readable): New function.
12458 (scan_device): Rename to ...
12459 (scan_disk): .. this. Restrict to one disk.
12460 (scan_devices): New function.
12461 (grub_diskfilter_iterate): Support multi-LV.
12462 Skip invisible and nameless LVs.
12463 (grub_diskfilter_memberlist): Support multi-LV.
12464 (grub_diskfilter_read_node): New function.
12465 (grub_raid_read): Most of logic moved to ...
12466 (read_segment): ... here
12467 (read_lv): New function.
12468 (grub_diskfilter_get_vg_by_uuid): New function.
12469 (grub_diskfilter_make_raid): Likewise.
12470 * grub-core/disk/ldm.c: New file.
12471 * grub-core/disk/lvm.c (vg_list): Removed.
12472 (lv_count): Likewise.
12473 (scan_depth): Likewise.
12474 (is_lv_readable): Likewise.
12475 (grub_lvm_getvalue): Advance pointer past the number.
12476 (find_lv): Removed.
12477 (do_lvm_scan): Refactored into ...
12478 (grub_lvm_detect): ... this. Support raid.
12479 (grub_lvm_iterate): Removed.
12480 (grub_lvm_memberlist): Likewise.
12481 (grub_lvm_open): Likewise.
12482 (grub_lvm_close): Likewise.
12483 (read_lv): Likewise.
12484 (read_node): Likewise.
12485 (is_node_readable): Likewise.
12486 (is_lv_readable): Likewise.
12487 (grub_lvm_read): Likewise.
12488 (grub_lvm_write): Likewise.
12489 (grub_lvm_dev): Use diskfilter
12490 (GRUB_MOD_INIT): Likewise.
12491 (GRUB_MOD_FINI): Likewise.
12492 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12493 new interface.
12494 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12495 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12496 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12497 grub_diskfilter_read_node.
12498 Fix a bug with xor.
12499 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12500 grub_diskfilter_read_node.
12501 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12502 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12503 (grub_disk_dev_iterate): Move from here...
12504 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12505 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12506 Make global.
12507 (grub_hostdisk_find_partition_start): Likewise.
12508 (grub_hostdisk_os_dev_to_grub_drive): New function.
12509 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12510 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12511 * util/getroot.c (make_device_name): ... here.
12512 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12513 Move to ...
12514 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12515 * grub-core/kern/emu/hostdisk.c
12516 (convert_system_partition_to_system_disk): Move to ...
12517 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12518 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12519 * util/getroot.c (device_is_wholedisk): ... here.
12520 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12521 * util/getroot.c (find_system_device): ... here.
12522 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12523 Move to ...
12524 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12525 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12526 Move to ...
12527 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12528 Handle LDM.
12529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12530 Move to ...
12531 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12532 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12533 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12534 DISKFILTER.
12535 * include/grub/raid.h: Renamed to ...
12536 * include/grub/diskfilter.h: ... this.
12537 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12538 (GRUB_RAID_LAYOUT_*): Make into array.
12539 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12540 (grub_diskfilter_vg): New struct.
12541 (grub_diskfilter_pv_id): Likewise.
12542 (grub_raid_member): Removed.
12543 (grub_raid_array): Likewise.
12544 (grub_diskfilter_pv): New struct.
12545 (grub_diskfilter_lv): Likewise.
12546 (grub_diskfilter_segment): Likewise.
12547 (grub_diskfilter_node): Likewise.
12548 (grub_diskfilter_get_vg_by_uuid): New proto.
12549 (grub_raid_register): Inline.
12550 (grub_diskfilter_unregister): Likewise.
12551 (grub_diskfilter_make_raid): New proto.
12552 (grub_diskfilter_vg_register): Likewise.
12553 (grub_diskfilter_read_node): Likewise.
12554 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12555 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12556 (grub_util_is_ldm): Likewise.
12557 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12558 (grub_hostdisk_find_partition_start): Likewise.
12559 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12560 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12561 New definition.
12562 (grub_gpt_partition_map_iterate): New proto.
12563 * include/grub/lvm.h (grub_lvm_vg): Removed.
12564 (grub_lvm_pv): Likewise.
12565 (grub_lvm_lv): Likewise.
12566 (grub_lvm_segment): Likewise.
12567 (grub_lvm_node): Likewise.
12568 * util/getroot.c [...]
12569 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12570 (probe_abstraction): Likewise.
12571 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12572 (main): Remove dead logic.
12573
8a7f9b9c
VS
125742012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 Simplify root device discover and don't fail when trying to open
12577 incorrect devices.
12578
12579 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12580 function.
12581 (get_diskname_from_path): Likewise.
12582 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12583 of iterating.
12584
30545b85
VS
125852012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12588
28ea58cf
VS
125892012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12592 pastthe end.
12593
692dabca
VS
125942012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * util/grub-install.in: Add missing \.
12597 Reported by: gentoofan
12598
f6e4ea70
VS
125992012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12602 (direct_read): Use correct compressed size.
12603 (grub_squash_read_data): Likewise.
12604
126052012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12606
12607 * docs/grub.texi (Platform limitations): New section.
12608 (Platform-specific operations): Likewise.
12609 * docs/grub-dev.texi (Porting): Likewise.
12610
76261110
VS
126112012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 IEEE1275 disk write support.
12614
12615 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12616 const void *.
12617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12618 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12619 and seek loginc to ...
12620 (grub_ofdisk_prepare): ... here.
12621 (grub_ofdisk_write): Implement.
12622
fc36d603
VS
126232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 ARC disk write support.
12626
12627 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12628 (reopen): New argument writable. All users updated.
12629 Handle required access mode.
12630 (grub_arcdisk_write): Implement.
12631 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12632 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12633
e06c2e7a
VS
126342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12637 (read_sblock): Don't attempt to read superblocks outside the disk size.
12638
ff447958
VS
126392012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12642 first superblock to find the second one when possible.
12643
9e88df39
VS
126442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 * util/grub-install.in: Fix an ARC bug.
12647 Print a warning if no platform-specific setup is available.
12648
bb26e4ff
VS
126492012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 Use static allocation rather than scratch pointer in reed_solomon.
12652 It decreases its size significantly and avoids a variable in .text.
12653
12654 * grub-core/lib/reed_solomon.c (scratch): Removed.
12655 (chosenstat): New const or static array.
12656 (sigma): Likewise.
12657 (errpot): Likewise.
12658 (errpos): Likewise.
12659 (sy): Likewise.
12660 (mstat): Likewise.
12661 (errvals): Likewise.
12662 (eqstat): Likewise.
12663 (pol_evaluate): Replace x with log_x argument. All users updated.
12664 (syndroms): Removed.
12665 (gauss_solve): Use statically allocated arrays.
12666 (rs_recover): Likewise.
12667 Calculate syndroms directly.
12668 (decode_block): Use statically allocated arrays.
12669 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12670 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12671
2e13ede5
VS
126722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 Eliminate fixed limit on reed solomon decoder length.
12675
12676 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12677 rather than hardcoding the address.
12678 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12679 no_reed_solomon_length.
12680 Move gate_a20 to no-reed-solomon part.
12681 Don't force a particular size of no reed-solomon part.
12682 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12683 Removed.
12684 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12685 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12686
f8a9ab12
VS
126872012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/commands/wildcard.c (match_files): Handle filenames
12690 without explicit device.
12691 (wildcard_expand): Don't add explicit device if not already present.
12692 * tests/grub_script_echo1.in: Add a new expansion test.
12693
87edb894
VS
126942012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 Replace single-linked with double-linked lists. It results in more
12697 compact and more efficient code.
12698
12699 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12700 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12701 (grub_list_remove): Moved from here ...
12702 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12703 (grub_prio_list_insert): Set prev.
12704 * include/grub/list.h (grub_list): Add prev. All users updated.
12705
48b391e9
VS
127062012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Handle newer autotools. Add some missing quotes while on it.
12709
12710 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12711 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12712 (pkgdata_DATA): ... here.
12713 * Makefile.util.def (update-grub_lib): Removed.
12714 * conf/Makefile.common (pkglib_DATA): Removed.
12715 (pkglib_SCRIPTS): Likewise.
12716 (pkgdata_DATA): New variable.
12717 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12718 needed.
12719 Add missing quotes.
12720 Remove unused variable while on it.
12721 * tests/util/grub-shell.in: Likewise.
12722 * util/grub-install.in: Likewise.
12723 * util/grub-mkconfig.in: Likewise.
12724 * util/grub-mknetdir.in: Likewise.
12725 * util/grub-mkrescue.in: Likewise.
12726 * util/grub-mkstandalone.in: Likewise.
12727 * util/grub.d/00_header.in: Likewise.
12728 * util/grub.d/10_hurd.in: Likewise.
12729 * util/grub.d/10_illumos.in: Likewise.
12730 * util/grub.d/10_kfreebsd.in: Likewise.
12731 * util/grub.d/10_linux.in: Likewise.
12732 * util/grub.d/10_netbsd.in: Likewise.
12733 * util/grub.d/10_windows.in: Likewise.
12734 * util/grub.d/20_linux_xen.in: Likewise.
12735 * util/grub.d/30_os-prober.in: Likewise.
12736 * util/update-grub_lib.in: Removed.
12737
127382012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12739
12740 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12741 a workaround for intel problem.
12742
66832792
PRP
127432012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
127442012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
127452012-01-23 pfsmorigo
12746
12747 * util/grub-install.in: Support dd'in into PreP partition.
12748 * util/grub-probe.c (probe): Support discovering partition type.
12749 (main): Support -t msdos_parttype.
12750
7816a17e
VS
127512012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12754 infinite recursion using counter.
12755 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12756 init to skip it if the magic check fails.
12757 (dec_stream_header): Init s->crc32.
12758
8f9d3a8c
ZB
127592012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
127602012-01-22 Zachary Bedell <pendorbound@gmail.com>
127612012-01-22 Richard Laager <rlaager@wiktel.com>
12762
12763 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12764 All users updated.
12765 (find_bestub): Determine correct size.
12766 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12767 (scan_disk): Align the size down.
12768 Call check pool before find_bestub to have ashift.
12769
b055dd32
VS
127702012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12773 dprintf in no-malloc zone.
12774
d779e9bd
ML
127752012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12776
12777 * configure.ac: Add back in test for limits.h.
12778
b508af69
VS
127792012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 Support 4K-sector NTFS.
12782
12783 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12784 (grub_ntfs_data): Remove blocksize.
12785 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12786 Remove data argument. All users updated.
12787
dad9c8b5
VS
127882012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12791 being in .text to avoid dprel references.
12792 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12793 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12794 (grub_arch_highmemsize): Likewise.
12795 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12796 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12797 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12798
d43a777e
VS
127992012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12802
12803 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12804 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12805
34e4208f
VS
128062012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12809 GRUB_UTIL.
12810 (grub_set_datetime_cmos): Likewise.
12811
3ec0fc1c
VS
128122012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 Make XZ compression parameters dependent on target and not host CPU.
12815
12816 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12817 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12818
22489834
VS
128192012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12822 set but not used variable.
12823
8502fbca
VS
128242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12827 created when no uuid support is compiled into mkfs.reiser.
12828
76df2068
VS
128292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12832 (utf8_to_macroman): Do the opposite.
12833 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12834
64e3f8f6
VS
128352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * configure.ac: Refise build qemu_mips w/o unifont.
12838
9c271078
VS
128392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 Eliminate grub_min/grub_max prone to overflow usage.
12842
12843 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12844 (poll_nonroot_hub): Likewise.
12845 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12846 (grub_affs_label): Likewise.
12847 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12848 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12849 (grub_hfs_label): Likewise.
12850 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12851 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12852 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12853 (zap_leaf_array_get): Likewise.
12854 (dnode_get_path): Likewise.
12855 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12856 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12857 * grub-core/script/execute.c (grub_script_break): Likewise.
12858 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12859 grub_max.
12860 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12861 * include/grub/misc.h (grub_min): Removed.
12862 (grub_max): Likewise.
12863
80662dbc
VS
128642012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12865
12866 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12867 direct.inode = 0.
12868
e6da1467
VS
128692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12872
b1ac4cb1
VS
128732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12876
b4bf7c3b
VS
128772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12880 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12881
8ee1101a
VS
128822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12885 rather than a hack for grub_strncasemap.
12886
128872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 Support multiple initrds
12890 Note: part of this was accidently committed in r3739.
12891
12892 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12893 initrd.
12894 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12895 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12896 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12897 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12898 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12899
4d1e2bc9
VS
129002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12903 disks with unknown size.
12904 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12905
75b49ebe
VS
129062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 Remove defines pertaining to arbitrary limits not affecting GRUB
12909 anymore.
12910
12911 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12912 (EXT2_MAX_SYMLINKCNT): Likewise.
12913 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12914 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12915 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12916 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12917 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12918 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12919 (DN_MAX_OBJECT_SHIFT): Likewise.
12920 (DN_MAX_OFFSET_SHIFT): Likewise.
12921 (DN_MAX_OBJECT): Likewise.
12922 (DNODES_PER_LEVEL_SHIFT): Likewise.
12923 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12924 (SPA_MAXBLOCKSIZE): Likewise.
12925 (SPA_BLOCKSIZES): Likewise.
12926 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12927 (MZAP_MAX_BLKSZ): Likewise.
12928
74a1dce7
VS
129292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12932 handle NULL appropriately.
12933 Remove MIN.
12934
30c7d3ce
VS
129352012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 Fix efiemu.
12938
12939 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12940 cpu/types.h.
12941 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12942 * configure.ac: Fix efiemu check.
12943
3c76ea0c
VS
129442012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12947 grub_probe.
12948 Reported by: adamwill
12949
7e532280
SG
129502012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12951
12952 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12953
30492374
VS
129542012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 Fix handling of wide characters in gfxterm.
12957
12958 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12959 (clear_char): Likewise.
12960 (paint_char): Skip code == NULL chars.
12961 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12962
e70cb72f
VS
129632012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/normal/charset.c: Move comment to right place.
12966
5c827cf9
VS
129672012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12970 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12971 (grub_affs_mount): Revert the correct version checking.
12972
53603892
VS
129732012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * docs/grub.texi (Unicode): Mention several other unsupported features.
12976
ff094b9b
VS
129772011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12980 case statements as compile-time one.
12981 (direct_read): Prevent spurious warnings.
12982 (grub_squash_read_data): Likewise.
12983
c029da8a
VS
129842011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 Various squash4 fixes and LZO and XZ support.
12987
12988 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12989 Add xzembed source files.
12990 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12991 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12992 (grub_squash_inode): New subtype long_dir.
12993 (SQUASH_TYPE_LONG_DIR): New inode type.
12994 (COMPRESSION): New enum.
12995 (XZBUFSIZ): New const.
12996 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12997 (read_chunk): Use data->decompress.
12998 (zlib_decompress): New function.
12999 (lzo_decompress): Likewise.
13000 (xz_decompress): Likewise.
13001 (squash_mount): Set new data fields.
13002 (grub_squash_iterate_dir): Handle long dir.
13003 (squash_unmount): Free xzdec and xzbuf.
13004 (grub_squash_open): Check ino type.
13005 (direct_read): Stylistic fixes. Use data->decompress.
13006 (grub_squash_read_data): Likewise.
13007 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13008 (get_byte): Likewise.
13009 (grub_zlib_disk_read): Removed.
13010 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13011 (GRUB_POSIX_BOOL_DEFINED): New define.
13012 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13013 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13014 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13015 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13016
7a45a539
VS
130172011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 Don't override more informative errors.
13020
13021 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13022 * grub-core/font/font.c (open_section): Likewise.
13023 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13024 filename. Don't override errors.
13025 (grub_cmd_openbsd_ramdisk): Don't override errors.
13026 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13027 (grub_cmd_initrd): Likewise.
13028 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13029 (grub_cmd_initrd): Likewise.
13030 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13031 (grub_cmd_linux): Likewise.
13032 (grub_cmd_initrd): Likewise.
13033 (grub_cmd_payload): Likewise.
13034 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13035 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13036 (grub_cmd_module): Likewise.
13037 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13038 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13039 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13040 (grub_cmd_xnu_mkext): Likewise.
13041 (grub_cmd_xnu_ramdisk): Likewise.
13042 (grub_xnu_check_os_bundle_required): Likewise.
13043 (grub_xnu_load_kext_from_dir): Likewise.
13044 (grub_cmd_xnu_kextdir): Likewise.
13045 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13046
b2d004db
VS
130472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13050 as 1024 in block size field. Found on one of my test images.
13051 Small optimisation while on it.
13052
ec000eac
VS
130532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13056 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13057 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13058 performance fixes while on it.
13059 (grub_sfs_close): Fix memory leak while on it.
13060 (grub_sfs_label): Convert Latin1 to UTF-8.
13061
f50e1165
VS
130622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13065 space to avoid overflows.
13066 (grub_hfs_label): Convert from macroman to UTF-8.
13067
2ae254de
VS
130682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13071
0108f491
VS
130722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13075
f45f5f89
VS
130762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * unicode: Import Unicode 6.0 data.
13079
4d8c4765
VS
130802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13081
63fa8ef9
VS
13082 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13083 outside of range.
13084
130852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13088
13089 * include/grub/charset.h (grub_getend): New function.
13090 * grub-core/script/function.c (grub_script_function_find): Use
13091 grub_getend.
13092 * grub-core/normal/completion.c (add_completion): Likewise.
13093
f3cb4a4e
VS
130942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13097 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13098 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13099 (GRUB_UNICODE_TAG_END): Likewise.
13100 (GRUB_UNICODE_LAST_VALID): Likewise.
13101
5da8dbc5
VS
131022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13105 len and make it smaller. All users updated.
13106 * util/import_unicode.py: Put length and not end character.
13107 Check length.
13108
8569f13d
VS
131092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 Make better Unicode-compliant and unify some UTF-8 code pathes.
13112
13113 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13114 valid character.
13115 (grub_is_valid_utf8): Use grub_utf8_process.
13116 Check resulting code range.
13117 (grub_utf8_to_ucs4): Use grub_utf8_process.
13118 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13119 valid character.
13120
cc4fddf5
VS
131212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13124
bbc47747
VS
131252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * docs/grub.texi (Filesystems): Mention AFS.
13128
f63d6bf4
VS
131292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * docs/grub.texi (Filesystems): Clarify restrictions.
13132 (Regexp): Mention non-Unicode regexp behaviour.
13133 (Other): Mention non-Unicode matching behaviour.
13134
74bbf0db
VS
131352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13136
f63d6bf4 13137 Make HFS implementation use MacRoman.
74bbf0db
VS
13138
13139 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13140 (macroman): New const array.
13141 (macroman_to_utf8): New function.
13142 (utf8_to_macroman): Likewise.
13143 (grub_hfs_find_dir): Use utf8_to_macroman.
13144 (grub_hfs_dir): Use macroman_to_utf8.
13145 Set case_insensitive.
13146
4ea0316e
VS
131472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13150
d3c13cbd
VS
131512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 Integrate hints into autogeneration scripts.
13154
13155 * docs/grub.texi (Filesystems): Add a hostdisk example.
13156 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13157 (grub-probe): Add ofpath.
13158 * gentpl.py: Remove group nosparc64.
13159 * grub-core/commands/search.c (cache_entry): New struct.
13160 (cache): New var.
13161 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13162 * grub-core/commands/search_wrap.c (options): Add platform-specific
13163 hint options.
13164 (grub_cmd_search): Handle platform-specific hints.
13165 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13166 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13167 (grub_util_biosdisk_data): Likewise.
13168 (grub_util_biosdisk_open): Set device_map.
13169 (read_device_map): Handle "" as indication of no map.
13170 Set device_map.
13171 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13172 (grub_util_biosdisk_get_compatibility_hint): New function.
13173 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13174 * include/grub/emu/hostdisk.h
13175 (grub_util_biosdisk_get_compatibility_hint): New proto.
13176 * util/grub-install.in: Don't call grub-mkdevicemap.
13177 Add platform-specific hint to load.cfg.
13178 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13180 hints. Set root preliminary to compatibility hint, not to OS name.
13181 * util/grub-probe.c (PRINT_*): Add hints.
13182 (print): Make static.
13183 (escape_of_path): New function.
13184 (guess_bios_drive): Likewise.
13185 (guess_efi_drive): Likewise.
13186 (guess_baremetal_drive): Likewise.
13187 (print_full_name): Likewise.
13188 (probe): Handle hints.
13189 (main): Likewise.
13190 * util/ieee1275/devicemap.c: Removed.
13191 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13192 updated.
13193 (grub_util_devname_to_ofpath): Return NULL on failure.
13194
13195 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13196 resource leak.
13197 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13198
13199 * po/POTFILES.in: Regenerated.
13200
13201 Allow purely long options
13202
13203 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13204 (SHORT_ARG_USAGE): Likewise.
13205 (grub_arg_show_help): Compare opt with help_options.
13206 (parse_option): Receive opt as argument. If makes big simplificatons.
13207 All users updated
13208
00ce2df3
VS
132092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13212 Restructure to avoid warning.
13213
e77e325f
VS
132142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13215
13216 * util/grub-install.in: Account for possible escaped comma in device
13217 name.
13218
165099ea
VS
132192011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13222 channel.
13223
ce4a999d
VS
132242011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13227 allocation and zero-setting.
13228 (grub_ieee1275_get_devname): Check that alias is complete.
13229
379586ad
VS
132302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13233 unaligned segments.
13234
9197b0ad
VS
132352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13238 prefix.
13239 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13240 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13241 Add ieee1275 prefix.
13242
edddb7f9
VS
132432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * docs/grub.texi (Filesystems): Update.
13246
a1a8b1b9
VS
132472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 Support odc, newc and bigendian cpio formats.
13250
13251 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13252 * grub-core/Makefile.core.def (newc): New module.
13253 (odc): Likewise.
13254 (cpio_be): Likewise.
13255 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13256 (MAGIC): Likewise.
13257 (MAGIC2): Likewise.
13258 (head) [MODE_ODC]: Adapt for the format.
13259 (head) [MODE_NEWC]: Likewise.
13260 (head) [!MODE_*]: Write fields of interest as arrays.
13261 (MAGIC_USTAR): Removed.
13262 (read_number) [MODE_NEWC]: Change to hex.
13263 (read_number) [!MODE_*]: Parse binary arrays.
13264 (grub_cpio_find_file): Factor out the code for better structure and
13265 always use read_number.
13266 (grub_cpio_mount): Use MAGIC and MAGIC2.
13267 (grub_cpio_dir): Exit on first hook non-0 return.
13268 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13269 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13270 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13271 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13272 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13273 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13274 * grub-core/fs/newc.c: New file.
13275 * grub-core/fs/odc.c: Likewise.
13276 * grub-core/fs/cpio_be.c: Likewise.
13277
58eba9ee
VS
132782011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 Fix handling of tar numbers occupying the whole field.
13281
13282 * grub-core/fs/cpio.c (read_number): New function.
13283 (grub_cpio_find_file): Use read_number instead of strtoull.
13284
a54a0e12
VS
132852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13288 occupying the whole field size.
13289
a6120aca
LA
132902011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13291
13292 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13293
a93964ce
VS
132942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13297
3ea1ca46
SG
132982011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13299
13300 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13301 TARGET_IMG_LDFLAGS.
13302
b87f7ef2
VS
133032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13306 (mountinfo_entry): Increase the field size to take escaping into
13307 account.
13308 (find_root_device_from_libzfs): Add one byte to size of strings for
13309 security.
13310
62092395
VS
133112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13314 an assert.
13315 * util/grub-setup.c (setup): Likewise.
13316
1f0b1a77
VS
133172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13320 _LzmaDecodeA.
13321
8eba9997
VS
133222011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * docs/grub.texi (Internationalisation): New section.
13325
dd0c91e9
VS
133262011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * docs/grub.texi (Loopback booting): New section.
13329
133302011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13331
13332 * util/grub-mkstandalone.in: Fix minor typo errors.
13333
198e150a
VS
133342011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13337
13338 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13339 net/icmp.c and net/icmp6.c.
13340 (http): New module.
13341 (priority_queue): Likewise.
13342 * grub-core/io/bufio.c: Rewritten.
13343 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13344 TYPE_WITH_CONFIGFILE_OPTION.
13345 (legacy_commands): Add bootp and dhcp.
13346 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13347 (grub_legacy_parse): Likewise.
13348 * grub-core/lib/priority_queue.c: New file.
13349 * grub-core/net/arp.c: Add missing license header.
13350 (arp_find_entry): Removed.
13351 (arp_find_entry): Likewise.
13352 (grub_net_arp_resolve): Rename to ...
13353 (grub_net_arp_send_request): ...this.
13354 (grub_net_arp_receive): New card argument.
13355 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13356 Set router and DNS server.
13357 (grub_net_configure_by_dhcp_ack): Handle routing information.
13358 (grub_cmd_bootp): Set checksum.
13359 (grub_bootp_init): Remove net_dhcp.
13360 * grub-core/net/dns.c: New file.
13361 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13362 completion.
13363 (get_card_packet): Handle allocation.
13364 (grub_efinet_findcards): Set mtu.
13365 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13366 (get_card_packet): Handle allocation.
13367 (emucard): Set mtu.
13368 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13369 (GRUB_MOD_INIT): Set mtu.
13370 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13371 mtu.
13372 (get_card_packet): Handle allocation.
13373 (grub_ofnet_findcards): Set mtu.
13374 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13375 assert.
13376 (grub_net_recv_ethernet_packet): Handle IPv6.
13377 * grub-core/net/http.c: New file.
13378 * grub-core/net/icmp.c: Likewise.
13379 * grub-core/net/icmp6.c: Likewise.
13380 * grub-core/net/ip.c (ip6addr): New type.
13381 (ip6hdr): Likewise.
13382 (reassemble): Likewise.
13383 (cmp): New function.
13384 (reassembles): New variable.
13385 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13386 (id): New variable.
13387 (send_fragmented): New function.
13388 (grub_net_send_ip_packet): Rename to ...
13389 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13390 Handle non-UDP.
13391 (grub_net_recv_ip_packets): Rename to ...
13392 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13393 (free_rsm): New function.
13394 (free_old_fragments): Likewise.
13395 (grub_net_recv_ip4_packets): New function.
13396 (grub_net_send_ip6_packet): Likewise.
13397 (grub_net_send_ip_packet): Likewise.
13398 (grub_net_recv_ip6_packets): Likewise.
13399 (grub_net_recv_ip_packets): Likewise.
13400 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13401 (LINK_LAYER_CACHE_SIZE): New const.
13402 (link_layer_find_entry): New function.
13403 (grub_net_link_layer_add_address): Likewise.
13404 (grub_net_link_layer_resolve_check): Likewise.
13405 (grub_net_link_layer_resolve): Likewise.
13406 (grub_net_ipv6_get_slaac): Likewise.
13407 (grub_net_ipv6_get_link_local): Likewise.
13408 (grub_cmd_ipv6_autoconf): Likewise.
13409 (parse_ip): Handle one number representation.
13410 (parse_ip6): New functoion.
13411 (match_net): Handle IPv6.
13412 (grub_net_resolve_address): Handle IPv6 and DNS.
13413 (grub_net_resolve_net_address): Handle IPv6.
13414 (route_cmp): New function.
13415 (grub_net_route_address): Find best route.
13416 (grub_net_addr_to_str): Handle IPv6.
13417 (grub_net_addr_cmp): New function.
13418 (grub_net_add_addr): Register local route.
13419 (print_net_address): Handle net address.
13420 (grub_net_poll_cards): Retransmit TCP.
13421 (grub_net_poll_cards_idle_real): Likewise.
13422 (have_ahead): New function.
13423 (grub_net_seek_real): Use underlying seek.
13424 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13425 * grub-core/net/tcp.c: New file.
13426 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13427 (cmp): New function.
13428 (ack): Likewise.
13429 (tftp_receive): Handle unordered input.
13430 (destroy_pq): New function.
13431 (tftp_close): Close pq.
13432 * grub-core/net/udp.c: Put missing license header.
13433 (grub_net_udp_socket): New function.
13434 (udp_socket_register): Likewise.
13435 (grub_net_udp_close): Likewise.
13436 (grub_net_recv_udp_packet): Check checksum.
13437 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13438 * include/grub/misc.h (grub_memchr): New function.
13439 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13440 (grub_net_card_driver): Return buf in recv.
13441 (grub_net_slaac_mac_list): New struct.
13442 (grub_network_level_protocol_id): Add ipv6.
13443 (grub_net_network_level_addr): Likewise.
13444 (grub_net_network_level_net_addr): Likewise.
13445 (grub_net_app_protocol): Add seek.
13446 (grub_net_socket): Removed.
13447 (grub_net_sockets): Likewise.
13448 (grub_net_socket_register): Likewise.
13449 (grub_net_socket_unregister): Likewise.
13450 (FOR_NET_SOCKETS): Likewise.
13451 (grub_net_add_addr): Add const.
13452 (GRUB_NET_BOOTP_*): New enum.
13453 (grub_net_addr_cmp): New proto.
13454 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13455 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13456 (grub_net_hwaddr_to_str): NEw proto.
13457 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13458 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13459 (grub_dns_init): New proto.
13460 (grub_dns_fini): Likewise.
13461 (grub_net_tcp_retransmit): Likewise.
13462 (grub_net_link_layer_add_address): Likewise.
13463 (grub_net_link_layer_resolve_check): Likewise.
13464 (grub_net_link_layer_resolve): Likewise.
13465 (grub_net_dns_lookup): Likewise.
13466 (grub_net_add_dns_server): Likewise.
13467 (grub_net_remove_dns_server): Likewise.
13468 (GRUB_NET_TRIES): New const.
13469 (GRUB_NET_INTERVAL): Likewise.
13470 * include/grub/net/arp.h: Mostly rewritten.
13471 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13472 * include/grub/net/ip.h: Mostly rewritten.
13473 * include/grub/net/netbuff.h: Indent.
13474 * include/grub/net/tcp.h: New file.
13475 * include/grub/net/udp.h: Mostly rewritten.
13476 * include/grub/priority_queue.h: New file.
13477 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13478 (grub_swap_bytes64_compile_time): Likewise.
13479 (grub_cpu_to_be16_compile_time): Likewise.
13480 (grub_cpu_to_be32_compile_time): Likewise.
13481 (grub_cpu_to_be64_compile_time): Likewise.
13482 (grub_be_to_cpu64_compile_time): Likewise.
13483
215c1800
VS
134842011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13485
13486 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13487 UINT_TO_PTR with cast.
13488
c17e546c
VS
134892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13492 don't use them.
13493
ff6b18b6
VS
134942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13497 already there.
13498
70ffcc93
VS
134992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13502 confusing ipxe.
13503
e5f4d260
VS
135042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13507 Add missing const attribute.
13508 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13509 Likewise.
13510 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13511 Likewise.
13512
8e54b4b7
VS
135132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13516 misaligned access.
13517 (serpent_setkey): Likewise.
13518 (serpent_encrypt_internal): Likewise.
13519 (serpent_decrypt_internal): Likewise.
13520 (serpent_encrypt): Don't put an alignment-increasing cast.
13521 (serpent_decrypt): Likewise.
13522 (serpent_test): Likewise.
13523
813c0a2b
VS
135242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13527
f2b60fbd
VS
135282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13531
13532 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13533 grub_addr_t casts.
13534 (PTR_TO_UINT64): Likewise.
13535 (PTR_TO_UINT32): Likewise.
13536
5ef5c511
VS
135372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13540 because of stack.
13541 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13542 limit.
13543
c476e6df
VS
135442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13547 text_width > available width a bit more gracefully.
13548
384ad7cc
VS
135492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13552 current address calculation.
13553
96f8caf8
VS
135542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13557 stack.
13558 (encode_block): Likewise.
13559
276b7a8b
VS
135602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13563 certainety.
13564
e3fd394a
VS
135652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13568 non-RS part to avoid RS messing with GDT.
13569 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13570 Increase to suit in realmode routines.
13571
135722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/kern/i386/realmode.S: Increase alignment.
13575 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13576
ee9c2e7a
VS
135772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13580 be deterministic.
13581 (syndroms): Compute 0 syndrom.
13582 (rs_recover): Use 0 syndrom.
13583
7a7f7cc9
VS
135842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13587
a14b16d1
VS
135882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13591 brackets.
13592
9f59e9fc
VS
135932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13594
ca1b552c
VS
13595 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13596 account.
13597 (get_top_pad): Likewise.
13598 (get_right_pad): Likewise.
13599 (get_bottom_pad): Likewise.
13600
136012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13604
e739d698
VS
136052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13608 attribute as the structure isn't guaranteed to be properly aligned.
13609 (grub_efi_pci_device_path): Likewise.
13610 (grub_efi_pccard_device_path): Likewise.
13611 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13612 specify the size of `memory_type'.
13613 (grub_efi_vendor_device_path): Likewise.
13614 (grub_efi_controller_device_path): Likewise.
13615 (grub_efi_acpi_device_path): Likewise.
13616 (grub_efi_expanded_acpi_device_path): Likewise.
13617 (grub_efi_atapi_device_path): Likewise.
13618 (grub_efi_scsi_device_path): Likewise.
13619 (grub_efi_fibre_channel_device_path): Likewise.
13620 (grub_efi_1394_device_path): Likewise.
13621 (grub_efi_usb_device_path): Likewise.
13622 (grub_efi_usb_class_device_path): Likewise.
13623 (grub_efi_i2o_device_path): Likewise.
13624 (grub_efi_mac_address_device_path): Likewise.
13625 (grub_efi_ipv4_device_path): Likewise.
13626 (grub_efi_ipv6_device_path): Likewise.
13627 (grub_efi_infiniband_device_path): Likewise.
13628 (grub_efi_uart_device_path): Likewise.
13629 (grub_efi_vendor_messaging_device_path): Likewise.
13630 (grub_efi_hard_drive_device_path): Likewise.
13631 (grub_efi_cdrom_device_path): Likewise.
13632 (grub_efi_vendor_media_device_path): Likewise.
13633 (grub_efi_file_path_device_path): Likewise.
13634 (grub_efi_protocol_device_path): Likewise.
13635 (grub_efi_piwg_device_path): Likewise.
13636 (grub_efi_bios_device_path): Likewise.
13637
cb8f88ea
VS
136382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13641 (grub_ucs4_to_utf8_alloc): Likewise.
13642 (grub_ucs4_to_utf8): Likewise.
13643 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13644 (grub_ucs4_to_utf8_alloc): Likewise.
13645
309e5352
VS
136462011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 AFFS never uses unicode.
13649
13650 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13651 (grub_latin1_to_utf8): New inline function.
13652 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13653
e7987e1b
VS
136542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13657 overflow.
13658
efc2616e
VS
136592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13662 (grub_squash_dirent_header): Likewise.
13663 (read_chunk): Don't double swap.
13664 (grub_squash_iterate_dir): Fix swap sizes.
13665
3c349f5a
VS
136662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13667
13668 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13669
b453412d
VS
136702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13673 (grub_hfs_iterate_dir): Likewise.
13674
12e9d4d1
VS
136752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 Fix video on platforms where unaligned access is forbidden.
13678 Make several optimisations while on it.
13679
13680 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13681 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13682 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13683 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13684 Disable.
13685 (grub_video_fbblit_replace_16bit_1bit):
13686 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13687 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13688 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13689 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13690 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13691 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13692 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13693 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13694 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13695 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13696 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13697 (grub_video_fbblit_replace_index_RGB888): Likewise.
13698 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13699 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13700 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13701 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13702 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13703 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13704 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13705 Disable.
13706 (grub_video_fbblit_blend_XXX565_1bit):
13707 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13708 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13709 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13710 void *.
13711 * grub-core/video/fb/video_fb.c (common_blitter)
13712 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13713 (grub_video_fb_create_render_target_from_pointer)
13714 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13715 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13716 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13717 definition.
13718 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13719
ace96609
VS
137202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13723 HH22 and HM10 relocations.
13724
fd261d73
VS
137252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13728
e59b7857
VS
137292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13732 allocation succeeded.
13733
9b4baaa4
VS
137342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13737 argument a u8 pointer. All users updated.
13738 Handle unaligned buffers.
13739
dc713193
VS
137402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13743 add_part to workaround compiler bug.
13744
30dd48c2
VS
137452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13748
0c6087a8
VS
137492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13752 Reserve alignment invariants.
13753 (grub_multiboot_load): Likewise.
13754 (retrieve_video_parameters): Likewise.
13755 (grub_multiboot_make_mbi): Likewise.
13756
c2e77777
VS
137572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13760 incorrect pointer.
13761
b70b6d11
VS
137622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13765 (grub_pata_pio_write): Likewise.
13766
02a2bf83
VS
137672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Add noreturn attributes and remove unreachable code.
13770
13771 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13772 code.
13773 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13774 code. Mark as noreturn.
13775 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13776 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13777 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13778 unreachable code.
13779 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13780 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13781 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13782 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13783 * include/grub/kernel.h (grub_main): Mark as noreturn.
13784 * include/grub/reader.h (grub_rescue_run): Likewise.
13785
2019d09e
VS
137862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13789 redundant declaration.
13790
d1c501ee
VS
137912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13794 redundant declaration.
13795 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13796
61664420
VS
137972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13800 to ensure alignment.
13801 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13802 alignment. Ensure tmp alignment.
13803 (grub_cmd_hdparm): Ensure buf alignment.
13804 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13805 to ensure alignment.
13806 (grub_ata_dumpinfo): Ensure text alignment.
13807 (grub_atapi_identify): Preserve alignment invariant.
13808 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13809
0d51ee20
VS
138102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13813 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13814 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13815 * include/grub/misc.h (grub_reboot)
13816 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13817 (grub_halt) [__mips__]: Likewise.
13818
753ef8c1
VS
138192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13822 Remove redundant declaration.
13823 (grub_mmap_get_post64): Likewise.
13824 (grub_mmap_get_upper): Likewise.
13825 (grub_mmap_get_lower): Likewise.
13826
85c85365
VS
138272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13830 uint32_t * to ensure alignment.
13831 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13832
a23f2cc4
VS
138332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13834
93018f64
VS
13835 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13836 uint16_t * to ensure alignment.
13837 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13838 alignment.
13839
138402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13843 to ensure alignment.
13844 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13845
58acccd6
VS
138462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13849 Handle unaligned pointers.
13850 (u32at): Likewise.
13851 (u64at): Likewise.
13852 (fixup): Use byte access instead of v16at.
13853 (find_attr): Fix imporper usage of v32at.
13854 (read_data): Likewise.
13855 (list_file): Handle byte-swapping and unaligned strings.
13856 (grub_ntfs_label): Likewise.
13857
9b05cad7
VS
138582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13861 as it's not necessarily aligned.
13862
b3950b84
VS
138632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13866 redundant declaration.
13867 (grub_serial_init): Likewise.
13868 (grub_terminfo_init): Likewise.
13869
fcd232b7
VS
138702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13873 function.
13874 (ZAP_HASH_IDX): Likewise.
13875 (ZAP_LEAF_HASH_SHIFT): Likewise.
13876 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13877 (LEAF_HASH): Likewise.
13878 (ZAP_LEAF_NUMCHUNKS): Likewise.
13879 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13880 alignment invariants. Return pointer. All users updated.
13881 (ZAP_LEAF_ENTRY): Make into inline function.
13882 (NBBY): Removed.
13883 (xor): LIkewise.
13884 (xor_out): Use grub_crypto_xor.
13885 (dnode_get_path): Use grub_get_unaligned.
13886 (nvlist_find_value): Likewise.
13887 (grub_zfs_nvlist_lookup_uint64): Likewise.
13888 (grub_zfs_nvlist_lookup_string): Likewise.
13889 (get_nvlist_size): Likewise.
13890 (grub_zfs_open): Likewise.
13891 (fill_fs_info): Likewise.
13892 (grub_zfs_dir): Likewise.
13893 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13894 alignment invariants.
13895 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13896 necessarily aligned.
13897
f138623a
VS
138982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13901
564840dc
VS
139022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13905 arithmetic to conserve alignment invariants.
13906
9b40df20
VS
139072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13910 redundant declaration.
13911 (grub_efiemu_mm_obtain_request): Likewise.
13912 (grub_efiemu_prepare): Likewise.
13913
d1c930f9
VS
139142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13917 to match types.
13918
4c5f3056
VS
139192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13922 case of aunaligned recptr.
13923 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13924 alignment.
13925 (grub_hfsplus_btree_search): Handle unaligned index.
13926
728cba91
VS
139272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13930 to get freetag and skip.
13931
eb561f31
VS
139322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13935 array.
13936 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13937 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13938
20993fbb
VS
139392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13942 name for checksum and fix allocation algorithm.
13943
1f313b94
VS
139442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * include/grub/types.h (grub_properly_aligned_t): New type.
13947 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13948 (grub_get_unaligned16): Add explicit casts.
13949 (grub_get_unaligned32): Likewise.
13950 (grub_get_unaligned64): Likewise.
13951 (grub_set_unaligned16): New function.
13952 (grub_set_unaligned32): Likewise.
13953
47ae27ec
VS
139542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13957
78c2cd1c
VS
139582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13961 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13962 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13963
53072f9b
VS
139642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13967 conditionals.
13968
055dc239
VS
139692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13972 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13973
496bd074
VS
139742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 Unify and improve RAID and crypto xor.
13977
13978 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13979 changed to grub_crypto_xor
13980 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13981 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13982 Use bigger types when possible.
13983
ef6e4335
VS
139842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * grub-core/disk/raid.c (scan_devices): Fix condition.
13987
5d048bf2
VS
139882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13991 Make name a const ptr.
13992
ee533335
VS
139932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13996 first argument a const pointer.
13997 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13999 proto.
14000 (grub_children_iterate): Likewise.
14001 (grub_machine_mmap_iterate): Remove redundant declaration.
14002
cc8f3668
VS
140032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14006 (grub_cmd_acpi) [!x86]: Disable EBDA.
14007
c5fc563a
VS
140082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 Enable UTF8 in gnulib regexp.
14011
14012 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14013 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14014 (isupper): Use grub_isupper.
14015 (isascii): New inline function.
14016 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14017 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14018 * grub-core/normal/charset.c (grub_utf8_process): New function.
14019 (grub_utf8_to_utf16): Use grub_utf8_process.
14020 (grub_encode_utf8_character): New function.
14021 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14022 * include/grub/charset.h (grub_utf8_process): New declaration.
14023 (grub_encode_utf8_character): Likewise.
14024 * include/grub/misc.h (grub_islower): New inline function.
14025 (grub_isupper): Likewise.
14026 (grub_strchrsub): Moved down to fix the definitions.
14027
0af2346f
VS
140282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14029
14030 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14031 specification.
14032
74dbd244
VS
140332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * include/grub/loader.h (grub_loader_register_preboot_hook):
14036 Use struct preboot * and not void * for handle. All users updated.
14037 (grub_loader_unregister_preboot_hook): Likewise.
14038
1bc8f60d
VS
140392011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14042 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14043 UTF-16-BE. All users updated.
14044 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14045 (grub_hfsplus_iterate_dir): Likewise.
14046 (grub_hfsplus_label): Likewise.
14047
48d6e456
VS
140482011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14051
bf3a3857
VS
140522011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 Add missing const qualifiers.
14055
14056 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14057 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14058 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14059 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14060 (grub_lvm_check_flag): Likewise.
14061 * grub-core/efiemu/i386/coredetect.c
14062 (grub_efiemu_get_default_core_name): Likewise
14063 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14064 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14065 * grub-core/fs/ntfs.c (fixup): Likewise.
14066 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14067 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14068 (fzap_lookup): Likewise.
14069 (zap_lookup): Likewise.
14070 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14071 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14072 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14073 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14074 (grub_freebsd_add_meta_module): Likewise.
14075 (grub_cmd_freebsd_module): Likewise.
14076 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14077 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14078 (grub_xnu_writetree_get_size): Likewise.
14079 (grub_xnu_writetree_toheap_real): Likewise.
14080 (grub_xnu_find_key): Likewise.
14081 (grub_xnu_create_key): Likewise.
14082 (grub_xnu_create_value): Likewise.
14083 (grub_xnu_register_memory): Likewise.
14084 (grub_xnu_check_os_bundle_required): Likewise.
14085 (grub_xnu_scan_dir_for_kexts): Likewise.
14086 (grub_xnu_load_kext_from_dir): Likewise.
14087 * grub-core/normal/color.c (color_list): Likewise.
14088 * grub-core/normal/completion.c (current_word): Likewise.
14089 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14090 * grub-core/term/serial.c (grub_serial_find): Likewise.
14091 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14092 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14093 Likewise.
14094 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14095 (grub_freebsd_add_meta_module): Likewise.
14096 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14097 * include/grub/net.h (grub_net_card_driver): Likewise.
14098 (grub_net_card): Likewise.
14099 (grub_net_app_protocol): Likewise.
14100 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14101 * include/grub/serial.h (grub_serial_find): Likewise.
14102 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14103 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14104 (grub_xnu_create_value): Likewise.
14105 (grub_xnu_find_key): Likewise.
14106 (grub_xnu_scan_dir_for_kexts): Likewise.
14107 (grub_xnu_load_kext_from_dir): Likewise.
14108
14109 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14110 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14111 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14112 Moved from here ...
14113 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14114
112b4837
CW
141152011-11-28 Colin Watson <cjwatson@ubuntu.com>
14116
14117 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14118
49e891ac
VS
141192011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14122 (read_device): Fix size calculation.
14123
fd258e5c
RM
141242011-11-25 Robert Millan <rmh@gnu.org>
14125
14126 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14127 (find_root_device_from_libzfs): Add zpool output parser to be used
14128 as fallback when libzfs isn't available.
14129
78845dc2
SG
141302011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14131
14132 * po/Makefile.in.in: Add missing escape-continuation.
14133
adac5211
VS
141342011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14137
10b64f1c
VS
141382011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14141
bb416954
VS
141422011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14145
bdfe9eeb
VS
141462011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14149
581ffa8a
VS
141502011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/lib/adler32.c: Add missing license specification.
14153 * grub-core/lib/crc64.c: Likewise.
14154 * grub-core/loader/i386/pc/plan9.c: Likewise.
14155 * grub-core/partmap/plan.c: Likewise.
14156
2536cf64
LK
141572011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14158
14159 Add facility to debug GRUB with gdb under qemu.
14160
14161 * grub-core/gdb_grub.in: New file.
14162 * grub-core/gmodule.pl.in: Likewise.
14163 * grub-core/Makefile.core.def (gmodule.pl): New script.
14164 (gdb_grub): Likewise.
14165
bc108a4a
VS
141662011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * util/grub-mount.c (argp_parser): Accept relative pathes.
14169 * util/grub-fstest.c (argp_parser): Likewise.
14170
111c1778
VS
141712011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 Plan9 support.
14174
14175 * Makefile.util.def (libgrubmods): Add
14176 grub-core/partmap/plan.c.
14177 * docs/grub.texi: Notice Plan9 support.
14178 * grub-core/Makefile.core.def (plan9): New module.
14179 (part_plan): Likewise.
14180 * grub-core/loader/i386/pc/plan9.c: New file.
14181 * grub-core/partmap/plan.c: Likewise.
14182 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14183 define.
14184 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14185 * include/grub/mm.h (grub_extend_alloc): New inline function.
14186
c30be3b6
VS
141872011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 Make Reed-Solomon faster by using power of generator representation of
14190 GF(256)*.
14191
14192 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14193 (gf_double_t): Likewise.
14194 (gf_invert): Removed.
14195 (gf_powx): New array.
14196 (gf_powx_inv): Likewise.
14197 (scratch): Move higher.
14198 (gf_reduce): Removed.
14199 (gf_mul): Use powx.
14200 (gf_invert): Likewise.
14201 (init_inverts): Replaced with ...
14202 (init_powx): ...this. All users updated.
14203 (pol_evaluate): Replace multiplications with additions.
14204 (rs_encode): Likewise.
14205 (gauss_eliminate): Call gf_invert.
14206 (grub_reed_solomon_add_redundancy): Call init_powx.
14207 (grub_reed_solomon_recover): Call init_powx unconditionally.
14208
fa5aeffc
VS
142092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14212
a346b81c
VS
142132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14216 disk->partiton for safety.
14217
d89ee414
VS
142182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14221 Fix a memory leak.
14222 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14223
91ee7b6d
VS
142242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14227
91e5a33d
VS
142282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14231
9edd7be2
VS
142322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 Fix spaces handling in proc/self/mountinfo.
14235
14236 * util/getroot.c (unescape): New function.
14237 (grub_find_root_device_from_mountinfo): Use unescape.
14238
ba102053
VS
142392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14240
14241 Support ZFS embedding.
14242
14243 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14244 (grub_zfs_fs): Register grub_zfs_embed.
14245
aa94b870
VS
142462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 Fix MIPS compilation.
14249
14250 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14251 * include/grub/offsets.h: Rename decompressor fields from
14252 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14253 * util/grub-mkimage.c (image_targets): Use new names.
14254
5fbdac14
VS
142552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 Defer multiboot device parsing until we're in compressed part.
14258
14259 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14260 bsd_part. setdevice has fallen into disuse.
14261 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14262 (bsd_part): Likewise.
14263 (boot_dev): New variable.
14264 (multiboot_trampoline): Don't parse multiboot device.
14265 Pass multiboot device in %edx.
14266 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14267 grub_boot_device.
14268 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14269 Likewise.
14270 * grub-core/kern/i386/pc/startup.S: Save edx.
14271 (grub_boot_drive): Removed.
14272 (grub_install_dos_part): Likewise.
14273 (grub_install_bsd_part): Likewise.
14274 (grub_boot_device): New variable.
14275 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14276 (grub_install_bsd_part): Likewise.
14277 (grub_boot_drive): Likewise.
14278 (grub_boot_device): New variable.
14279 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14280 Removed.
14281 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14282 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14283 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14284 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14285 * util/grub-install.in: Remove redundant condition.
14286
691cbb58
VS
142872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 Fix bug introduced by previous commit.
14290
14291 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14292
60240b8b
VS
142932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 Use decompressors framework on i386-pc. It increases core size
14296 by 46 bytes but improves compatibility and maintainability.
14297
14298 * grub-core/Makefile.core.def (lzma_decompress): New image.
14299 (kernel): Add i386_pc_ldflags.
14300 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14301 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14302 to real_to_prot, prot_to_real and device info.
14303 * include/grub/offsets.h: Renamed decompressor offsets.
14304 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14305 (image_target_desc): Remove raw_size and rename decompressor fields.
14306 (compress_kernel): Handle lzma.
14307 (generate_image): Handle decompressors on i386-pc.
14308
e9d3421c
VS
143092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * configure.ac: Add -fno-asynchronous-unwind-tables.
14312
2b23074a
VS
143132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 Move assembly code to C by using intwrap. It increases core size
14316 by 88 bytes but improves compatibility and maintainability.
14317
14318 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14319 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14320 ... here. Translated to C.
14321 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14322 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14323 ... here. Translated to C.
14324 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14325 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14326 ... here. Translated to C.
14327 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14328 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14329 ... here. Translated to C.
14330 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14331 * grub-core/term/i386/pc/console.c (grub_console_cls):
14332 ... here. Translated to C.
14333 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14334 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14335 ... here. Translated to C.
14336 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14337 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14338 Translated to C.
14339 * grub-core/term/i386/pc/console.c (int10_9): New function.
14340 (grub_console_putchar): Likewise.
14341 * include/grub/i386/pc/console.h: Removed the not anymore shared
14342 functions.
14343
678f4b67
VS
143442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 Move grub_chainloader_real_boot out of the kernel.
14347
14348 * grub-core/Makefile.am: Remove machine/loader.h.
14349 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14350 Removed.
14351 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14352 variable.
14353 (grub_relocator16_keep_a20_enabled): Likewise.
14354 (grub_relocator16_boot): Fill new variables.
14355 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14356 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14357 relocator.
14358 (grub_chainloader_unload): Likewise.
14359 (grub_chainloader_cmd): Likewise.
14360 * include/grub/i386/pc/loader.h: Removed.
14361 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14362 and esi. All initialisers updated.
14363
4626edf6
VS
143642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
143652011-11-12 Colin Watson <cjwatson@ubuntu.com>
14366
14367 * Makefile.util.def (grub-mount): New util.
14368 * .bzrignore: Add grub-mount.
14369 * configure.ac: Check for fuse and enable grub-mount if available.
14370 * docs/man/grub-mount.h2m: New file.
14371 * util/grub-mount.c: Likewise.
14372
10f0117b
VS
143732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * grub-core/commands/efi/fixvideo.c: Gettextize.
14376 * grub-core/commands/hashsum.c: Likewise.
14377 * grub-core/commands/i386/cmostest.c: Likewise.
14378 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14379 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14380 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14381 * grub-core/commands/lsmmap.c: Likewise.
14382 * grub-core/commands/menuentry.c: Likewise.
14383 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14384 * grub-core/commands/setpci.c: Likewise.
14385 * grub-core/loader/i386/bsd.c: Likewise.
14386 * grub-core/loader/i386/linux.c: Likewise.
14387 * util/getroot.c: Likewise.
14388 * util/grub-editenv.c: Likewise.
14389 * util/grub-fstest.c: Likewise.
14390 * util/grub-mkfont.c: Likewise.
14391 * util/grub-mkimage.c: Likewise.
14392 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14393 * util/grub-pe2elf.c: Likewise.
14394 * util/grub-probe.c: Likewise.
14395 * util/grub-setup.c: Likewise.
14396 * util/ieee1275/ofpath.c: Likewise.
14397 * util/misc.c: Likewise.
14398 * util/raid.c: Likewise.
14399
566f779b
RM
144002011-11-11 Robert Millan <rmh@gnu.org>
14401
14402 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14403 __attribute__((unused)) from `os_dev', which *is* being used.
14404
b50787de
VS
144052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14408 forgotten define.
14409 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14410 GRUB_IA64_DL_GOT_ALIGN.
14411 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14412 GRUB_IA64_DL_TRAMP_ALIGN.
14413
119d11c8
VS
144142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 Replace grub_fatal with normal errors in i386 linux loader.
14417
14418 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14419 (allocate_pages): Check find_efi_mmap_size return value.
14420 (grub_e820_add_region): Return error.
14421 (grub_linux_boot): Check mmap return value.
14422
6e0632e2
VS
144232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/commands/acpihalt.c: Gettextized.
14426 * grub-core/commands/cacheinfo.c: Likewise.
14427 * grub-core/commands/cmp.c: Likewise.
14428 * grub-core/commands/efi/loadbios.c: Likewise.
14429 * grub-core/commands/gptsync.c: Likewise.
14430 * grub-core/commands/ieee1275/suspend.c: Likewise.
14431 * grub-core/commands/legacycfg.c: Likewise.
14432 * grub-core/commands/memrw.c: Likewise.
14433 * grub-core/commands/minicmd.c: Likewise.
14434 * grub-core/commands/parttool.c: Likewise.
14435 * grub-core/commands/time.c: Likewise.
14436 * grub-core/commands/videoinfo.c: Likewise.
14437 * grub-core/disk/geli.c: Likewise.
14438 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14439 * grub-core/disk/luks.c: Likewise.
14440 * grub-core/disk/lvm.c: Likewise.
14441 * grub-core/font/font_cmd.c: Likewise.
14442 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14443 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14444 * grub-core/gfxmenu/view.c: Likewise.
14445 * grub-core/kern/emu/hostdisk.c: Likewise.
14446 * grub-core/kern/emu/main.c: Likewise.
14447 * grub-core/kern/emu/misc.c: Likewise.
14448 * grub-core/kern/emu/mm.c: Likewise.
14449 * grub-core/kern/mips/arc/init.c: Likewise.
14450 * grub-core/kern/mips/loongson/init.c: Likewise.
14451 * grub-core/kern/partition.c: Likewise.
14452 * grub-core/lib/i386/halt.c: Likewise.
14453 * grub-core/lib/mips/arc/reboot.c: Likewise.
14454 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14455 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14456 * grub-core/loader/i386/xnu.c: Likewise.
14457 * grub-core/loader/multiboot.c: Likewise.
14458 * grub-core/net/bootp.c: Likewise.
14459 * grub-core/net/net.c: Likewise.
14460 * grub-core/normal/term.c: Likewise.
14461 * grub-core/partmap/bsdlabel.c: Likewise.
14462 * grub-core/parttool/msdospart.c: Likewise.
14463 * grub-core/term/gfxterm.c: Likewise.
14464 * grub-core/term/terminfo.c: Likewise.
14465 * grub-core/video/i386/pc/vbe.c: Likewise.
14466 * util/grub-menulst2cfg.c: Likewise.
14467 * util/grub-mkdevicemap.c: Likewise.
14468 * util/grub-mklayout.c: Likewise.
14469 * util/grub-mkrelpath.c: Likewise.
14470 * util/grub-script-check.c: Likewise.
14471 * util/ieee1275/grub-ofpathname.c: Likewise.
14472 * util/resolve.c: Likewise.
14473
073aa7a9
VS
144742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 Support %1$d syntax.
14477
14478 * tests/printf_unit_test.c: New file.
14479 * Makefile.util.def (printf_test): New test.
14480 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14481
c76b5417
VS
144822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14485 fix.
14486
df067ad1
VS
144872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14490 dprintf.
14491 * grub-core/font/font.c (grub_font_load): Likewise.
14492
5b289bc5
VS
144932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * util/grub-macho2img.c: Add comment concerning gettext.
14496 * grub-core/lib/legacy_parse.c: Likewise.
14497
c1860f87
VS
144982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14501 (grub_xvasprintf): Likewise.
14502
d35d0d37
VS
145032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 Add const keyword to grub_env_get and gettextize week days.
14506
14507 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14508 (grub_read_hook_datetime): Return const char *.
14509 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14510 updated.
14511 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14512 Mark for gettext.
14513 (grub_get_weekday_name): Return const char *. Call gettext.
14514 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14515 char * and len as the argument. All users updated.
14516 (grub_script_argv_split_append): Receive const char *.
14517 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14518 * include/grub/env.h (grub_env_get): Likewise.
14519 (grub_env_read_hook_t): Return const char *.
14520 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14521 (grub_script_argv_split_append): Likewise.
14522
9aed8a71
VS
145232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14524
14525 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14526
067fdf00
VS
145272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14530 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14531
a8bd9d39
VS
145322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14535 Fix prototype.
14536
f7ce5baf
VS
145372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Fix mips compilation.
14540
14541 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14542 normal decoder.
14543 (hashes): Use in embed decoder as well (for sizes).
14544 (dec_stream_header): Fix embed decompressor logic.
14545 (dec_stream_footer): Likewise.
14546
9bb182f3
VS
145472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14550 an error and not a fatal on unrecognised relocation types.
14551
63a9e6f6
VS
145522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14555 Issue error rather than printf on unknown arguments.
14556
4c458569
VS
145572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14560 Make buf a const.
14561
e2d22baf
VS
145622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14565 Fix module name.
14566
53dc8590
VS
145672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14570 leftover debug printf.
14571
6c189294
VS
145722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14573
14574 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14575
f7688369
VS
145762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14579 A stylistic fix.
14580
11a775a3
VS
145812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14584
33f784e8
SL
145852011-11-10 Shea Levy <slevy@tieronedesign.com>
14586
14587 Allow all modules to perform serial IO
14588
14589 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14590 * include/grub/serial.h (grub_serial_port_configure): New inline
14591 function.
14592 (grub_serial_port_fetch): Likewise.
14593 (grub_serial_port_put): Likewise.
14594 (grub_serial_port_fini): Likewise.
14595 (grub_serial_find): New proto.
14596
f6276525
VS
145972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 Put symlink at the end of the node and fix a potential
14600 memory corruption.
14601
14602 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14603 Make symlink into an array.
14604 (set_rockridge): Set have_symlink and alloc_dirents.
14605 (grub_iso9660_read_symlink): Use new layout.
14606 (grub_iso9660_iterate_dir): Fix memory corruption.
14607 Use new layout.
14608 (grub_iso9660_dir): Set have_symlink.
14609 (grub_iso9660_open): Likewise.
14610
c3591189
VS
146112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 Remove local keyword.
14614
14615 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14616 (version_test_gt): Likewise.
14617 (version_find_latest): Likewise.
14618 (gettext_printf): Likewise.
14619 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14620
cb544caa
VS
146212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14624
45bd824d
VS
146252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 Fix ZFS memory and resource leaks.
14628
14629 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14630 All users updated.
14631 Free type on exit.
14632 (fill_vdev_info): New parameter inserted. All users updated.
14633 (check_pool_label): Likewise.
14634 (scan_disk): Likewise.
14635 (scan_devices): Close non-inserted disks.
14636 (fzap_iterate): Free l.
14637 (unmount_device): Free children descripto memory.
14638
ad9a2f44
VS
146392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14642 argument (access out of bounds).
14643
6b68db81
VS
146442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14647 >= 6 drives.
14648
28840fda
VS
146492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14652 Fix declaration.
14653
8a5a3a5b
VS
146542011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 Fix several memory leaks.
14657
14658 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14659 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14660 (grub_cpio_dir): Likewise.
14661 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14662 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14663 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14664 (grub_romfs_label): Likewise.
14665 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14666 (squash_unmount): New function.
14667 (grub_squash_dir): Fix memory leak.
14668 (grub_squash_open): Likewise.
14669 (grub_squash_read): Likewise.
14670 (grub_squash_mtime): Likewise.
14671 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14672 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14673 * util/grub-fstest.c (fstest): Likewise.
14674
57b01250
VS
146752011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14678 avoid accessing beyond the array.
14679
19e81ba7
VS
146802011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14683
52b656c0
VS
146842011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 Several AFFS fixes.
14687
14688 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14689 (GRUB_AFFS_FLAG_FFS): Removed.
14690 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14691 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14692 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14693 (grub_fshelp_node): Make block 32-bit.
14694 Add block_cache and last_block_cache.
14695 (grub_affs_read_block): Fill and use block cache.
14696 (grub_affs_read_file): Removed.
14697 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14698 boot block.
14699 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14700 safety.
14701 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14702 space.
14703 (grub_affs_close): Free block cache.
14704 (grub_affs_read): Use grub_fshelp_read_file directly.
14705
438a746a
VS
147062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14709 with no error set.
14710
49a45021
VS
147112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14714 used variable.
14715 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14716 Likewise.
14717
3ae17eb8
VS
147182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14721
14722 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14723 byteswap when needed.
14724
27610c38
VS
147252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 Fix FreeBSD compilation.
14728
14729 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14730 to avoid circular dependency.
14731 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14732 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14733 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14734
4a19b601
VS
147352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 Fix ZFS crypto error types.
14738
14739 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14740 (grub_gcm_decrypt): Likewise.
14741 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14742 from PBKDF2.
14743
958ee221
VS
147442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 Illumos support.
14747
14748 * Makefile.util.def (10_illumos): New script.
14749 * configure.ac: Set COND_HOST_ILLUMOS.
14750 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14751 Support Illumos calls.
14752 (find_partition_start) [__sun__]: Likewise.
14753 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14754 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14755 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14756 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14757 device.
14758 * util/grub-probe.c (probe) [__sun__]: Do character check.
14759 * util/grub.d/10_illumos.in: New file.
14760
cac14fb6
VS
147612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 Support escaped commas in hostdisk.
14764
14765 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14766 (find_grub_drive): Use unescape_cmp.
14767 (make_device_name): Escape commas.
14768
78e08dc3
VS
147692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14772
9f421dd1
VS
147732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14776 variable.
14777
ed64e9e2
VS
147782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 Support trampoline jumps on powerpc.
14781
14782 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14783 __ia64__ path.
14784 (grub_dl_load_segments): Set mod->sz.
14785 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14786 segments.
14787 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14788 (jump): Likewise.
14789 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14790 function.
14791 (trampoline): New struct.
14792 (trampoline_template): New const.
14793 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14794 * include/grub/dl.h (grub_dl): Add sz element.
14795 [__powerpc__]: Follow __ia64__.
14796 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14797 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14798 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14799 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14800
3084ede4
VS
148012011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 ZFS crypto support.
14804
14805 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14806 * grub-core/Makefile.core.def (zfscrypt): New module.
14807 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14808 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14809 it. All users updated.
14810 (grub_zfs_decrypt): New var.
14811 (grub_zfs_load_key): Likewise.
14812 (zio_checksum_functions): Add SHA256+MAC.
14813 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14814 (zio_read): Handle encrypted blocks.
14815 (zap_verify): Remove incorrect check.
14816 (fzap_iterate): Handle non-standard fzap.
14817 (zap_iterate): Likewise.
14818 (zap_iterate_u64): New function.
14819 (dnode_get_fullpath): Load keys.
14820 * grub-core/fs/zfs/zfscrypt.c: New file.
14821 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14822 (grub_crypto_ecb_encrypt): Make input const.
14823 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14824 (grub_crypto_ecb_encrypt): Make input const.
14825 (GRUB_CIPHER_AES): New macro.
14826 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14827 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14828 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14829 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14830 prefix. All users updated.
14831 (grub_zfs_add_key): New proto.
14832 (grub_zfs_decrypt): Likewise.
14833 (grub_zfs_load_key): Likewise.
14834 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14835 * util/grub-fstest.c (options): Add -K option.
14836 (argp_parser): Likewise.
14837
b632b404
VS
148382011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 Support zle compression on ZFS.
14841
14842 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14843 (decomp_table): Add zle.
14844 * include/grub/zfs/zio.h (zio_compress): Add zle.
14845
c7ba4f69
VS
148462011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 Support BtrFS embedding.
14849
14850 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14851 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14852 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14853 * util/grub-setup.c (setup): Use fs embedding if available.
14854 Add additional sanity check.
14855
455377d9
VS
148562011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * util/grub-install.in: Fix condition for config_opt.
14859
c2fd16ca
VS
148602011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 Support third redundancy strip on raidz3.
14863
14864 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14865 Return error on singularity. All users updated.
14866 (read_device): Don't stop on 3rd failure on raidz3.
14867
8622923b
VS
148682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14869
14870 Support case-insensitive ZFS subvolumes.
14871
14872 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14873 All users updated.
14874 (zap_hash): Likewise.
14875 (name_cmp): New function.
14876 (zap_leaf_array_equal): New parameter case_insensitive.
14877 All users updated.
14878 (zap_leaf_lookup): Likewise.
14879 (fzap_lookup): Likewise.
14880 (zap_lookup): Likewise.
14881 (dnode_get_path): New parameter case_insensitive. Retrieve case
14882 sensitiviness of a volume. All users updated.
14883 (dnode_get_fullpath): New parameter case_insensitive.
14884 All users updated.
14885 (grub_zfs_dir): Set info.case_insensitiveness.
14886
95f2e860
VS
148872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 Support second redundancy strip on raidz(2,3).
14890
14891 * grub-core/fs/zfs/zfs.c (powx): New array.
14892 (powx_inv): Likewise.
14893 (poly): New const.
14894 (xor_out): New function.
14895 (gf_mul): Likewise.
14896 (recovery): Likewise.
14897 (read_device): Use second redundancy strip.
14898
11ee4389
VS
148992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 Use a power of generator representation of GF(256) multiplication group
14902 to save space time and complexity.
14903
14904 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14905 (raid6_table2): Likewise.
14906 (powx): New array.
14907 (powx_inv): Likewise.
14908 (poly): New const.
14909 (grub_raid_block_mul): Replace with ...
14910 (grub_raid_block_mulx): ...this.
14911 (grub_raid6_init_table): Rewritten.
14912 (grub_raid6_recover): Use power of generator representation.
14913
09e2763f
VS
149142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14917 for the right device.
14918
8bec9a28
VS
149192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14922 expected by grub-mkimage and it's more clear since there is no implicit
14923 padding.
14924
dbd3a32e
VS
149252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14926
14927 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14928 disk.
14929 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14930
182c872a
PMH
149312011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14932
14933 * util/grub-mkrescue.in: Fix handling xorriso option.
14934
1e51cabd
VS
149352011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14938 NULL.
14939
9cc3581d 149402011-11-03 crocket <crockabiscuit@gmail.com>
14941
14942 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14943
158dc1ea
VS
149442011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 XZ CRC64 and SHA256 support.
14947
14948 * Makefile.util.def (libgrubmods): Add crc64.c.
14949 * grub-core/Makefile.core.def (crc64): New module.
14950 * grub-core/lib/crc64.c: New file.
14951 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14952 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14953 Fix the type.
14954 (MAX_HASH_SIZE): New define.
14955 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14956 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14957 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14958 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14959 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14960 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14961 Handle non-crc32 hashes.
14962 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14963 (dec_stream_header): Handle non-crc32 hashes.
14964 (dec_stream_footer): Likewise.
14965 (dec_block_header): Likewise.
14966 (dec_main): Likewise.
14967 (xz_dec_init): Likewise.
14968 (xz_dec_reset): Likewise.
14969 (xz_dec_end): Likewise.
14970 * util/import_gcry.py: Add CRC64 line.
14971
9d9b3d2f
VS
149722011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14975 as well.
14976
7d0ac931
VS
149772011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Make reiserfs label retrieval similar to other *_label functions.
14980
14981 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14982 (REISERFS_MAX_LABEL_LENGTH): Removed.
14983 (REISERFS_LABEL_OFFSET): Likewise.
14984 (grub_reiserfs_label): Rewritten.
14985
149862011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14989 field.
14990
cf5ba824
VS
149912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14994
17744004
VS
149952011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14996
14997 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14998 drive failure on both raidz and raidz2.
14999
aca5aefc
VS
150002011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 Fix RAIDZ(2) for >= 5 devices.
15003
15004 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15005 asize argument. All users updated.
15006
ce8ca56e
VS
150072011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 Fix RAIDZ(2).
15010
15011 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15012 (fill_vdev_info_real): Set ashift.
15013 (read_device): Rewrite RAIDZ part based on reverse engineering.
15014
7c01e783
VS
150152011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15018 don't report potentially unavialiable fields in debug output.
15019 (find_path): Fix double-free and memory leak.
15020
ce109e84
VS
150212011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 Read label on UFS1.
15024
15025 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15026 (grub_ufs_fs): Always set .label.
15027
87661123
VS
150282011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 Use shifts in UFS.
15031
15032 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15033 (grub_ufs_data): New field log2_blksz.
15034 (grub_ufs_read_file): Use shifts.
15035 (grub_ufs_mount): Check block size and logarithm it.
15036
46bc1dc2
VS
150372011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15040 long symlinks.
15041
19ee2987
VS
150422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 Handle symlinks and long names on tar and cpio.
15045
15046 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15047 (ATTR_FILE): Likewise.
15048 (ATTR_DIR): Likewise.
15049 (ATTR_LNK): Likewise.
15050 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15051 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15052 L and K entries.
15053 (grub_cpio_mount): Zero-fill data.
15054 (handle_symlink): New function.
46bc1dc2
VS
15055 (grub_cpio_dir): Handle symlinks.
15056 (grub_cpio_open): Likewise.
15057 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15058
c83a08d8
VS
150592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15060
15061 Fix iso9660 filename limitations and fix memory leaks.
15062
15063 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15064 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15065
45cdd3ea
VS
150662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 Fix JFS file name length limitations.
15069
15070 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15071 (grub_jfs_diropen): Fix maximum filename length.
15072 (grub_jfs_getent): Fix filename length.
15073 (grub_jfs_lookup_symlink): Fix size checks.
15074
94ef05c2
VS
150752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15078 string.
15079
785ab8c7
VS
150802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15081
eb0b6b45
VS
15082 Leverage BFS implementation to read AFS.
15083
15084 * Makefile.util.def (libgrubmods): Add afs.c.
15085 * grub-core/Makefile.core.def (afs): New module
15086 * grub-core/fs/afs.c: New file.
15087 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15088
150892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15092
c4a1628f
VS
150932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 * grub-core/fs/bfs.c: Run indent.
15096
5825b379
VS
150972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 BFS implementation based on the specification.
15100
15101 * grub-core/fs/bfs.c: New file.
15102 * Makefile.util.def (libgrubmods): Add bfs.c.
15103 * grub-core/Makefile.core.def (bfs): New module.
15104
42b2a706
VS
151052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 * util/grub-fstest.c (cmd_cp): Clarify error message.
15108 (cmd_cmp): Likewise.
15109
61b99bfc
YB
151102011-10-30 Yves Blusseau <blusseau@zetam.org>
15111
15112 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15113 and befs_be.
15114
faba3d16
VS
151152011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 Remove afs and befs because of copyright problem.
15118
15119 * grub-core/fs/afs.c: Removed.
15120 * grub-core/fs/afs_be.c: Removed.
15121 * grub-core/fs/befs.c: Removed.
15122 * grub-core/fs/befs_be.c: Removed.
15123 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15124 * grub-core/Makefile.core.def (afs): Removed.
15125 (afs_be): Likewise.
15126 (befs): Likewise.
15127 (befs_be): Likewise.
15128
c39224b0
VS
151292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 Prefer rockridge over Joliet.
15132
15133 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15134 to ...
15135 (set_rockridge): ... here.
15136 (grub_iso9660_mount): Check rockridge on the primary label when
15137 discovering. Ignore Joliet if Rockridge is present.
15138
e551115a
VS
151392011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 Use shifts in nilfs2.
15142
15143 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15144 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15145 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15146 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15147 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15148 (grub_nilfs2_entries_per_block): Replaced with ...
15149 (grub_nilfs2_log_entries_per_block_log): ... this.
15150 (grub_nilfs2_blocks_per_group): Replaced with ...
15151 (grub_nilfs2_blocks_per_group_log): ... this.
15152 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15153 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15154 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15155 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15156 (grub_nilfs2_palloc_entry_offset): Replaced ...
15157 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15158 (grub_nilfs2_dat_translate): Use shifts.
15159 (grub_nilfs2_read_inode): Likewise.
15160 (GRUB_MOD_INIT): Ensure that logs are correct.
15161
564dd58c
VS
151622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15163
15164 Use shifts in minix filesystem.
15165
15166 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15167 (GRUB_MINIX_ZONE2SECT): Likewise.
15168 (grub_minix_data): Replace block_size with log_block_size.
15169 (grub_minix_read_file): Use shifts.
15170 (grub_minix_mount): Check block size and take a logarithm.
15171
ed9ba06d
VS
151722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 Use shifts in squash4.
15175
15176 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15177 (squash_mount): Check block size and take logarithm.
15178 (direct_read): Use shifts.
15179
ad03fe76
VS
151802011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 Correct befs block counting logic.
15183
15184 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15185 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15186 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15187 (grub_afs_read_inode): Use block_shift.
15188 (RANGE_SHIFT): New definition.
15189 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15190 unexpected conditions, use shifts and appropriate types.
15191 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15192
6563f63d
VS
151932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * grub-core/disk/raid.c (scan_devices): Check partition.
15196 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15197
5b1ae25f
VS
151982011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 Support BFS (befs) UUID.
15201
15202 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15203 (grub_afs_small_data_element_header): New struct.
15204 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15205 (grub_afs_read_attribute) [MODE_BFS]: New function.
15206 (grub_afs_iterate_dir): Allocate for complete inode.
15207 (grub_afs_mount): Likewise.
15208 (grub_afs_uuid) [MODE_BFS]: New function.
15209 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15210
f8d82408
VS
152112011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15214 (zfs_unmount): Fix memory leak.
15215
5773fb64
VS
152162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 Support NTFS reparse points.
15219
15220 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15221 (symlink_descriptor): New struct.
15222 (grub_ntfs_read_symlink): New function.
15223 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15224 (grub_ntfs_open): Likewise.
15225
91c3fdde
VS
152262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15229
3be82e10
VS
152302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 fstest xnu_uuid subcommand.
15233
15234 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15235 grub-core/commands/xnu_uuid.c.
15236 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15237 (fstest): Handle xnu_uuid.
15238 (options): Document xnu_uuid.
15239 (argp_parser): Parse xnu_uuid.
15240
8e32442e
VS
152412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15244 -l argument. Add newline at the end if printing.
15245 (GRUB_MOD_INIT): Document -l.
15246
52a05075
VS
152472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15250
1869edb5
VS
152512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 ZFS multi-device and version 33 support.
15254
15255 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15256 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15257 (grub_zfs_data): Add multidev-ice-related fields.
15258 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15259 (dva_get_offset): Make dva const.
15260 (zfs_fetch_nvlist): New function.
15261 (fill_vdev_info_real): Likewise.
15262 (fill_vdev_info): Likewise.
15263 (check_pool_label): Likewise.
15264 (scan_disk): Likewise.
15265 (scan_devices): Likewise.
15266 (read_device): Likewise.
15267 (read_dva): Likewise.
15268 (zio_read_gang): Use read_dva.
15269 (zio_read_data): Likewise.
15270 (zap_leaf_lookup): Add missing endian conversion.
15271 (zap_verify): Add missing endian conversion. All users updated.
15272 (fzap_lookup): Likewise.
15273 (fzap_iterate): Likewise.
15274 (dnode_get_path): Handle SA bonus.
15275 (nvlist_find_value): Make input const. All users updated.
15276 (unmount_device): New function.
15277 (zfs_unmount): Use unmount_device.
15278 (zfs_mount): Use scan_disk.
15279 (zfs_mtime): New function.
15280 (grub_zfs_open): Handle system attributes.
15281 (fill_fs_info): Likewise.
15282 (grub_zfs_dir): Likewise.
15283 (grub_zfs_fs): Add mtime.
15284 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15285 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15286 (SA_MTIME_OFFSET): Likewise.
15287 (SA_SYMLINK_OFFSET): Likewise.
15288 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15289 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15290 (fstest): Support zfsinfo.
15291 (argp_parser): Likewise.
15292
186b4028
VS
152932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15296 error.
15297
152982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15299
15300 ZFS fixes.
15301
15302 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15303 sharing the same block. Iterate over correct number of indices.
15304 (dnode_get_path): Handle symlinks correctly.
15305
c0584900
VS
153062011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15309
67e2bd71
VS
153102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 Read label on HFS+.
15313
15314 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15315 (grub_hfsplus_btree_search): Fix types.
15316 (grub_hfsplus_label): Implement.
15317
e9cc6b7b
VS
153182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15321
19832ddb
VS
153222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15325
66b40850
VS
153262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 Fix symlink handling on iso9660.
15329
15330 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15331 All users updated.
15332 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15333 (grub_iso9660_read_symlink): Moved most of code ...
15334 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15335
db821363
VS
153362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15339 Use union to avoid breaking strict-aliasing rules.
15340
e1211949
VS
153412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Support multi-extent iso files.
15344
15345 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15346 Add node.
15347 (grub_fshelp_node): Revamp. All users updated.
15348 (FLAG_*): New enum.
15349 (read_node): New function.
15350 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15351 All users updated.
15352 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15353 (get_node_size): New function.
15354 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15355 entries.
15356 Fix memory leak on . and ..
15357 (grub_iso9660_read): Use read_node.
15358 (grub_iso9660_close): Free node.
15359
d4888031
VS
153602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 Fix tar 4G limit and handle paths containing dot.
15363
15364 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15365 (canonicalize): New function.
15366 (grub_cpio_find_file): Use canonicalize. Store offs in
15367 grub_disk_addr_t.
15368 (grub_cpio_dir): Use grub_disk_addr_t.
15369 (grub_cpio_open): Likewise.
15370
9f12e664
VS
153712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15374
15375 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15376 unused flags.
15377 (grub_squash_inode): Add long_file and block_size.
15378 (grub_squash_cache_inode): New struct.
15379 (grub_squash_dirent): Make types into enum.
15380 (SQUASH_TYPE_LONG_REGULAR): New type.
15381 (grub_squash_frag_desc): Add field size.
15382 (SQUASH_BLOCK_FLAGS): New enum.
15383 (grub_squash_data): Use grub_squash_cache_inode.
15384 (grub_fshelp_node): Make ino_chunk 64-bit.
15385 (read_chunk): Minor argument change. All users updated.
15386 (squash_mount): Use correct le_to_cpu.
15387 (grub_squash_open): Handle LONG_REGULAR.
15388 (direct_read): New function.
15389 (grub_squash_read_data): Handle blocks correctly.
15390
9f326fba
VS
153912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15394
f4d9b64b
VS
153952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15398
5bbd28b8
VS
153992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 Fix 2G limit on ZFS.
15402
15403 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15404 types.
15405 (uberblock_verify): Likewise.
15406 (dmu_read): Likewise.
15407 (grub_zfs_read): Likewise. Remove invalid cast.
15408
68c72069
VS
154092011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15412 (grub_jfs_blkno): Fix incorrect shift.
15413 (grub_jfs_read_file): Use more appropriate types.
15414
6e536dc8
VS
154152011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15416
15417 Support triple indirect on minix2 and minix3.
15418
15419 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15420 Declare triple_indir_zone.
15421 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15422 indirect.
15423
e0864e7a
VS
154242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 Minix FS fixes.
15427
15428 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15429 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15430 Rename ctime to mtime. All users updated.
15431 (grub_minix_get_file_block): Fix types and double indirect computations.
15432
89481cab
VS
154332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15436 if no label is found.
15437 (grub_fat_iterate_dir): Fix file size type.
15438 (grub_fat_iterate_dir): Likewise.
15439
f646e143
VS
154402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15443 save some space.
15444 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15445 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15446
534d769e
VS
154472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15450
e084ba18
VS
154512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 * util/import_gcry.py: Accept space between # and include.
15454
3471ecdf
VS
154552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15458
124df5f6
VS
154592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15462
15463 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15464 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15465 yylex_strncpy.
15466 * grub-core/script/yylex.l: Add fine-grained #pragma.
15467
4defb8d5
VS
154682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15471 New inline function.
15472 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15473 Likewise.
15474 (memset) [GRUB_UTIL]: Likewise.
15475 (memcmp) [GRUB_UTIL]: Likewise.
15476
4e94ae65
VS
154772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15480 inline function rather than a define.
15481
18c575e5
VS
154822011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * util/grub-setup.c: Add missing include.
15485
f8bc22a8
VS
154862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * util/ieee1275/grub-ofpathname.c: Add missing include.
15489
3ce69fc9
VS
154902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15493 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15494 Likewise.
15495
d1e293bb
VS
154962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15497
15498 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15499 grub_memcmp usage.
15500
7a5c54a4
VS
155012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * util/grub-install.in: Add datarootdir as per automake manual
15504 suggestion.
15505 * util/grub-mknetdir.in: Likewise.
15506
155072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15508
15509 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15510 suggestion.
15511 * util/grub.d/10_kfreebsd.in: Likewise.
15512 * util/grub.d/10_linux.in: Likewise.
15513 * util/grub.d/10_netbsd.in: Likewise.
15514 * util/grub.d/10_windows.in: Likewise.
15515 * util/grub.d/20_linux_xen.in: Likewise.
15516
766f7d08
VS
155172011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 Remove redundant grub_kernel_image_size.
15520
15521 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15522 _edata and _start.
15523 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15524 the small code. It moves it only by few bytes but simplifies the code.
15525 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15526 _start.
15527 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15528 (grub_kernel_image_size): Removed.
15529 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15530 (grub_kernel_image_size): Removed.
15531 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15532 compiled with Apple toolchain.
15533 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15534 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15535 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15536 (grub_total_module_size): Likewise.
15537 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15538 Removed.
15539 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15540 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15541 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15542 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15543 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15544 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15545 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15546 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15547 Removed.
15548 (grub_total_module_size): Removed.
15549 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15550 (image_targets): Likewise.
15551 Set .compressed_size to no field on sparc.
15552 (generate_image): Remove kernel_image_size handling.
15553
fcf1d672
SJ
155542011-10-19 Szymon Janc <szymon@janc.net.pl>
15555
15556 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15557 NULL pointer dereference.
15558
de9c615e
VS
155592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15562 done with a dedicated section.
15563
15564 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15565 Ensure the correct position of boot_path.
15566 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15567 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15568 other fields.
15569 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15570 * include/grub/boot.h: Removed. All references removed.
15571 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15572 Removed.
15573 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15574
e55599dc
VS
155752011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15578 name.
15579
36dd20ad
VS
155802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15583
f8f72eb8
VS
155842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15587 Don't add the bogus brackets.
15588
a374751b
VS
155892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 ExFAT support.
15592
15593 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15594 * grub-core/Makefile.core.def (exfat): New module.
15595 * grub-core/fs/exfat.c: New file.
15596 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15597 (GRUB_FAT_ATTR_*): Make into an enum.
15598 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15599 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15600 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15601 (GRUB_FAT_MAXFILE): Removed.
15602 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15603 (grub_current_fat_bpb_t): New type.
15604 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15605 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15606 (grub_fat_dir_node_t): New type.
15607 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15608 (fat_log2) [MODE_EXFAT]: Removed.
15609 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15610 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15611 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15612 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15613 (grub_fat_label) [MODE_EXFAT]: New function.
15614 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15615 reserved_first_sector to 0.
15616
544c2487
VS
156172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 Move grub_reboot out of the kernel.
15620
15621 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15622 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15623 * grub-core/lib/efi/reboot.c: ... here.
15624 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15625 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15626 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15627 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15628 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15629 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15630 * grub-core/lib/ieee1275/reboot.c: ... here.
15631 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15632 * grub-core/lib/mips/arc/reboot.c: ... here.
15633 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15634 * grub-core/lib/mips/loongson/reboot.c: ...here.
15635 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15636 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15637 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15638 * include/grub/i386/reboot.h: New file.
15639 * include/grub/mips/loongson/ec.h: Fix includes.
15640 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15641 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15642 * grub-core/lib/i386/reboot.c: New file.
15643
a97501d2
VS
156442011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 Make grub_prefix into module to fix the arbitrary limit and save
15647 some space.
15648
15649 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15650 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15651 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15652 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15653 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15654 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15655 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15656 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15657 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15658 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15659 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15660 * include/grub/ia64/efi/kernel.h: Removed.
15661 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15662 (grub_prefix): Removed.
15663 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15664 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15665 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15666 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15667 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15668 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15669 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15670 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15671 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15672 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15673 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15674 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15675 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15676 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15677 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15678 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15679 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15680 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15681 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15682 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15683 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15684 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15685 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15686 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15687 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15688 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15689 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15690 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15691 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15692 from module.
15693 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15694 prefix_end.
15695 (image_targets): Likewise.
15696 (generate_image): Put prefix as a module.
15697
39705fad
VS
156982011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 Replace grub_module_iterate with FOR_MODULES.
15701
15702 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15703 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15704 (grub_efi_modules_addr): ...this.
15705 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15706 (grub_efi_init): Set grub_modbase.
15707 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15708 (grub_modbase): New variable.
15709 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15710 (grub_modbase): New variable.
15711 (grub_machine_init): Set grub_modbase.
15712 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15713 (grub_modbase): New variable.
15714 (grub_machine_init): Set grub_modbase.
15715 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15716 (grub_modbase): New variable.
15717 (grub_machine_init): Set grub_modbase.
15718 * grub-core/kern/main.c (grub_module_iterate): Remove.
15719 (grub_modules_get_end): Use grub_modbase.
15720 (grub_load_modules): Use FOR_MODULES.
15721 (grub_load_config): Likewise.
15722 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15723 (grub_modbase): New variable.
15724 (grub_machine_init): Set grub_modbase.
15725 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15726 (grub_modbase): New variable.
15727 (grub_machine_init): Set grub_modbase.
15728 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15729 Removed.
15730 (grub_modbase): New variable.
15731 (grub_machine_init): Set grub_modbase.
15732 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15733 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15734 (grub_module_iterate): Likewise.
15735 (grub_modbase): New variable declaration.
15736 (FOR_MODULES): New macro.
15737
2afb7f6c
VS
157382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15741 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15742
366e34fa
VS
157432011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 Fix few obvious type discrepancies.
15746
15747 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15748 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15749 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15750 variable.
15751 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15752 and connected types.
15753 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15754 offset.
15755 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15756 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15757 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15758 and connected types.
15759
177b960e
VS
157602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15761
15762 Fix python 3.x incompatibilities.
15763
15764 * gentpl.py: Put brackets around print strings.
15765 * util/import_gcry.py: Open explicitly as utf-8.
15766 Use in instead of has_key.
15767
3b619ae1
VS
157682011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15771 (GRUB_XFS_INO_AGBITS): Make into inline function.
15772 (GRUB_XFS_INO_INOINAG): Likewise.
15773 (GRUB_XFS_INO_AG): Likewise.
15774 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15775 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15776 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15777 (GRUB_XFS_EXTENT_SIZE): Likewise.
15778 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15779 (GRUB_XFS_NEXT_DIRENT): Likewise.
15780 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15781 (grub_xfs_read_file): Fix offset type.
15782
8bcebcb8
RM
157832011-10-15 Robert Millan <rmh@gnu.org>
15784
15785 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15786
0017e5ef
RM
157872011-10-15 Robert Millan <rmh@gnu.org>
15788
15789 Fix build problem on FreeBSD and GNU/kFreeBSD.
15790
15791 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15792
d8919552
VS
157932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15796
15797 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15798 types.
15799 (grub_hfsplus_btree_recoffset): Likewise.
15800 (grub_hfsplus_btree_recptr): Likewise.
15801 (grub_hfsplus_find_block): Likewise.
15802 (grub_hfsplus_btree_search): Likewise.
15803 (grub_hfsplus_read_block): Likewise.
15804 (grub_hfsplus_read_file): Likewise.
15805 (grub_hfsplus_mount): Likewise.
15806 (grub_hfsplus_btree_iterate_node): Likewise.
15807 (grub_hfsplus_btree_search): Likewise.
15808 (grub_hfsplus_iterate_dir): Likewise.
15809 (grub_hfsplus_read): A small code simplification.
15810
c81296b6
VS
158112011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * grub-core/kern/emu/hostdisk.c
15814 (convert_system_partition_to_system_disk): Don't assume that children
15815 of mapper nodes are mapper nodes.
15816
0eb8ffb1
VS
158172011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15820 * include/grub/misc.h (grub_isxdigit): New function.
15821 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15822 switched to grub_isxdigit.
15823 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15824 number starting with a letter.
15825
a98f4a08
RM
158262011-10-09 Robert Millan <rmh@gnu.org>
15827
15828 LVM support for FreeBSD and GNU/kFreeBSD.
15829
15830 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15831 GNU/kFreeBSD.
15832 (LVM_DEV_MAPPER_STRING): Move from here ...
15833 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15834 * util/getroot.c: Include `<grub/util/lvm.h>'.
15835 (grub_util_get_dev_abstraction): Enable
15836 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15837 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15838 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15839 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15840 support it.
15841 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15842 GNU/kFreeBSD.
15843 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15844 when LVM abstraction is required for ${GRUB_DEVICE}.
15845
050e8e90
SJ
158462011-10-06 Szymon Janc <szymon@janc.net.pl>
15847
15848 Add support for LZO compression in GRUB:
15849 - import of minilzo library,
15850 - LZO decompression for btrfs,
15851 - lzop files decompression.
15852
15853 * grub-core/io/lzopio.c: New file.
15854 * grub-core/lib/adler32.c: Likewise.
15855 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15856 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15857 * grub-core/lib/minilzo/minilzo.c: Likewise.
15858 * grub-core/lib/minilzo/minilzo.h: Likewise.
15859 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15860 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15861 grub-core/lib/minilzo/minilzo.c to common.
15862 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15863 cflags in cppflags.
15864 * grub-core/Makefile.core.def (btrfs): Likewise.
15865 * grub-core/Makefile.core.def (lzopio): New module.
15866 (adler32): Likewise.
15867 * grub-core/fs/btrfs.c: Include minilzo.h.
15868 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15869 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15870 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15871 (grub_btrfs_lzo_decompress): New function.
15872 (grub_btrfs_extent_read): Add support for LZO compression type.
15873 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15874 (GRUB_USHRT_MAX): Likewise.
15875 (GRUB_UINT_MAX): Likewise.
15876 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15877 (UINT_MAX): Likewise.
15878 (CHAR_BIT): Likewise.
15879 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15880 grub-core/lib/posix_wrap/limits.h
15881 (UCHAR_MAX): Likewise.
15882 * include/grub/file.h (grub_file_filter_id): New compression filter
15883 GRUB_FILE_FILTER_LZOPIO.
15884 * include/grub/file.h (grub_file_filter_id): Set
15885 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15886 * include/grub/types.h (grub_get_unaligned16): New function.
15887 (grub_get_unaligned32): Likewise.
15888 (grub_get_unaligned64): Likewise.
15889 * util/import_gcry.py (cryptolist): Add adler32.
15890
0eb8ffb1
VS
158912011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15894 in perspective decreases the complexity of build system and fixes
15895 compilation right now.
15896
ce79cc99 158972011-10-01 Ales Nesrsta <starous@volny.cz>
15898
15899 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15900 (fixed problem related to using UHCI with coreboot).
15901
8667a314
BC
159022011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15903
15904 * gentpl.py: Use Autogen macros so that the output template file
15905 (Makefile.tpl) size is reduced.
15906
fc5efcc0
MK
159072011-09-29 Mads Kiilerich <mads@kiilerich.com>
15908
15909 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15910 extra_dist.
15911
d1ab689d
ML
159122011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15913
15914 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15915 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15916
c05de032
ML
159172011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15918
15919 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15920 _fullpath.
15921
cca7ccd8
ML
159222011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15923
15924 Remove extra declaration of sleep for mingw32.
15925
15926 * util/misc.c (sleep) [__MINGW32__]: Removed.
15927 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15928
e0b0dc83
GS
159292011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15930
15931 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15932 type and packname.
15933 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15934 Resurrected.
15935 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15936 (grub_netbsd_btinfo_bootwedge): New struct.
15937 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15938 New function.
15939 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15940
91a1a164
TH
159412011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15942
15943 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15944 loader.
15945
2ded951e
AB
159462011-09-28 Andreas Born <futur.andy@googlemail.com>
15947
15948 Fix incorrect identifiers in bash-completion.
15949
15950 * util/bash-completion.d/grub-completion.bash.in
15951 (_grub_mkpasswd-pbkdf2): Rename to ...
15952 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15953 (_grub_script-check): Rename to ...
15954 (_grub_script_check): ... this. All users updated.
15955
69915030
VS
159562011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15959 Return 0 if disk isn't biosdisk.
15960
20fd15f9
GS
159612011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15962
15963 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15964 on NetBSD.
15965 * Makefile.util.def (grub-fstest): Likewise.
15966
1a7d7db9
GS
159672011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15968
15969 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15970 Get sector size from disk label.
15971
2221ab6c
CW
159722011-09-05 Colin Watson <cjwatson@ubuntu.com>
15973
15974 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15975 */README* as well as README*.
15976 Reported by: Axel Beckert.
15977
ca51c4a0
VS
159782011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15981 case of less than 256 MiB of RAM.
15982
ab80f326
VS
159832011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * grub-core/commands/wildcard.c (make_regex): Handle @.
15986
4155e697
VS
159872011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15990
ab178c08
SJ
159912011-08-21 Szymon Janc <szymon@janc.net.pl>
15992
15993 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15994 AC_LANG_CONFTEST macros.
15995
7dc3c686
SJ
159962011-08-20 Szymon Janc <szymon@janc.net.pl>
15997
15998 Add grub-fstest option to uncompress data for commands.
15999
16000 * util/grub-fstest.c (uncompress): New var.
16001 (options): New option -u.
16002
fe8d4a7b
SJ
160032011-08-20 Szymon Janc <szymon@janc.net.pl>
16004
16005 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16006 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16007
a5219af1
SJ
160082011-08-20 Szymon Janc <szymon@janc.net.pl>
16009
16010 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16011 file type was not recognized correctly (not gzip or corrupted).
16012
f87abff5
VS
160132011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16016 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16017
d94497ea
VS
160182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16021 loongson.
16022 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16023 video_radeon_fuloong2e.
16024 * grub-core/video/radeon_fuloong2e.c: New file.
16025 * include/grub/video.h (grub_video_id_t): Add new ID
16026 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16027
0d1fd011
VS
160282011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16031 define.
16032 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16033 that PRID matches the detected subplatform and reset the subplatform
16034 if it doesn't.
16035
84beb0ee
VS
160362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16039
1227c133
VS
160402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16041
16042 Fix PCI iterating on functions >= 4.
16043
16044 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16045 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16046 Removed.
16047 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16048 (grub_pci_read): Fix bitmask.
16049 (grub_pci_read_word): Likewise.
16050 (grub_pci_read_byte): Likewise.
16051 (grub_pci_write): Likewise.
16052 (grub_pci_write_word): Likewise.
16053 (grub_pci_write_byte): Likewise.
16054
9594c689
VS
160552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16058 can still be specified in TARGET_CFLAGS)
16059
14a2562c
VS
160602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16063
16064 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16065 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16066 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16067 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16068 (FULOONG): Rename to ...
16069 (FULOONG2F): ... this. All users updated.
16070 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16071 (machtype_fuloong2f_str): ... this.
16072 (machtype_fuloong2e_str): New string.
16073 Check for machtype_fuloong2e_str.
16074 * grub-core/loader/mips/linux.c (loongson_machtypes)
16075 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16076 * grub-core/term/serial.c (loongson_defserial)
16077 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16078 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16079 loongson_defserial.
16080 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16081 Rename to ...
16082 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16083 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16084 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16085 to IMAGE_FULOONG2F_FLASH. All users updated.
16086 (image_targets): Rename images.
16087 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16088
b526cbb6
SJ
160892011-08-19 Szymon Janc <szymon@janc.net.pl>
16090
16091 Make enable of disk cache statistics code configurable.
16092
16093 * configure.ac: --enable-cache-stats added.
16094 * config.h.in (DISK_CACHE_STATS): New define.
16095 * grub-core/Makefile.core.def (cacheinfo): New command.
16096 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16097 * grub-core/commands/cacheinfo.c: New file.
16098 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16099 moved to cacheinfo.c.
16100 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16101 debug code.
16102 * include/grub/disk.h: Likewise.
16103
fb739ccd
SJ
161042011-08-19 Szymon Janc <szymon@janc.net.pl>
16105
16106 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16107 * grub-core/Makefile.am: Likewise.
16108
2bba8cfd
VS
161092011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16112 non-zero pull.
16113
43526629
VS
161142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16117 All users updated.
16118 (grub_jfs_lookup_symlink): Use correct starting inode.
16119
5c144cc8
VS
161202011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * util/grub-setup.c (main): Add missing gcry initialisation.
16123
b1257f65
VS
161242011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 Don't accept text modes on EFI when booting Linux.
16127
16128 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16129 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16130
828bc390
ML
161312011-08-15 Mario Limonciello <mario_limonciello@dell.com>
161322011-08-15 Colin Watson <cjwatson@ubuntu.com>
16133
16134 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16135 use of "/path/.." as in grub-install for EFI as well as handling
16136 symlinks correctly.
16137 Fixes Debian bug #637768.
16138
5f60ccac
CW
161392011-08-15 Colin Watson <cjwatson@ubuntu.com>
16140
16141 * util/grub-probe.c: Remove duplicate #include.
16142
6dc212f9
RM
161432011-08-10 Robert Millan <rmh@gnu.org>
16144
16145 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16146
16147 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16148 function.
16149 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16150 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16151
66816d85
RM
161522011-08-03 Robert Millan <rmh@gnu.org>
16153
16154 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16155 la_array as packed.
16156 Reported by: Zachary Bedell
16157
20168fca
CW
161582011-07-26 Colin Watson <cjwatson@ubuntu.com>
16159
16160 * configure.ac: The Loongson port requires grub-mkfont due to its
16161 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16162 be built.
16163
303b6246
CW
161642011-07-26 Colin Watson <cjwatson@ubuntu.com>
16165
16166 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16167 processing arguments (otherwise help2man fails when GRUB has not yet
16168 been installed).
16169
6795300e
VS
161702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16171
41aa28ea
VS
16172 New script grub-mkstandalone.
16173
16174 * Makefile.util.def (grub-mkstandalone): New script.
16175 * docs/man/grub-mkstandalone.h2m: New file.
16176 * util/grub-mkstandalone.in: Likewise.
16177
161782011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 Support ATA disks with 4K sectors.
6795300e
VS
16181
16182 * include/grub/ata.h (grub_ata): New member log_sector_size.
16183 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16184 (grub_ata_identify): Read sector size.
16185 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16186
92227597
VS
161872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * util/grub-install.in: Don't use uhci outside of x86.
16190
c77069f5
VS
161912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 * util/grub-mkrescue.in: Add missing quotes.
16194
161952011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16196
16197 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16198 dereference.
16199
583168a2
VS
162002011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16203
6be1c01f
VS
162042011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * include/grub/video.h: add missing EXPORT_FUND on
16207 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16208
a1167439
VS
162092011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * include/grub/mips/kernel.h: Fix define conflict.
16212
bf66054f
VS
162132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16214
16215 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16216 all four ways.
16217
8fc4fa45
CW
162182011-07-21 Colin Watson <cjwatson@ubuntu.com>
16219
16220 Preferred resolution detection for VBE.
16221
16222 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16223 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16224 the Flat Panel extension, in line with the X.org VESA driver.
16225 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16226 New function.
16227 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16228 (grub_vbe_bios_read_edid): Likewise.
16229 (grub_vbe_get_preferred_mode): Likewise.
16230 (grub_video_vbe_setup): When the mode is "auto", try to get the
16231 preferred mode from VBE, and use the largest mode that is no larger
16232 than the preferred mode (some BIOSes expose a preferred mode that is
16233 not in their mode list!). If this fails, fall back to 640x480 as a
16234 safe conservative choice.
16235 (grub_video_vbe_get_edid): New function.
16236 (grub_video_vbe_adapter): Add get_edid.
16237 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16238 (struct grub_video_adapter): Add get_edid.
16239 (grub_video_edid_checksum): Add prototype.
16240 (grub_video_edid_preferred_mode): Likewise.
16241 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16242 structure.
16243
16244 * grub-core/commands/videoinfo.c (print_edid): New function.
16245 (grub_cmd_videoinfo): Print EDID if available.
16246
16247 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16248 is more appropriate on a wider range of platforms than 640x480.
16249 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16250 documentation.
16251
ca5572a9
VS
162522011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16255
e4bcf625
VS
162562011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * po/POTFILES.in: Regenerate.
16259
c4edd548
VS
162602011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16263 incorrect memory usage.
16264
16a2bab0
VS
162652011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16266
16267 * util/grub-install.in: Source grub-mkconfig_lib.
16268
2e418de6
VS
162692011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Remove getroot.c from core on emu platform.
16272
16273 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16274 kern/emu/raid.c.
16275 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16276 useless.
16277 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16278 * util/getroot.c (get_win32_path): ... here.
16279 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16280 * util/getroot.c (fini_libzfs): ... here.
16281 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16282 * util/getroot.c (grub_get_libzfs_handle): ... here.
16283 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16284 Moved from here...
16285 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16286 * grub-core/kern/emu/misc.c
16287 (grub_make_system_path_relative_to_its_root): Moved from here...
16288 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16289 * grub-core/kern/emu/getroot.c: Moved from here ...
16290 * util/getroot.c: ... here. All users updated.
16291 * grub-core/kern/emu/raid.c: Moved from here ...
16292 * util/raid.c: ... here. All users updated.
16293
def9832a
VS
162942011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * po/POTFILES.in: Regenerate.
16297
cd8fe79a
VS
162982011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 Fix compilation on GNU/Linux.
16301
16302 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16303 Disable geli.
16304 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16305 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16306 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16307
a251b719
VS
163082011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
163092011-07-07 Michael Gorven <michael@gorven.za.net>
163102011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16311
16312 LUKS and GELI support.
16313
16314 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16315 grub-core/disk/luks.c, grub-core/disk/geli.c,
16316 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16317 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16318 grub-core/lib/arg.c.
16319 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16320 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16321 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16322 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16323 (grub-bin2h): Add libgcry.a.
16324 (grub-mkimage): Likewise.
16325 (grub-mkrelpath): Likewise.
16326 (grub-script-check): Likewise.
16327 (grub-editenv): Likewise.
16328 (grub-mkpasswd-pbkdf2): Likewise.
16329 (grub-pe2elf): Likewise.
16330 (grub-fstest): Likewise.
16331 (grub-mkfont): Likewise.
16332 (grub-mkdevicemap): Likewise.
16333 (grub-probe): Likewise.
16334 (grub-ofpath): Likewise.
16335 (grub-mklayout): Likewise.
16336 (example_unit_test): Likewise.
16337 (grub-menulst2cfg): Likewise.
16338 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16339 * grub-core/Makefile.core.def (cryptodisk): New module.
16340 (luks): Likewise.
16341 (geli): Likewise.
16342 * grub-core/disk/AFSplitter.c: New file.
16343 * grub-core/disk/cryptodisk.c: Likewise.
16344 * grub-core/disk/geli.c: Likewise.
16345 * grub-core/disk/luks.c: Likewise.
16346 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16347 grub_util_is_lvm.
16348 (grub_util_get_dm_abstraction): New function.
16349 (grub_util_follow_gpart_up): Likewise.
16350 (grub_util_get_geom_abstraction): Likewise.
16351 (grub_util_get_dev_abstraction): Use new functions.
16352 (grub_util_pull_device): Pull GELI and LUKS.
16353 (grub_util_get_grub_dev): Handle LUKS and GELI.
16354 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16355 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16356 (follow_geom_up): Removed.
16357 (grub_util_fd_seek): New function.
16358 (open_device): Use grub_util_fd_seek.
16359 (nread): Rename to ..
16360 (grub_util_fd_read): ... this. All users updated.
16361 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16362 (grub_crypto_cbc_decrypt): Likewise.
16363 (grub_crypto_hmac_write): Likewise.
16364 (grub_crypto_hmac_buffer): Likewise.
16365 (grub_password_get): Extend to util.
16366 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16367 New member modname.
16368 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16369 * include/grub/cryptodisk.h: New file.
16370 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16371 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16372 LUKS and GELI.
16373 (grub_util_follow_gpart_up): New proto.
16374 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16375 (grub_util_fd_read): Likewise.
16376 (grub_cryptodisk_cheat_mount): Likewise.
16377 (grub_util_cryptodisk_print_uuid): Likewise.
16378 (grub_util_get_fd_sectors): Likewise.
16379 * util/grub-fstest.c (mount_crypt): New var.
16380 (fstest): Mount crypto if requested.
16381 (options): New option -C.
16382 (argp_parser): Parse -C.
16383 (main): Init and fini gcry.
16384 * util/grub-install.in: Support cryptodisk install.
16385 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16386 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16387 cryptodisk.
16388 (prepare_grub_to_access_device): Likewise.
16389 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16390 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16391 (probe_cryptodisk_uuid): New function.
16392 (probe_abstraction): Likewise.
16393 (probe): Use new functions.
16394 * util/import_gcry.py: Create Makefile.utilgcry.def.
16395 Add modname member.
16396
9bfdcbbc
VS
163972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 Lazy device scanning.
16400
16401 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16402 (grub-setup): Remove util/raid.c.
16403 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16404 * grub-core/disk/lvm.c (scan_depth): New variable.
16405 (grub_lvm_iterate): Rescan if necessary.
16406 (find_lv): New function based on grub_lvm_open.
16407 (grub_lvm_open): Use find_lv. Rescan on error.
16408 (is_node_readable): New function.
16409 (is_lv_readable): Likewise.
16410 (grub_lvm_scan_device): Skip already found disks.
16411 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16412 Stop if searched device is found and readable.
16413 * grub-core/disk/raid.c (inscnt): New variable.
16414 (scan_depth): Likewise.
16415 (scan_devices): New function based on grub_raid_register. Abort if
16416 looked for device is found.
16417 (grub_raid_iterate): Rescan if needed.
16418 (find_array): NEw function based on -grub_raid_open.
16419 (grub_raid_open): Use find_array and rescan.
16420 (insert_array): Set became_readable_at.
16421 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16422 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16423 New function.
16424 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16425 (grub_util_pull_device): New function.
16426 (grub_util_get_grub_dev): Call grub_util_pull_device.
16427 * util/raid.c: Moved to ..
16428 * grub-core/kern/emu/raid.c: ... here.
16429 (grub_util_raid_getmembers): New parameter "bootable".
16430 All users updated. Support 1.x.
16431 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16432 All users updated.
16433 * include/grub/disk.h (grub_disk_pull_t): New enum.
16434 (grub_disk_dev): Change iterate prototype.
16435 All users updated.
16436 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16437 New proto.
16438 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16439 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16440 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16441 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16442 All users updated.
16443 * include/grub/util/raid.h: Removed.
16444
1c358e59
VS
164452011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * po/POTFILES.in: Regenerate.
16448
abee94ed
VS
164492011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16450
16451 Unify sparc init with other ieee1275.
16452
16453 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16454 instead of kern/sparc64/ieee1275/init.c.
16455 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16456 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16457 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16458 grub/machine/kernel.h.
16459 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16460 (grub_claim_heap) [__sparc__]: Use sparc version.
16461 (grub_machine_init): Moved args parsing to
16462 (grub_parse_cmdline): ...this.
16463 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16464 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16465 New definition.
16466 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16467
16468 Move BOOTP to separate file.
16469
16470 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16471 * grub-core/net/net.c: Move all BOOTP functions to
16472 * grub-core/net/bootp.c: ... here.
16473
16474 Use frame interface on PXE.
16475
16476 * grub-core/Makefile.core.def (pxecmd): Removed.
16477 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16478 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16479 * grub-core/i386/pc/pxe.c: Moved from here ...
16480 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16481 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16482 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16483
16484 EFI network support.
16485
16486 * grub-core/Makefile.core.def (efinet): New module.
16487 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16488 here...
16489 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16490 All users updated.
16491 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16492 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16493 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16494 * grub-core/net/drivers/efi/efinet.c: New file.
16495 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16496 (grub_efi_net_config): New extern var.
16497
16498 Various cleanups and bugfixes.
16499
16500 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16501 error.
16502 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16503 disk declared as partition.
16504 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16505 leak on failure.
16506 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16507 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16508 (grub_debug_zalloc): Likewise.
16509 (grub_debug_realloc): Likewise.
16510 (grub_debug_memalign): Likewise.
16511 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16512 Check that target is IPv4.
16513 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16514 local-mac-address as fallback.
16515 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16516 memory leak.
16517 * grub-core/net/ip.c (ipchksum): Rename to ...
16518 (grub_net_ip_chksum): ... this. All users updated.
16519 (grub_net_recv_ip_packets): Special handling for DHCP.
16520 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16521
16522 Unify prefix handling
16523
16524 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16525 (grub_machine_get_bootlocation): ... this.
16526 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16527 (grub_machine_get_bootlocation): ... this.
16528 (grub_prefix): New variable.
16529 (prefix): Removed.
16530 (root_dev): New variable.
16531 (dir): Likewise.
16532 (main): Use new variables.
16533 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16534 Revamped into ...
16535 (grub_machine_get_bootlocation): ... this.
16536 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16537 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16538 (grub_machine_get_bootlocation): ... this.
16539 (grub_machine_set_prefix): Removed.
16540 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16541 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16542 Revamped into ...
16543 (grub_machine_get_bootlocation): ... this.
16544 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16545 (grub_set_prefix_and_root): ... this. All users updated.
16546 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16547 Revamped into ...
16548 (grub_machine_get_bootlocation): ... this.
16549 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16550 (grub_machine_get_bootlocation): New proto.
16551 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16552
16553 Less intrusive and more reliable seek on network implementation.
16554
16555 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16556 (grub_file_seek): Don't call grub_file_net_seek.
16557 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16558 (grub_net_fs_read_real): .. this.
16559 (grub_net_seek_real): Use net->offset.
16560 (grub_net_fs_read): Seek if necessary.
16561
16562 Unify IEEE1275 netwotk config with the other platforms.
16563
16564 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16565 New variable.
16566 (grub_machine_get_bootlocation): Support network.
16567 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16568 Support type and device parsing.
16569 (grub_ieee1275_get_device_type): New function.
16570 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16571 into ...
16572 (grub_ieee1275_net_config_real): ... this.
16573 (grub_ofnet_probecards): Removed.
16574 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16575 * include/grub/ieee1275/ofnet.h: Removed.
16576 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16577 extern var.
16578 (grub_ieee1275_get_device_type): New function.
16579
16580 Unify network device closing across platforms and make more robust.
16581
16582 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16583 grub_grubnet_fini.
16584 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16585 already.
16586 * grub-core/net/net.c (grub_net_network_level_interface_register):
16587 Update num_ifaces.
16588 (grub_net_card_unregister): Close all interfaces.
16589 (receive_packets): Don't poll if no iterfaces are registered.
16590 Open if necessary.
16591 (grub_net_fini_hw): New function.
16592 (grub_net_restore_hw): Likewise.
16593 (fini_hnd): New variable.
16594 (GRUB_MOD_INIT): Register preboot hook.
16595 (GRUB_MOD_FINI): Run and unregister preboot hook.
16596
16597 Poll network cards when idle.
16598
16599 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16600 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16601 * grub-core/net/net.c (receive_packets): Save last poll time.
16602 (grub_net_poll_cards_idle_real): New function.
16603 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16604 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16605 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16606
16607 Rename ofnet interfaces.
16608
16609 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16610 (grub_ofnet_findcards): Use ofnet_%s names.
16611
16612 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16613
16614 Cleanup socket opening.
16615
16616 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16617 (grub_net_fs_close): Likewise.
16618 (grub_net_fs_read_real): Use eof member.
16619 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16620 (+grub_net_udp_close): New inline function.
16621
16622 * include/grub/net/tftp.h: Moved to the top of ...
16623 * grub-core/net/tftp.c: ... here.
16624 * include/grub/net/ip.h: Moved mostly to the top of ...
16625 * grub-core/net/ip.c: ... here.
16626 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16627 * grub-core/net/ethernet.c: ... here.
16628
16629 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16630
16631 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16632 FS name.
16633
16634 * include/grub/net/ip.h (ipv4_ini): Removed.
16635 (ipv4_fini): Likewise.
16636
16637 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16638 (grub_net_send_ip_packets): Likewise.
16639
cf1337aa
VS
166402011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16643 grub_read_cmos prototype.
16644
93c06ff9
VS
166452011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 VGA text support in qemu-mips
16648
16649 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16650 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16651 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16652 text.
16653 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16654 * grub-core/kern/vga_init.c: ... this.
16655 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16656 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16657 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16658 Adjust.
16659 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16660 GRUB_MACHINE_PCI_IO_BASE.
16661
748ccabe
VS
166622011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 MIPS qemu flash support.
16665
16666 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16667 magic.
16668 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16669 (grub_machine_init): Probe memory if its size isn't known.
16670 * util/grub-mkimage.c (image_targets): Add flash targets.
16671 (generate_image): Handle flash targets.
16672
d7345994
VS
166732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 MIPS qemu at_keyboard support.
16676
16677 * gentpl.py (videoinkernel): Add qemu-mips.
16678 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16679 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16680 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16681 modules.
16682 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16683 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16684 * grub-core/term/serial.c (grub_serial_register)
16685 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16686
a07a81b3
VS
166872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 CMOS support on sparc.
16690
16691 * gentpl.py (cmos): Add powerpc and sparc.
16692 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16693 powerpc and sparc.
16694 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16695 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16696 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16697 grub_set_datetime_cmos.
16698 * grub-core/lib/ieee1275/cmos.c: New file.
16699 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16700 (find_rtc): Set no_ieee1275_rtc on error.
16701 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16702 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16703 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16704 fail. Move value to argument. All users updated
16705 (grub_cmos_write): Likewise.
16706 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16707 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16708 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16709 grub_get_datetime_cmos and grub_set_datetime_cmos.
16710
77546584
GS
167112011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16712
16713 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16714 sourcing grub-mkconfig_lib.
16715 * util/update-grub_lib.in: Likewise.
16716 * util/grub.d/00_header.in: Likewise.
16717 * util/grub.d/10_hurd.in: Likewise.
16718 * util/grub.d/10_kfreebsd.in: Likewise.
16719 * util/grub.d/10_linux.in: Likewise.
16720 * util/grub.d/10_netbsd.in: Likewise.
16721 * util/grub.d/10_windows.in: Likewise.
16722 * util/grub.d/20_linux_xen.in: Likewise.
16723 * util/grub.d/30_os-prober.in: Likewise.
16724
54894791
CW
167252011-06-28 Colin Watson <cjwatson@ubuntu.com>
16726
16727 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16728 default_bg_color rather than black.
16729 (grub_gfxterm_fullscreen): Likewise.
16730 (grub_gfxterm_background_color_cmd): Save new background color in
16731 default_bg_color.
16732
8d5d8444
VS
167332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16734
16735 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16736
5afeb5bd
VS
167372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16740 mismerge.
16741
ba7df45e
VS
167422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16743
16744 Chainloading on coreboot support.
16745
16746 * grub-core/Makefile.core.def (chain): Add coreboot.
16747 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16748
d0b526b2
VS
167492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16752 if it happens.
16753
5ff1d945
VS
167542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 Implement time command.
16757
16758 * grub-core/Makefile.core.def (time): New module.
16759 * grub-core/commands/time.c: New file.
16760 * grub-core/script/parser.y: Remove "time" keyword.
16761 * grub-core/script/yylex.l: Likewise.
16762
5ebaad7e
VS
167632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16766
bdea3798
VS
167672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16770 when handling leftovers.
16771
b28c5655
VS
167722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16775 so that help2man doesn't fail.
16776
b6f945dc
VS
167772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16780 type in pointers on sparc64.
16781 (get_card_packet): Likewise.
16782
f9b75e8a
CW
167832011-06-27 Colin Watson <cjwatson@ubuntu.com>
16784
16785 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16786 with `*'.
16787 (grub_cmd_videoinfo): Fetch current video mode.
16788
1e3d9b86
VS
167892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16792 because of underlying system restrictions.
16793
efff4b1c
VS
167942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16795
16796 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16797 necessary.
16798
9fc9ce37
VS
167992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 Coreboot video support.
16802
16803 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16804 (vbe): Likewise.
16805 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16806 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16807 here ...
16808 * grub-core/kern/i386/int.S: ... here.
16809 * grub-core/video/i386/pc/vbe.c: Updated includes.
16810 * grub-core/video/i386/pc/vga.c: Likewise.
16811 * include/grub/i386/coreboot/memory.h
16812 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16813 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16814 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16815 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16816 Disable interrupts.
16817 * include/grub/i386/pc/vga.h: Removed. All users updated.
16818
41bec7fe
VS
168192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16822 definitions for dprintf.
16823 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16824
ca80309d
VS
168252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16828 prototype.
16829 (get_card_packet): Likewise.
16830
9e322ce8
YB
168312011-06-26 Yves Blusseau <blusseau@zetam.org>
16832
16833 Display the path of the file when file is not found
16834
16835 * grub-core/fs/fat.c: Display the filename when file is not found.
16836 * grub-core/fs/fshelp.c: Likewise.
16837 * grub-core/fs/hfs.c: Likewise.
16838 * grub-core/fs/jfs.c: Likewise.
16839 * grub-core/fs/minix.c: Likewise.
16840 * grub-core/fs/ufs.c: Likewise.
16841 * grub-core/fs/btrfs.c: Likewise.
16842 * grub-core/commands/i386/pc/play.c: Likewise.
16843
cbf597af
SJ
168442011-06-26 Szymon Janc <szymon@janc.net.pl>
16845
16846 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16847 pointer checks before calling grub_free().
16848 * grub-core/commands/wildcard.c (match_devices): Likewise.
16849 * grub-core/commands/wildcard.c (match_files): Likewise.
16850 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16851 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16852 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16853 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16854 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16855 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16856 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16857 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16858 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16859
6295b32f
P
168602011-06-25 Patrick <p55@mailinator.com>
16861
16862 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16863
77c0840b
VS
168642011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16867 (grub_pxe_send): Likewise.
16868 (GRUB_MOD_INIT): Fix types.
16869
40ea05de
SJ
168702011-06-24 Szymon Janc <szymon@janc.net.pl>
16871
16872 * grub-core/io/xzio.c: Fix code style issues
16873
90162423
MRA
168742011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
168752011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16876
16877 Network infrastructure.
16878 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16879
16880 * include/grub/net/arp.h: New file.
90162423
MRA
16881 * include/grub/net/device.h: Likewise.
16882 * include/grub/net/ethernet.h: Likewise.
16883 * include/grub/net/ip.h: Likewise.
16884 * include/grub/net/netbuff.h: Likewise.
16885 * include/grub/net/tftp.h: Likewise.
16886 * include/grub/net/udp.h: Likewise.
16887 * include/grub/ieee1275/ofnet.h: Likewise.
16888 * include/grub/emu/export.h: Likewise.
16889 * include/grub/net.h: Likewise.
16890 * grub-core/net/arp.c: Likewise.
16891 * grub-core/net/ethernet.c: Likewise.
16892 * grub-core/net/ip.c: Likewise.
16893 * grub-core/net/udp.c: Likewise.
16894 * grub-core/net/tftp.c: Likewise.
16895 * grub-core/net/netbuff.c: Likewise.
16896 * grub-core/net/net.c: Likewise.
16897 * grub-core/net/drivers/emu/emunet.c: Likewise.
16898 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16899 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16900 export.h.
16901 * grub-core/Makefile.core.def (net): New module.
16902 (tftp): Likewise.
16903 (ofnet): Likewise.
16904 (emunet): Likewise.
16905 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16906 network protocols.
16907 * grub-core/kern/device.c (grub_net_open) : New variable.
16908 (grub_device_open): Handle network device.
16909 (grub_device_close): Likewise.
16910 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16911 (grub_grubnet_fini): Likewise.
16912 (grub_file_seek): Seek in network device.
16913 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16914 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16915 network root.
16916 (grub_machine_fini): Call grub_grubnet_fini.
16917 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16918 network.
16919 (grub_ieee1275_get_aliasdevname): New function.
16920 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16921 Add unofficial Solaris network info.
16922 (grub_multiboot_make_mbi): Likewise.
16923 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16924 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16925 * include/grub/device.h (grub_fs): Removed.
16926 * include/grub/err.h (grub_err_t): Add network-related values.
16927 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16928 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16929 (grub_ieee1275_get_aliasdevname): New proto.
16930 * include/grub/net.h: Rewritten.
423a1849 16931
031f22a0
VS
169322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16935 names.
16936
4388ca72
VS
169372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16940 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16941 it truncates the output.
16942 Reported by: Ximin Luo.
16943
98e2f506
VS
169442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16947
2a5e94d8
VS
169482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16951 partmap before abstraction.
16952
535c1910
AK
169532011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16954
16955 * util/grub-mkconfig_lib.in: Add missing quotes.
16956
bc09e1a2
VS
169572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16960 old method if mountinfo would return /dev/root and /dev/root doesn't
16961 exist.
16962
290766fb
VS
169632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 ZFS zlib support
16966
16967 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16968 (decomp_table): Add zlib entries.
16969 (zio_read): USe 8 bits for compression function rather than 3.
16970 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16971
169722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16973
16974 * grub-core/disk/ahci.c: Add missing license statements.
16975 * grub-core/fs/romfs.c: Likewise.
16976 * grub-core/lib/ia64/setjmp.S: Likewise.
16977 * grub-core/loader/i386/pc/freedos.c: Likewise.
16978 * grub-core/loader/ia64/efi/linux.c: Likewise.
16979 * grub-core/video/colors.c: Likewise.
16980 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16981
5ab3f48a
VS
169822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 AHCI support.
16985
16986 * grub-core/Makefile.core.def (ata_pthru): Removed.
16987 (ahci): New module.
16988 (pata): Likewise.
16989 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16990 on unload.
16991 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16992 readwrite.
16993 (grub_hdparm_do_check_powermode_cmd): Likewise.
16994 (grub_hdparm_do_smart_cmd): Likewise.
16995 (grub_hdparm_set_val_cmd): Likewise.
16996 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16997 * grub-core/disk/ahci.c: New file.
16998 * grub-core/disk/ata.c: Factor out the low-level part into ...
16999 * grub-core/disk/pata.c: ... here.
17000 * grub-core/disk/ata_pthru.c: Contents moved to ...
17001 * grub-core/disk/pata.c: ... here.
17002 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17003 (grub_scsi_iterate): Use grub_scsi_names.
17004 (grub_scsi_open): Likewise.
17005 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17006 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17007 (grub_ata_regs_t): New struct.
17008 (grub_disk_ata_pass_through_parms): Likewise.
17009 (grub_ata_device): Renamed to ...
17010 (grub_ata): ... this.
17011 (grub_ata_dev): New struct.
17012 Removed all low-level inline functions.
17013 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17014 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17015 iterate hooks and open. All users updated.
17016 * util/grub-install.in: Handle AHCI disk module.
17017
c31dc5f5
SJ
170182011-06-23 Szymon Janc <szymon@janc.net.pl>
17019
17020 Add support for DRI and RSTn markers in JPEG files.
17021
17022 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17023 (JPEG_MARKER_RST0): Likewise.
17024 (JPEG_MARKER_RST1): Likewise.
17025 (JPEG_MARKER_RST2): Likewise.
17026 (JPEG_MARKER_RST3): Likewise.
17027 (JPEG_MARKER_RST4): Likewise.
17028 (JPEG_MARKER_RST5): Likewise.
17029 (JPEG_MARKER_RST6): Likewise.
17030 (JPEG_MARKER_RST7): Likewise.
17031 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17032 (grub_jpeg_decode_dri): New function.
17033 (grub_jpeg_decode_sos): Move image data related part into
17034 grub_jpeg_decode_data function.
17035 (grub_jpeg_decode_data): New function.
17036 (grub_jpeg_reset): New function.
17037 (grub_jpeg_decode_jpeg): Handle new markers.
17038
fe12fd5b
VS
170392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17040
17041 * util/ieee1275/ofpath.c (check_sas): Close fd.
17042 (main): Free of_path.
17043 Reported by: David Volgyes <dvolgyes>.
17044
03147f46
VS
170452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17048 Reported by: David Volgyes <dvolgyes>.
17049
cad3237f
VS
170502011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17053 file after stat.
17054 Reported by: David Volgyes <dvolgyes>.
17055
13548d26
VS
170562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17059
17060 Reported by: David Volgyes <dvolgyes>.
17061
e061a1b5
VS
170622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17065 Prevent memory leak.
17066
1abe47dc
VS
170672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17070 (main): Close file.
e061a1b5 17071 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17072
fbc62666
VS
170732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17076 to continue if allocation is failed.
17077
17078 Reported by: David Volgyes <dvolgyes>.
17079
e98c83e9
DV
170802011-06-23 David Volgyes <dvolgyes>
17081
17082 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17083 dereference.
17084
a199a8cd
VS
170852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Fix spurious warning.
17088
17089 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17090 (acorn_partition_map_find): Use .bin member.
17091
e2d1dba0
VS
170922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17095 /dev/root as a valid device.
17096
8a5d6919
JM
170972011-06-23 Jim Meyering <meyering@redhat.com>
17098
e2d1dba0
VS
17099 Avoid NULL deref in grub_device_open.
17100
8a5d6919
JM
17101 * grub-core/kern/device.c (grub_device_open): Don't dereference
17102 a NULL pointer upon failed grub_env_get.
17103
f7db6f4a
VS
171042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 Support non-512B sectors and agglomerate reads.
17107
17108 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17109 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17110 (disk_io_guid): Removed.
17111 (make_devices): Locate solely by BlockIO.
17112 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17113 (grub_efidisk_read): Use read_blocks.
17114 (grub_efidisk_write): Use write_blocks.
17115 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17116 log_sector_size.
17117 (get_safe_sectors): Handle non-512B sectors.
17118 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17119 sectors.
17120 (grub_biosdisk_write): Handle non-512B sectors.
17121 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17122 (grub_scsi_read): Remove special non-512B block handling (now handled
17123 one level up).
17124 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17125 and do sanity checks.
17126 (grub_disk_adjust_range): Handle non-512B sectors.
17127 (transform_sector): New function.
17128 (grub_disk_read_small): Likewise.
17129 (grub_disk_read): Rewritten.
17130 (grub_disk_write): Handle non-512B sectors.
17131 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17132 log_sector_size.
17133 (open_device): Use log_sector_size.
17134 (grub_util_biosdisk_read): Likewise.
17135 (grub_util_biosdisk_write): Likewise.
17136 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17137 non-512B sectors.
17138 (pc_partition_map_embed): Likewise.
17139 * include/grub/disk.h (grub_disk): New field log_sector_size.
17140 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17141 (GRUB_DISK_CACHE_BITS): Increased to 6.
17142 * util/grub-fstest.c (fstest): New command testload.
17143 (argp_parser): Likewise.
17144
881ac815
RM
171452011-06-16 Robert Millan <rmh@gnu.org>
17146
17147 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17148 `ata' driver on kernel of FreeBSD 9.
17149
17150 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17151 (get_ataraid_disk_name): New functions.
17152 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17153 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17154 get_ataraid_disk_name() and get_ada_disk_name().
17155
1e9aef7d
CW
171562011-06-13 Colin Watson <cjwatson@ubuntu.com>
17157
17158 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17159 input format.
17160
351c7c8a
CW
171612011-05-29 Colin Watson <cjwatson@ubuntu.com>
17162
17163 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17164 `ftp.gnu.org' for `alpha.gnu.org'.
17165
6b4e6430
CW
171662011-05-27 Colin Watson <cjwatson@ubuntu.com>
17167
17168 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17169 partitions under /dev/disk/by-id/.
17170
c64db050
CW
171712011-05-27 Colin Watson <cjwatson@ubuntu.com>
17172
17173 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17174 after ten consecutive open failures. Scanning all the way up to
17175 10000 is excessive and can cause serious performance problems in
17176 some configurations.
17177 Fixes Ubuntu bug #787461.
17178
245f4aba
VS
171792011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17180
17181 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17182 opening new one.
17183
f767c929
VS
171842011-05-21 Colin Watson <cjwatson@ubuntu.com>
171852011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 Don't stat devices unless we have to.
17188
17189 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17190 dir == /dev/mapper.
17191 (grub_guess_root_device): Use already known os_dev if possible.
17192 * grub-core/kern/emu/hostdisk.c
17193 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17194 if device is known to be a dm one.
17195
f35fa3a6
CW
171962011-05-20 Colin Watson <cjwatson@ubuntu.com>
17197
17198 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17199 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17200 Reported by: Pawel Tecza.
17201
9a79fcf2
VS
172022011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17205 (lsefisystab): Likewise.
17206 (lssal): Likewise.
17207 (lsefimmap): Likewise.
17208 (hdparm): Enable on qemu-mips.
17209 (setjmp): Add ia64 nodist.
17210 (serial): Simplify tags.
17211
63e3eea9
CW
172122011-05-18 Colin Watson <cjwatson@ubuntu.com>
17213
17214 * Makefile.util.def (grub-ofpathname): Install manual page.
17215
09728256
CW
172162011-05-18 Colin Watson <cjwatson@ubuntu.com>
17217
17218 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17219
8b63a142
CW
172202011-05-18 Colin Watson <cjwatson@ubuntu.com>
17221
17222 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17223
e775d8ed
VS
172242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17225
17226 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17227 into dprintf.
17228
bf947d36
VS
172292011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 Use full 64-bit division.
17232
17233 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17234 (grub_divmod64): ... this.
17235 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17236 version.
17237
b84f26c5
CW
172382011-05-18 Colin Watson <cjwatson@ubuntu.com>
17239
17240 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17241 `source'.
17242
5626056f
CW
172432011-05-18 Colin Watson <cjwatson@ubuntu.com>
17244
17245 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17246 to avoid accidents when debugging with 'sh -x'.
17247 * grub-core/gensyminfo.sh.in: Likewise.
17248 * tests/example_scripted_test.in: Likewise.
17249 * tests/grub_cmd_regexp.in: Likewise.
17250 * tests/grub_script_blanklines.in: Likewise.
17251 * tests/grub_script_dollar.in: Likewise.
17252 * tests/grub_script_expansion.in: Likewise.
17253 * tests/grub_script_final_semicolon.in: Likewise.
17254 * tests/partmap_test.in: Likewise.
17255 * tests/util/grub-shell-tester.in: Likewise.
17256 * tests/util/grub-shell.in: Likewise.
17257
e2965f4a
CW
172582011-05-18 Colin Watson <cjwatson@ubuntu.com>
17259
17260 Move gfxmenu color handling to video, so that gfxterm can use it
17261 too.
17262
17263 * grub-core/gfxmenu/named_colors.c: Move to ...
17264 * grub-core/video/colors.c: ... here. Rename
17265 grub_gui_get_named_color to grub_video_get_named_color.
17266 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17267 * grub-core/video/colors.c (my_isxdigit): ... here.
17268 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17269 Move to ...
17270 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17271 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17272 to ...
17273 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17274
17275 * include/grub/gui.h (grub_gui_color_t): Move to ...
17276 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17277 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17278 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17279 * include/grub/gui.h (grub_gui_map_color): Move to ...
17280 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17281 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17282 to ...
17283 * include/grub/video.h (grub_video_get_named_color): ... here.
17284 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17285 * include/grub/video.h (grub_video_parse_color): ... here.
17286
17287 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17288 video/colors.c.
17289 (gfxmenu): Remove gfxmenu/named_colors.c.
17290 (video) [videomodules]: Add video/colors.c.
17291
17292 Add a background_color command.
17293
17294 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17295 function.
17296 (GRUB_MOD_INIT): Register background_color command.
17297 (GRUB_MOD_FINI): Unregister background_color command.
17298 (redraw_screen_rect): Allow blend/replace of text layer to be
17299 controlled independently from whether there is a background bitmap.
17300 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17301 changing bitmap.
17302
1e4b4390
VS
173032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17304
26618ff0
VS
17305 Patch BPB in ntldr and chainloader --bpb.
17306
1e4b4390
VS
17307 * grub-core/fs/fat.c: Include grub/fat.h.
17308 (grub_fat_bpb): Moved to ...
17309 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17310 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17311 grub/ntfs.h.
17312 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17313 Moved from here...
17314 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17315 here.
17316 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17317 New function.
17318 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17319 (GRUB_MOD_INIT): Show --bpb.
17320 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17321 * grub-core/normal/main.c (features): New variable.
17322 (GRUB_MOD_INIT): Set feature_* variables.
17323 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17324 proto.
17325 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17326
cf02731e
VS
173272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17330 for cleanness.
17331
e3a1073f
VS
173322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17333
17334 FreeDOS direct loading support.
17335
17336 * docs/grub.texi (Supported OS): Add FreeDOS.
17337 * grub-core/Makefile.core.def (freedos): New module.
17338 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17339 variable.
17340 (grub_relocator16_boot): Handle %ebx.
17341 * grub-core/lib/i386/relocator16.S: Likewise.
17342 * grub-core/loader/i386/pc/freedos.c: New file.
17343
05caa461
VS
173442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 Long Linux command line support.
17347
17348 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17349 (maximal_cmdline_size): New variable.
17350 (allocate_pages): Use maximal_cmdline_size.
17351 (grub_cmd_linux): Set and use maximal_cmdline_size.
17352 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17353 (allocate_pages): Use maximal_cmdline_size.
17354 (grub_cmd_linux): Set and use maximal_cmdline_size.
17355 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17356 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17357 and cmdline_size.
17358
a2491e23
VS
173592011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
173602011-05-18 Colin Watson <cjwatson@ubuntu.com>
17361
17362 Improve devmapper support
17363
17364 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17365 (grub_util_is_lvm): New function.
17366 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17367 than lvm if not dmraid.
17368 Handle mapped md nodes.
17369 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17370 (grub_util_device_is_mapped): ... this. Make always available. All users
17371 updated.
17372 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17373 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17374 dmraid nodes.
17375 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17376
6ad6223e
VS
173772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17380
17381 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17382 * grub-core/modinfo.sh.in: New file.
17383 * grub-core/Makefile.core.def (modinfo.sh): New script.
17384 * util/grub-mknetdir.in: Use modinfo.sh.
17385 * util/grub-mkrescue.in: Likewise.
17386
543a8f6e
VS
173872011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17390 Fix potential usage of Elf32 instead of Elf64 when compiling on
17391 32-bit architecture. Add endianness macros while on it.
17392
4959e111
VS
173932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 Use mipsel- rather than mips- in directories involving mipsel ports to
17396 allow both endiannesses coexist.
17397
17398 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17399 mips. All conditions adjusted.
17400 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17401 variable.
17402 * util/grub-install.in: Adjust conditions to take renaming into account.
17403 * util/grub-mkimage.c (image_targets): Likewise. New target
17404 mips-qemu_mips-elf for bigendian mips.
17405
35341bbc
VS
174062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 Avoid unnecessary copying on MIPS.
17409
17410 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17411 early if src == dest.
17412 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17413 compression is none.
17414
b772baed
VS
174152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 Reduce memory footprint on SGI by putting modules before the kernel
17418 as opposed to after.
17419
17420 * grub-core/Makefile.core.def (kernel): Increase linking address.
17421 (none_decompress): Likewise.
17422 (xz_decompress): Likewise.
17423 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17424 address.
17425 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17426 layout change.
17427 (grub_arch_modules_addr): New function.
17428 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17429 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17430 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17431 here.
17432 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17433 (grub_total_modules_size): ... this. Make global.
17434 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17435 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17436 New definition.
17437 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17438 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17439 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17440 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17441 * util/grub-mkimage.c (image_target_desc): New flag
17442 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17443 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17444 (generate_image): Handle images with modules before kernel.
17445
566a1917
VS
174462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 Prevent potential loss of memory map by overwrite on qemu-mips.
17449
17450 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17451 Save ram size in $s4.
17452 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17453 All users changed to grub_arch_memsize.
17454 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17455 Loongson.
17456 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17457 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17458 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17459 external variable.
17460
5d420cd9
CW
174612011-05-17 Colin Watson <cjwatson@ubuntu.com>
17462
17463 * .bzrignore: Remove grub-dumpbios.
17464
d064b830
CW
174652011-05-17 Colin Watson <cjwatson@ubuntu.com>
17466
17467 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17468 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17469 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17470 existing options which append).
17471 * docs/grub.texi (Simple configuration): Document new options.
17472 Reported by: Ian Jackson. Fixes Debian bug #617538.
17473
3ca2b466
CW
174742011-05-17 Colin Watson <cjwatson@ubuntu.com>
17475
17476 * util/grub-fstest.c (cmd_cat): New function.
17477 (fstest): Handle CMD_CAT.
17478 (options): Add cat.
17479 (argp_parser): Handle cat.
17480
24c9143a
CW
174812011-05-17 Colin Watson <cjwatson@ubuntu.com>
17482
17483 * Makefile.util.def (grub-bin2h): Don't install.
17484 * docs/man/grub-bin2h.h2m: Remove.
17485
90f7ac19
VS
174862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17489 place.
17490
8d4a5178
VS
174912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 Reenable qemu-mips port.
17494
17495 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17496 Fix small arc bug while on it.
17497 * gentpl.py: Handle qemu_mips.
17498 * grub-core/Makefile.am: Likewise.
17499 * grub-core/Makefile.core.def: Likewise.
17500 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17501 inappropriate includes.
17502 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17503 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17504 * grub-core/kern/main.c (grub_modules_get_end)
17505 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17506 * grub-core/kern/mips/qemu-mips: Moved to ..
17507 * grub-core/kern/mips/qemu_mips: ... this.
17508 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17509 (grub_machine_init): Call terminfo_init and serial_init.
17510 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17511 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17512 New variable.
17513 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17514 parameter passing.
17515 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17516 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17517 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17518 * include/grub/mips/qemu_mips/cmos.h: New file.
17519 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17520 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17521 Removed.
17522 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17523 Use correct mips-style address.
17524 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17525 (GRUB_TICKS_PER_SECOND): Removed.
17526 (grub_get_rtc): Likewise.
17527 (grub_cpu_idle): Likewise.
17528 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17529 New definition.
17530 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17531 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17532 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17533 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17534 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17535 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17536 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17537 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17538
400b9371
VS
175392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 SGI ARCS port.
17542
17543 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17544 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17545 platforms.
17546 * configure.ac: New target mips-arc.
17547 * gentpl.py: Likewise.
17548 * grub-core/Makefile.am: Likewise.
17549 * grub-core/Makefile.core.def: Likewise.
17550 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17551 (none_decompress): Likewise.
17552 (lsdev): New module.
17553 (datetime): Use lib/arc/datetime.c on ARC.
17554 (part_dvh): New module.
17555 * grub-core/commands/arc/lsdev.c: New file.
17556 * grub-core/disk/arc/arcdisk.c: Likewise.
17557 * grub-core/kern/mips/arc/init.c: Likewise.
17558 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17559 aligned addresses.
17560 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17561 support.
17562 (grub_arch_dl_relocate_symbols): Likewise.
17563 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17564 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17565 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17566 platforms.
17567 * grub-core/lib/arc/datetime.c: New file.
17568 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17569 pci.h on non-loongson.
17570 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17571 (grub_linux_boot): Set unused registers to 0.
17572 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17573 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17574 * grub-core/mmap/mips/uppermem.c: ...here.
17575 * grub-core/partmap/dvh.c: New file.
17576 * grub-core/term/arc/console.c: Likewise.
17577 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17578 (grub_terminfo_set_current): Add terminal "arc".
17579 (grub_terminfo_readkey): Support ARC sequences.
17580 * include/grub/arc/arc.h: New file.
17581 * include/grub/arc/console.h: Likewise.
17582 * include/grub/disk.h (grub_disk_dev_id): Add
17583 GRUB_DISK_DEVICE_ARCDISK_ID.
17584 * include/grub/mips/arc/kernel.h: New file.
17585 * include/grub/mips/arc/memory.h: Likewise.
17586 * include/grub/mips/arc/time.h: Likewise.
17587 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17588 * include/grub/mips/kernel.h (grub_halt): ... here.
17589 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17590 here...
17591 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17592 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17593 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17594 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17595 proto.
17596 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17597 from here ...
17598 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17599 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17600 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17601 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17602 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17603 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17604 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17605 (grub_phys_addr_t): Moved from here ...
17606 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17607 (grub_vtop): Moved from here ...
17608 * include/grub/mips/memory.h (grub_vtop): ... here.
17609 (grub_map_memory): Moved from here ...
17610 * include/grub/mips/memory.h (grub_map_memory): ... here.
17611 (grub_unmap_memory): Moved from here ...
17612 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17613 (grub_machine_mmap_iterate): Moved from here ...
17614 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17615 (grub_mmap_get_lower): Moved from here ...
17616 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17617 (grub_mmap_get_upper): Moved from here ...
17618 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17619 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17620 here ...
17621 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17622 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17623 here ...
17624 * include/grub/mips/time.h (grub_get_rtc): ... here.
17625 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17626 here ...
17627 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17628 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17629 here ...
17630 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17631 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17632 definition.
17633 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17634 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17635 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17636 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17637 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17638 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17639 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17640 (GRUB_MACHINE_LINK_ADDR): Likewise.
17641 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17642 to 6.
17643 * util/grub-install.in: Run dvhtool on ARC.
17644 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17645 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17646
c8ecc840
VS
176472011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17650 blocks.
17651
153a4b55
VS
176522011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17655 after enabling port.
17656
ff44d107
VS
176572011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17658
17659 Skip incorrect USB devices.
17660
17661 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17662 configcnt == 0.
17663 * include/grub/usb.h (grub_usb_err_t): New enum value
17664 GRUB_USB_ERR_BADDEVICE.
17665
638dbe4f
VS
176662011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17667
17668 Fuloong video init support.
17669
17670 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17671 well.
17672 (grub_vga_read_arx): New function.
17673 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17674 definition.
17675 (framebuffer): New members io, mmioptr and mmiobase.
17676 (read_sis_cmd): New function.
17677 (write_sis_cmd): Likewise.
17678 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17679 rather than 640x400.
17680 * grub-core/video/sis315_init.c: New file.
17681
c3fc520c
VS
176822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17685 non-loongson.
17686 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17687 to grub_dl_register_symbol.
17688
67b1e5c9
VS
176892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17690
17691 Fix compilation errors.
17692
17693 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17694 potentially unused.
17695 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17696 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17697 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17698 to loongson machines.
17699
b756f75f
VS
177002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 Several FS mtime support.
17703
17704 * grub-core/fs/affs.c (grub_affs_time): New struct.
17705 (grub_affs_file): New field mtime.
17706 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17707 type. Removed 'size'. New field 'di'. All users updated.
17708 (grub_affs_mount): Simplify checsum checking.
17709 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17710 (grub_affs_dir): Handle mtime.
17711 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17712 (grub_cpio_dir): Likewise.
17713 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17714 (grub_hfs_filerec): New field mtime.
17715 (grub_hfs_dir): Handle mtime.
17716 (grub_hfs_mtime): New function.
17717 (grub_hfs_fs): Register grub_hfs_mtime.
17718 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17719 (grub_iso9660_dir): New field mtime.
17720 (grub_fshelp_node): New field dirent.
17721 (iso9660_to_unixtime): New function.
17722 (iso9660_to_unixtime2): Likewise.
17723 (grub_iso9660_read_symlink): Use node->dirent.
17724 (grub_iso9660_iterate_dir): Likewise.
17725 (grub_iso9660_dir): Set mtime.
17726 (grub_iso9660_mtime): New function.
17727 (grub_iso9660_fs): Register grub_iso9660_mtime.
17728 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17729 (grub_jfs_inode): New fields atime, ctime and mtime.
17730 (grub_jfs_dir): Set mtime.
17731 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17732 * grub-core/fs/ntfs.c (list_file): Set mtime.
17733 (grub_ntfs_dir): Likewise.
17734 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17735 (grub_reiserfs_iterate_dir): Set mtime.
17736 (grub_reiserfs_dir): Likewise.
17737 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17738 (grub_fshelp_node): Likewise.
17739 (grub_sfs_iterate_dir): Set mtime.
17740 (grub_sfs_dir): Likewise.
17741 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17742 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17743 (grub_xfs_inode): New fields atime, mtime, ctime.
17744 (grub_xfs_dir): Set mtime.
17745 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17746 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17747 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17748
17749 Support UDF symlinks.
17750
17751 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17752 (grub_ufs_read_symlink): New function. All users updated.
17753
17754 Check amiga partmap checksum.
17755
17756 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17757 (grub_amiga_partition): Likewise.
17758 (amiga_partition_map_checksum): New function.
17759 (amiga_partition_map_iterate): Check checksum.
17760
5470225d
VS
177612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 ROMFS support.
17764
17765 * Makefile.util.def (libgrubmods.a): Add romfs.
17766 * grub-core/Makefile.core.def (romfs): New module.
17767 * grub-core/fs/romfs.c: New file.
17768
d4680a35
VS
177692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 Squashfs v4 support.
17772
17773 * Makefile.util.def (libgrubmods.a): Add squash4.
17774 * grub-core/Makefile.core.def (squash4): New module.
17775 * grub-core/fs/squash4.c: New file.
17776 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17777 disk_input_start, disk_input.
17778 (get_byte): Handle disk_input.
17779 (grub_zlib_disk_read): New function.
17780 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17781
bcb18e74
FZ
177822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
177832011-05-15 Feiran Zheng <famcool@gmail.com>
17784
17785 * Makefile.util.def (libgrubmods.a): Add minix3.
17786 * grub-core/Makefile.core.def (minix3): New module.
17787 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17788 (GRUB_MINIX_BSIZE): Removed.
17789 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17790 (grub_minix_ino_t): New type.
17791 (grub_minix_le_to_cpu_ino): New macro.
17792 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17793 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17794 (grub_minix_data): New field block_size.
17795 (grub_minix_read_file): Handle 64-bit correctly.
17796 * grub-core/fs/minix3.c: New file.
17797
32297d5f
TG
177982011-05-15 Tristan Gingold <gingold@free.fr>
177992011-05-15 Robert Millan <rmh.grub@aybabtu.com>
178002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 IA64 support.
17803
17804 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17805 * configure.ac: Add ia64-efi target.
17806 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17807 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17808 * gentpl.py: Add ia64_efi platform.
17809 Rename x86_efi to efi and Add ia64-efi. All users updated.
17810 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17811 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17812 Remove kern/generic/rtc_get_time_ms.c on EFI.
17813 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17814 kern/ia64/dl_helper.c on ia64-efi.
17815 Add kern/emu/cache.c on emu.
17816 (linux): Use on loader/ia64/efi/linux.c on ia64.
17817 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17818 whether symbol is a function.
17819 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17820 (grub_symbol): New field 'isfunc'.
17821 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17822 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17823 (grub_dl_load_segments): Place all sections into the same region.
17824 [__ia64__]: Create trampolines and got.
17825 [GRUB_MACHINE_EMU]: Call mprotect.
17826 (grub_dl_resolve_symbols): Resolve symbol type as well.
17827 [__ia64__]: Create function descriptors.
17828 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17829 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17830 (grub_get_rtc): New function.
17831 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17832 * grub-core/kern/emu/cache.S: Renamed to ...
17833 * grub-core/kern/emu/cache_s.S: ... this.
17834 [__ia64__]: Add a nop.
17835 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17836 [__ia64__]: New function.
17837 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17838 * grub-core/kern/ia64/dl.c: New file.
17839 * grub-core/kern/ia64/dl_helper.c: Likewise.
17840 * grub-core/kern/ia64/efi/init.c: New file.
17841 * grub-core/kern/ia64/efi/startup.S: Likewise.
17842 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17843 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17844 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17845 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17846 * grub-core/loader/ia64/efi/linux.c: New file.
17847 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17848 (GRUB_MOD_DEP): Likewise.
17849 (grub_dl) [__ia64__]: New fields got and tramp.
17850 (grub_dl): New field 'base'.
17851 (grub_dl_register_symbol): New argument isfunc. All users updated.
17852 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17853 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17854 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17855 (grub_ia64_dl_get_tramp_got_size): New proto.
17856 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17857 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17858 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17859 * include/grub/efi/api.h: Skip call wrappers on ia64.
17860 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17861 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17862 * include/grub/elf.h (ELF_ST_INFO): New definition.
17863 * include/grub/ia64/efi/kernel.h: New file.
17864 * include/grub/ia64/efi/memory.h: Likewise.
17865 * include/grub/ia64/efi/time.h: Likewise.
17866 * include/grub/ia64/kernel.h: Likewise.
17867 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17868 * include/grub/ia64/time.h: New file.
17869 * include/grub/ia64/types.h: Likewise.
17870 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17871 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17872 New protos.
17873 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17874 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17875 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17876 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17877 All users updated.
17878 (EFI64_HEADER_SIZE): New definition. All users updated.
17879 (image_targets): Add ia64-efi.
17880 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17881 jumpers_addr. All users updated.
17882 Create function descriptors.
17883 (count_funcs): New function.
17884 (unaligned_uint32): New struct.
17885 (MASK20): New definition.
17886 (MASK19): Likewise.
17887 (MASKF21): Likewise.
17888 (add_value_to_slot_20b): New function.
17889 (add_value_to_slot_21_real): Likewise.
17890 (add_value_to_slot_21): Likewise.
17891 (ia64_kernel_trampoline): New struct.
17892 (nopm): New variable.
17893 (jump): Likewise.
17894 (make_trampoline): New function.
17895 (relocate_addresses): Handle ia64.
17896 (make_reloc_section): Likewise.
17897 (load_image): Likewise.
17898
983b414d
VS
178992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17902 warning. Move variables before code while on it.
17903
5d063cdc
VS
179042011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 Fuloong support.
17907
17908 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17909 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17910 * grub-core/boot/mips/loongson/fuloong.S: New file.
17911 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17912 Explicitly init CS5536.
17913 [FULOONG]: Don't use serial until CS5536 is available.
17914 Set GPIO based on dumps.
17915 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17916 [FULOONG]: Handle GPIO and memory controller differences.
17917 Parse machine type in $a2.
17918 * grub-core/boot/mips/startup_raw.S: Determine and save the
17919 architecture.
17920 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17921 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17922 init on architecture type.
17923 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17924 SIS315E. Don't init at_keyboard on fuloong.
17925 (grub_halt): Support Fuloong.
17926 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17927 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17928 (loongson_machtypes): New array.
17929 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17930 type.
17931 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17932 config. All users updated. Handle CS5536 serial.
17933 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17934 default port on machine type. Register serial as inactive.
17935 * grub-core/video/sis315pro.c: New file.
17936 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17937 definition.
17938 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17939 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17940 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17941 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17942 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17943 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17944 to ...
17945 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17946 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17947 definition.
17948 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17949 (grub_arch_machine): New extern var.
17950 * include/grub/mips/loongson/serial.h
17951 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17952 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17953 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17954 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17955 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17956 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17957 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17958 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17959 * include/grub/term.h (grub_term_register_input_inactive): New inline
17960 function.
17961 (grub_term_register_output_inactive): Likewise.
17962 * include/grub/video.h (grub_video_driver_id): New value
17963 GRUB_VIDEO_DRIVER_SIS315PRO.
17964 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17965 New field "names". All users updated.
17966 New field value IMAGE_FULOONG_FLASH.
17967 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17968
6ada82d1
JU
179692011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17970
17971 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17972 and add some clarification.
17973
90c571a4
VS
179742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17977 platforms if kernel is compressed.
17978
de04eecf
VS
179792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17982 unused modules since currently referrence counter isn't reliable and
17983 there isn't much memory to recover there anyway.
17984
57688121
VS
179852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17988 rather than resetting it to allow modules to reference themselves
17989 in init.
17990
3d2c7e35
VS
179912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17994 counter on dependencies since grub_dl_unref already handles this.
17995
b25db218
VS
179962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17999 on error if not already done.
18000
25a45338
VS
180012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 Fix few potential memory misusage.
18004
18005 * grub-core/font/font.c (load_font_index): Don't free char_index to
18006 avoid double free.
b25db218
VS
18007 (grub_font_load): Zero-fill font at alloc for safety.
18008 Close file on error.
18009 (free_font): Free bmp_idx.
25a45338 18010
0cac83df
VS
180112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 * docs/grub.texi (Installation): Fix several outdated claims.
18014
2217a143
VS
180152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 Handle module_license on windows.
18018
18019 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18020 sections shifted.
18021 (insert_string): Make argument const char * instead of char *.
18022 (write_section_data): Handle long section names.
18023 Handle module_license.
18024
d4de6b01
VS
180252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18028 handle class-free menuentries.
18029 (grub_normal_add_menu_entry): Add a check to be sure.
18030
4c2a3b43
VS
180312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18032
18033 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18034 PgUp and PgDown.
18035
85c6210f
VS
180362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 * configure.ac: Bump version to 1.99.
18039
36084912
VS
180402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 Give ATA device a bit more time on first try in order to allow disks
18043 to spin up.
18044
18045 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18046 if dev->present is 1. Reset dev->present on failure.
18047 (grub_ata_device_initialize): Set dev->present to 1.
18048 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18049 (grub_ata_device): New member 'present'.
18050
bda0e219
VS
180512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * util/grub-mkimage.c (generate_image): Update hash.
18054
19e1c41b
VS
180552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 Flush caches on DMA memory.
18058
18059 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18060 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18061 (grub_dma_free): Likewise.
18062 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18063
91bbcc0c
VS
180642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18065
18066 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18067 to avoid asm treating ld and sd as macros.
18068
60ddfad3
VS
180692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18072 decompressor.
18073
a298aa04
VS
180742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18077 grub_decompress_core since later would fail if grub_decompress_core
18078 is too far.
18079
9b44feca
VS
180802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18083 R_MIPS_JALR since it's used by newer compiler.
18084
56dbe7b4
VS
180852011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18088
52856af2
VS
180892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18092 file_path to 0 for surety.
18093 (grub_chainloader_boot): Set exit_data to NULL.
18094 Unset the loader once done.
18095 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18096
9c9bfc6d
VS
180972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18098
18099 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18100 unknown key into a dprintf.
18101
dd94a3df
VS
181022011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18103
18104 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18105 on first non-existant partition.
18106
fa68d99c
VS
181072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18110 openning fails.
18111 Reported by: Mark Korenberg.
18112
157effb7
VS
181132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18114
18115 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18116 overflow.
18117
ea75312f
VS
181182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18119
18120 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18121 before closing to ensure that it will be readable by grub-setup.
18122
072b5d31
VS
181232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18126 (devpath_1): Use MAKE_PIWG_PATH.
18127 (devpath_2): Likewise.
18128 (devpath_3): Likewise.
18129 (devpath_4): Likewise.
18130 (devpath_5): Likewise.
18131 (devpath_6): Likewise.
18132
18133 The appleldr.mod was checked that to be binary identical to previous
18134 version.
18135
7fae0051
Z
181362011-05-05 Zach <mikezackles>
18137
18138 Support 2010 Macbooks.
18139
18140 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18141 (devs): Add devpath_6.
18142
7c515bee
VS
181432011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18144
18145 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18146 /dev/random. /dev/urandom is good enough for our purposes (salting).
18147
ed660bd8
VS
181482011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18151
ee5614b7
VS
181522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18155 hexadecimal.
18156
664889a6
VS
181572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18160 and not 0 on failure.
18161
bd405bbc
CW
181622011-05-03 Colin Watson <cjwatson@ubuntu.com>
18163
18164 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18165 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18166 disk; otherwise grub_fs_probe will not fall back to the next
18167 filesystem.
18168 (grub_pxefs_open): Likewise, for consistency.
18169 Reported and tested by: Ezekiel Grave.
18170
4ebff753
CW
181712011-05-03 Colin Watson <cjwatson@ubuntu.com>
18172
18173 * tests/partmap_test.in: Don't hardcode path to parted.
18174 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18175
8f942553
CW
181762011-05-01 Colin Watson <cjwatson@ubuntu.com>
18177
18178 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18179 of `ls' to find out which devices are available.
18180
3c62402d
VS
181812011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18184 than source address for efi mmap buffer.
18185
723f63f2
VS
181862011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18189 wrong action on non-detecting the magic.
18190
68797f92
VS
181912011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18194 already supplied by another part of the module (fixes compilation on
18195 FreeBSD).
18196
6be8715d
VS
181972011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18200 match the one used by mdadm.
18201
e91dba5b
CW
182022011-04-21 Colin Watson <cjwatson@ubuntu.com>
18203
18204 * po/README: Add instructions for creating po/LINGUAS.
18205
c85140b3
CW
182062011-04-21 Colin Watson <cjwatson@ubuntu.com>
18207
18208 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18209 #551428.
18210
18211 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18212 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18213 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18214 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18215 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18216 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18217 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18218 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18219 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18220 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18221 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18222 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18223 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18224 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18225 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18226 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18227 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18228 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18229 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18230 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18231 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18232 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18233
92051871
CW
182342011-04-21 Colin Watson <cjwatson@ubuntu.com>
18235
18236 * grub-core/kern/emu/getroot.c
18237 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18238 test that was incorrectly reintroduced in r3214.
18239 Reported by: Ian Dall. Fixes Savannah bug #33133.
18240
b13f79a4
CW
182412011-04-21 Colin Watson <cjwatson@ubuntu.com>
18242
18243 Fix stack pointer handling in 16-bit relocator.
18244
18245 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18246 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18247 Fixes Ubuntu bug #683904.
18248
9b710a88
VS
182492011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * configure.ac: Bump version to 1.99~rc2.
18252
d97e7b59
VS
182532011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18256 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18257 * grub-core/lib/x86_64/setjmp.S: Likewise.
18258 * grub-core/lib/mips/setjmp.S: Likewise.
18259 * grub-core/lib/powerpc/setjmp.S: Likewise.
18260 * grub-core/lib/sparc64/setjmp.S: Likewise.
18261
0624551c
VS
182622011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18265 * grub-core/lib/efi/datetime.c: Likewise.
18266
e8f28d4c
VS
182672011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18270 New function.
18271 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18272 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18273 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18274
bba79a15
VS
182752011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18278 bitmap.
18279 (grub_gfxterm_term_init): Likewise.
18280
abc474ef
VS
182812011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 Take into account the decorations the computing menu entry width.
18284
18285 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18286 (grub_gfxmenu_create_box): Register get_border_width.
18287 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18288 if available.
18289 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18290 get_border_width.
18291
e74b3947
EP
182922011-04-18 Endres Puschner <code@e7p.de>
18293
18294 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18295 Don't skip first class.
18296
34faa595
VS
182972011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18300 chunks.
18301 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18302
93a777e3
VS
183032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 Complete 64-bit division support.
18306
18307 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18308 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18309 * include/grub/misc.h (grub_divmod64): Rename to ...
18310 (grub_divmod64_full): ... this.
18311 (grub_divmod64): New inline function.
18312
a5102d94
VS
183132011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18316
f3fb7b36
VS
183172011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18320 performing the necessary test.
18321
9ac718b0
VS
183222011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18323
18324 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18325 (kfreebsd.elf): Likewise.
18326 (pc-chainloader.elf): Likewise.
18327 (ntldr.elf): Likewise.
18328
50d2cc5a
VS
183292011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 Identify RAID by its UUID rather than (guessed) name.
18332
18333 * grub-core/disk/raid.c (ascii2hex): New function.
18334 (grub_raid_open): Accept mduuid/%s specification.
18335 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18336 (get_mdadm_uuid): ... this.
18337 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18338
e03f7bea
VS
183392011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18342 to negative size.
18343
e74c3112
CW
183442011-04-13 Colin Watson <cjwatson@ubuntu.com>
18345
18346 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18347 btrfs subvolume.
18348 * util/grub.d/20_linux_xen.in: Likewise.
18349
78fa584f
CW
183502011-04-13 Colin Watson <cjwatson@ubuntu.com>
18351
18352 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18353 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18354
18355 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18356 Build a list of relevant visible mounts using the mnt_id and
18357 parent_mnt_id fields, and then scan that list at the end.
18358
9d5f8162
CW
183592011-04-12 Colin Watson <cjwatson@ubuntu.com>
18360
18361 * docs/grub.texi (normal): New section.
18362 (normal_exit): New section.
18363 (Embedded configuration): Add reference to normal.
18364 (GRUB only offers a rescue shell): Likewise.
18365 * docs/grub-dev.texi (Error Handling): Fix typo.
18366
09a9d66f
CW
183672011-04-12 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * NEWS: Drop obsolete entry about probe-only btrfs support.
18370
0c676933
CW
183712011-04-12 Colin Watson <cjwatson@ubuntu.com>
18372
18373 * util/import_gcry.py: Fix typo.
18374
ec9f5e0d
VS
183752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * NEWS: Add btrfs support.
18378
fe6b2cba
VS
183792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
183802011-04-11 Colin Watson <cjwatson@ubuntu.com>
18381
18382 BtrFS support. Written by me (Vladimir) with important bugfixes and
18383 even more important testing by Colin.
18384
18385 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18386 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18387 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18388 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18389 mem_input_off and mem_input. All users updated to accept in-RAM input.
18390 (gzio_seek): New function.
18391 (test_zlib_header): Likewise.
18392 (grub_gzio_read): Likewise.
18393 (grub_zlib_decompress): Likewise.
18394 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18395 Accept partial and non-virtual mounts.
18396 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18397 avoid receiving /dev/dm-X as device.
18398 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18399 Handle bind and partial mounts.
18400 * grub-core/lib/crc.c: New file.
18401 * include/grub/deflate.h: Likewise.
18402 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18403 proto.
18404 * include/grub/lib/crc.h: New file.
18405
e745cf0c
VS
184062011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 Implement automatic module license checking according to new GNU
18409 guidelines.
18410
18411 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18412 (grub_dl_load_core): Use grub_dl_check_license.
18413 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18414 (GRUB_MOD_LICENSE): Likewise.
18415 (GRUB_MOD_DUAL_LICENSE): Likewise.
18416 All modules updated.
18417
2a9bc016
CW
184182011-04-11 Colin Watson <cjwatson@ubuntu.com>
18419
18420 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18421 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18422 loaders.
18423 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18424
8a3bc88e
VS
184252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18428
af869a4a
VS
184292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18432 failed.
18433
9ee8d94f
VS
184342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18437 parenthesis in the middle of the filename.
18438
b01abe3e
VS
184392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18440
18441 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18442 rather than trying to put initrd way too high.
18443 Reported by: Ryan Lortie <desrt@desrt.ca>
18444
335bda1e
VS
184452011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18448 improperly removed string.
18449
5ca1a64d
VS
184502011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18453 is_disk.
18454 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18455 (open_device) Likewise.
18456 (grub_util_biosdisk_close): Likewise.
d8ce9995 18457 Reported by: Mark Korenberg.
5ca1a64d 18458
cbac5b1e
AK
184592011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18460
18461 * util/grub-mkconfig_lib.in: Add missing quotes.
18462
088cdb65
CW
184632011-04-10 Colin Watson <cjwatson@ubuntu.com>
18464
18465 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18466 is NULL.
18467
8b8a81fa
VS
184682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 Dynamically count the number of lines for the lower banner.
18471
18472 * grub-core/normal/menu_entry.c (per_term_screen): New member
18473 num_entries.
18474 (print_down): Use num_entries.
18475 (update_screen): Likewise.
18476 (grub_menu_entry_run): Set num_entries.
18477 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18478 num_entries.
18479 (grub_print_message_indented): Move real part to ...
18480 (grub_print_message_indented_real): ... here. Additional argument
18481 dry_run.
18482 (draw_border): Additional argument num_entries.
18483 (print_message): Additional argument dry_run.
18484 (print_entries): Receive menu viewer data.
18485 (grub_menu_init_page): New argment num_entries.
18486 (menu_text_set_chosen_entry): Use num_entries.
18487 (grub_menu_try_text): Likewise.
18488 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18489 All users updated.
18490 (grub_ucs4_count_lines): New function.
18491 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18492 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18493 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18494 (grub_term_border_height): Likewise.
18495 (grub_term_num_entries): Likewise.
18496
277f955b
VS
184972011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18500 Remove now unused string.
18501
536ce85a
CW
185022011-04-09 Colin Watson <cjwatson@ubuntu.com>
18503
18504 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18505 build system.
18506 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18507
18508 (Comment): Fix typo.
18509 (Getting started): General copy-editing.
18510 (Typical Development Experience): Likewise.
18511 (Error Handling): Likewise.
18512 (Video API): Likewise.
18513
2cf09e32
CW
185142011-04-09 Colin Watson <cjwatson@ubuntu.com>
18515
18516 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18517 throughout.
18518
1ec652f4
VS
185192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18522 directory.
18523
2c583728
CW
185242011-04-08 Colin Watson <cjwatson@ubuntu.com>
18525
18526 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18527 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18528 "development".
18529
d7a565e9
VS
185302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18531
18532 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18533 grub_strcpy since the lines aren't necessarily 0-terminated.
18534
7c2e4909
VS
185352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18536
18537 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18538 root on legacy.
18539
34c09785
VS
185402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18541
18542 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18543 (GRUB_MOD_INIT): DEVICE isn't optional.
18544
6a6f8058
VS
185452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18546
18547 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18548 word on new line if it's too long anyway. Fixes a hang.
18549
2e335e90
VS
185502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18553 const.
18554 * util/grub-setup.c (main): Reuse md device name if available.
18555 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18556 not GRUB name as argument.
18557 Based on patch by: Florian Wagner <fwagner>.
18558
10a7a867
VS
185592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18560
18561 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18562 Place mbi on low memory for better compatibility.
18563
7a3d6cd9
VS
185642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18567
18dd6b47
VS
185682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
185692011-04-08 Colin Watson <cjwatson@ubuntu.com>
18570
18571 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18572 * conf/Makefile.common: Likewise.
18dd6b47 18573
3c0e3f14
VS
185742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18575
f7148863
VS
18576 * grub-core/normal/menu.c: Add missing include.
18577
185782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18581
6d1fa41f
MZ
185822011-04-08 Martin Zuther <mzuther@mzuther.de>
18583
18584 * util/grub-mkconfig.in: Ignore emacsen backup.
18585
478182a8
VS
185862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18589 on open.
18590 (grub_util_biosdisk_close): Likewise.
18591
72a89a54
VS
185922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18595 const attribute and use grub_isdigit.
18596
b5ebecfa
A
185972011-04-06 Andrey <dev_null@ukr.net>
18598
18599 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18600 gcc warning.
18601
7755f66e
VS
186022011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18605 useful grub_dprintf's.
18606
461121ff
VS
186072011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18610
2a961775
VS
186112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18614
adf594cc
VS
186152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 Output errors if theme loading failed.
18618
18619 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18620 grub_gfxterm_fullscreen on error paths to ...
18621 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18622 theme loading error.
18623
665900a3
VS
186242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18627 space for older compilers.
18628 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18629
a562b479
VS
186302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18631
18632 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18633 and report them as not RAID members since they are useless for GRUB.
18634 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18635
850e9373
VS
186362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 Increase LVM implementation robustness in order not to crash on
18639 configurations like pvmove. Previously code assumed that in some places
18640 only lvs or only pvs are used whereas it seems that they are used
18641 interchangeably.
18642
18643 * grub-core/disk/lvm.c (read_node): New function.
18644 (read_lv): Use read_node.
18645 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18646 Match volumes only at the end when all lvs are found. Take both
18647 pvs (first) and lvs (second) into account.
18648 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18649 mirror_* into node_*. All users updated.
18650 (grub_lvm_stripe): Merge this ...
18651 (grub_lvm_mirror): ... and this ...
18652 (grub_lvm_node): ... into this. All users updated.
18653
6f332153
VS
186542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18655
18656 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18657 of function to allow further scanning for LVMs.
18658
829ea451
VS
186592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18660
18661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18662 on failed seek as it breaks open fd reusage.
18663
09ceb9a5
VS
186642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * util/grub-install.in: Add a recommendation to use --recheck before
18667 reporting bugs.
18668
67e11623
VS
186692011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18672 are obtained.
18673
caee5efd
VS
186742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 GRUB developper manual based on existing Internals section and
18677 contributions by the various authors with active copyright assignment.
18678
18679 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18680 * docs/font_char_metrics.png: New file.
18681 * docs/font_char_metrics.txt: Likewise.
18682 * docs/grub-dev.texi: Likewise.
18683 * docs/grub.texi (Internals): Move from here ...
18684 * docs/grub-dev.texi: ... here.
18685
2cccc747
CW
186862011-04-01 Colin Watson <cjwatson@ubuntu.com>
18687
18688 Store the loopback device as data on loopback grub_disk structures,
18689 rather than the file it points to. This fixes use of freed memory
18690 if an existing loopback device is replaced.
18691
18692 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18693 disk->data, not dev->file.
18694 (grub_loopback_read): Adjust file assignment to match.
18695 Fixes Ubuntu bug #742967.
18696
186ae367
CW
186972011-04-01 Colin Watson <cjwatson@ubuntu.com>
18698
18699 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18700 when replacing an existing device.
18701
cfed2ad0
VS
187022011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18705 memory corruptions.
18706
18707 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18708 unsigned.
18709 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18710 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18711 (grub_jfs_read_inode): Likewise.
18712 (grub_jfs_opendir): Likewise. Remove now useless casts.
18713 (grub_jfs_getent): Likewise.
18714 Make ino a grub_uint32_t rather than int.
18715 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18716 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18717 division and module with bit operations.
18718 (grub_jfs_find_file): Make ino a grub_uint32_t.
18719 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18720
05d2ed32
CW
187212011-04-01 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18724 warning. (This was in fact always initialised before use, but GCC
18725 wasn't smart enough to prove that.)
18726 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18727
91dc6073
VS
187282011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18731 stack alignment.
18732 (efi_wrap_1): Likewise.
18733 (efi_wrap_2): Likewise.
18734 (efi_wrap_3): Likewise.
18735 (efi_wrap_4): Likewise.
18736 (efi_wrap_5): Likewise.
18737 (efi_wrap_6): Likewise.
18738 (efi_wrap_10): Likewise.
18739 Based on information by: Red Hat/Peter Jones.
18740
a8afc1d1
CW
187412011-03-31 Colin Watson <cjwatson@ubuntu.com>
18742
18743 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18744 set-but-not-used variable.
18745
a826cc7d
CW
187462011-03-31 Colin Watson <cjwatson@ubuntu.com>
18747
18748 * docs/grub.texi (Simple configuration): Be more explicit about
18749 GRUB_DEFAULT, and add an example.
18750 Reported by: Leslie Rhorer.
18751
875b67ba
CW
187522011-03-30 Colin Watson <cjwatson@ubuntu.com>
18753
18754 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18755 shell".
18756
fd7cd914
AS
187572011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18758
18759 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18760 * util/grub.d/20_linux_xen.in: Likewise.
18761
090b1b6a
VS
187622011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * util/grub.d/10_linux.in: Try alternative config filenames where
18765 we parse config file.
18766 * util/grub.d/20_linux_xen.in: Likewise.
18767
baad885c
AS
187682011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18769
18770 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18771 * util/grub.d/20_linux_xen.in: Likewise.
18772
241e41f5
VS
187732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18774
18775 * grub-core/disk/raid.c (insert_array): Add few potentially
18776 useful grub_util_info.
18777 (grub_raid_register): Likewise.
18778
56445fb2
VS
187792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18780
18781 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18782 Preserve partition number in mdadm code path.
18783
c871b1c6
VS
187842011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18787 few potentially useful grub_util_info.
18788
5e631b4f
CW
187892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18792
2d5d0333
CW
187932011-03-30 Colin Watson <cjwatson@ubuntu.com>
18794
18795 * docs/grub.texi (default): Use @example rather than nested
18796 itemized lists to avoid breaking gendocs.
18797
3d7ed04e
CW
187982011-03-30 Colin Watson <cjwatson@ubuntu.com>
18799
18800 * docs/grub.texi (Future): Update.
18801
abf04200 188022011-03-30 Colin Watson <cjwatson@ubuntu.com>
18803
18804 * docs/grub.texi (Environment): New chapter.
18805 (Changes from GRUB Legacy): Link to "Environment block" section for
18806 details of limitations.
18807 (Simple configuration): Likewise. Link to documentation of gfxmode
18808 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18809 respectively.
18810 (Shell-like scripting): Note that normal variables are stored in the
18811 environment.
18812 (gettext): Link to documentation of lang and locale_dir.
18813 (list_env): New section.
18814 (load_env): New section.
18815 (save_env): New section.
18816
18817 (Reporting bugs): Fix typo.
18818
e1ad0edd
VS
188192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18822 the example.
18823
5d803174
VS
188242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 * grub-core/term/at_keyboard.c (set_scancodes)
18827 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18828
2a2da1d0
CW
188292011-03-30 Colin Watson <cjwatson@ubuntu.com>
18830
18831 * docs/grub.texi (Menu-specific commands): Remove some semantics
18832 that were true in GRUB Legacy but not in GRUB 2.
18833 (submenu): New section.
18834 (false): New section.
18835 (read): New section.
18836 (true): New section.
18837
a7527639
CW
188382011-03-30 Colin Watson <cjwatson@ubuntu.com>
18839
18840 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18841
188422011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18843
18844 * docs/grub.texi (Simple configuration): Explain some of the
18845 current limitations of grub-mkconfig.
8a748df2 18846 Reported by: Leslie Rhorer.
e30af029 18847
fc858482
VS
188482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 Old macs search for boot.efi rather than for bootia32.efi.
18851
18852 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18853 * util/grub-mkrescue.in: Likewise.
18854 Suggested by: Peter Jones.
18855
e1eb511d
VS
188562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18857
18858 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18859
70e75364
VS
188602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18863 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18864 (grub_lvm_mirror): New struct.
18865 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18866 (grub_lvm_iterate): Iterate only visible volumes.
18867 (grub_lvm_read): Factor out to ..
18868 (read_lv): ... this. Support mirrors.
18869 (grub_lvm_read): New wrapper function.
18870 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18871 stripped or mirrored.
18872
fc18f6a3
VS
188732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18876
5c650f4c
CW
188772011-03-29 Colin Watson <cjwatson@ubuntu.com>
18878
18879 * docs/grub.texi (loopback): New section.
18880
61d7156b
CW
188812011-03-29 Colin Watson <cjwatson@ubuntu.com>
18882
18883 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18884 removed -p option.
18885
994b8264
CW
188862011-03-29 Colin Watson <cjwatson@ubuntu.com>
18887
18888 * docs/grub.texi (BIOS installation): New section, partly based on
18889 previous text in other sections.
18890 (Installing GRUB using grub-install): Replace BIOS discussion with a
18891 cross-reference.
18892 (Images): Likewise.
18893
9e4d19e0
VS
188942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18897 [HAVE_DIOCGDINFO]: Add safety checks.
18898
a307c0b2
VS
188992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18902 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18903
b4db4f39
CW
189042011-03-29 Colin Watson <cjwatson@ubuntu.com>
18905
18906 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18907 real_sb->size is zero (e.g. RAID-0), get the disk size from
18908 real_sb->data_size instead.
18909 Fixes Ubuntu bug #743136.
18910
35e5f84c
VS
189112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18914 printf clauses for printing size and start.
18915
d2e29d81
VS
189162011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18919 Reported and tested by: Timothy Nikkel.
18920
ed5587af
VS
189212011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18924 (dirty_region_add_real): ... this.
18925 (dirty_region_add): Don't discard margin refresh when performing
18926 scheduled repaint.
18927
a1dc717c
VS
189282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * grub-core/lib/relocator.c (allocate_regstart)
18931 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18932 terminals are capabple of malloc-free operation.
18933 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18934 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18935
9f3677d3
VS
189362011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18937
18938 * util/grub-setup.c: Copy the partition table zone if floppy support
18939 is disabled, even if no partition table is found.
18940
18941 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18942 during POST if an invalid partition table is contained in the PBR
18943 of the active partition when GRUB is installed to a partition.
18944
24148725
CW
189452011-03-28 Colin Watson <cjwatson@debian.org>
18946
18947 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18948 comment.
18949
f329eda7
CW
189502011-03-28 Colin Watson <cjwatson@debian.org>
18951
18952 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18953 to be specific about what kind of RAID device we're scanning for.
18954
c482ad98
SG
189552011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18956
18957 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18958 return freed string.
18959
5ee04984
VS
189602011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18963
f4727da9
VS
189642011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18965
18966 Use libgeom on FreeBSD to detect partitions.
18967
18968 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18969 (grub-mkrelpath): Likewise.
18970 (grub-script-check): Likewise.
18971 (grub-editenv): Likewise.
18972 (grub-mkpasswd-pbkdf2): Likewise.
18973 (grub-fstest): Likewise.
18974 (grub-mkfont): Likewise.
18975 (grub-mkdevicemap): Likewise.
18976 (grub-probe): Likewise.
18977 (grub-setup): Likewise.
18978 (grub-ofpathname): Likewise.
18979 (grub-mklayout): Likewise.
18980 (example_unit_test): Likewise.
18981 (grub-menulst2cfg): Likewise.
18982 * grub-core/Makefile.core.def (grub-emu): Likewise.
18983 (grub-emu-lite): Likewise.
18984 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18985 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18986 define HAVE_DIOCGDINFO.
18987 (follow_geom_up) [FreeBSD]: New function.
18988 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18989 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18990 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18991 unconditionally of HAVE_DIOCGDINFO.
18992
82fe6c75
VS
189932011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18994
18995 Fix FreeBSD compilation problem.
18996
18997 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18998 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18999
4c6c9431
CW
190002011-03-24 Colin Watson <cjwatson@ubuntu.com>
19001
19002 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19003 Switch back to page zero before loading a kernel, since some kernel
19004 drivers expect that.
19005 Thanks to: Felix Kuehling.
19006
c7064d94
VS
190072011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19010 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19011 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19012
3f71cded
VS
190132011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19016 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19017
ef6de21a
VS
190182011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19021 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19022 malloc is disabled.
19023
8bc66a2c
VS
190242011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19027 for modules headers when counting the needed allocation size.
19028
5657722c
VS
190292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19032 if no ASCII character is found to prevent crash.
19033
41a85f55
AK
190342011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19035
19036 * grub-core/video/bitmap.c (match_extension): Ignore case.
19037
59e1e5f1
VS
190382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19041
bd4d051a
VS
190422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 * grub-core/script/parser.y: Declare "time" as valid argument.
19045
bae7fcc1
PJ
190462011-03-23 Peter Jones <pjones@redhat.com>
19047
19048 Fix incorrect assert failure reporting.
19049
19050 * grub-core/tests/example_functional_test.c (example_test): Add
19051 a failure comment.
19052 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19053 (failure_start): ...this. Check that malloc succeeded.
19054 Don't call xvasprintf. Return failure struct.
19055 (failure_append_vtext): New function.
19056 (failure_append_text): Likewise.
19057 (add_failure): Likewise.
19058 (grub_test_assert_helper): Likewise.
19059 * include/grub/test.h (grub_test_assert_helper): New declaration.
19060 (grub_test_assert): Macro rewritten.
19061
537dc9be
VS
190622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19065
fa3e01bf
VS
190662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19069
b1d28404
VS
190702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19073 into GRUB-style one.
19074
2e3e2e09
VS
190752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19078 error and not grub_errno.
19079 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19080
ed57e557
VS
190812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19084 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19085
d1611f01
VS
190862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * grub-core/efiemu/i386/pc/cfgtables.c
19089 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19090 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19091 (grub_xnu_unlock): Likewise.
19092 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19093
7d4e39d6
VS
190942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19097 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19098 * grub-core/commands/hashsum.c (aliases): Likewise.
19099 * grub-core/commands/setpci.c (pci_registers): Likewise.
19100 * grub-core/disk/usbms.c (attach_hook): Likewise.
19101 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19102 (zio_checksum_table): Likewise.
19103 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19104 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19105 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19106 * grub-core/lib/relocator.c (leftovers): Likewise.
19107 (extra_blocks): Likewise.
19108 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19109 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19110 (modules_last): Likewise.
19111 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19112 (devices): Likewise.
19113 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19114 (modules_last): Likewise.
19115 * grub-core/normal/auth.c (users): Likewise.
19116 * grub-core/normal/context.c (initial_menu): Likewise.
19117 (current_menu): Likewise.
19118 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19119 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19120 (grub_serial_terminfo_input_template): Likewise.
19121 (grub_serial_terminfo_output_template): Likewise.
19122 (grub_serial_terminfo_input): Likewise.
19123 (grub_serial_terminfo_output): Likewise.
19124 (registered): Likewise.
19125 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19126
40fc4659
VS
191272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19128
19129 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19130 grub_video_mode_type_t.
19131 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19132 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19133 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19134
2da48d28
VS
191352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * util/grub-install.in: Correct the x86-64 name as x86_64.
19138
9b43bf39
CW
191392011-03-11 Colin Watson <cjwatson@ubuntu.com>
19140
19141 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19142 initial chunk read from the kernel always includes GRUB's multiboot
19143 header, which is now outside the first sector.
19144
be1a7ce0
CW
191452011-03-09 Colin Watson <cjwatson@ubuntu.com>
19146
19147 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19148 cached mmap_size, so that this works correctly when called multiple
19149 times.
19150 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19151
83a3c48d
CW
191522011-03-09 Colin Watson <cjwatson@ubuntu.com>
19153
19154 * docs/grub.texi (Simple configuration): Tidy up formatting.
19155
57d75699
SJ
191562011-03-07 Szymon Janc <szymon@janc.net.pl>
19157
19158 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19159 Set-but-not-used variable removed.
19160
028501a0
VS
191612011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 Workaround yet another IEEE1275 bug.
19164
19165 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19166 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19167 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19168 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19169 is set.
19170 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19171 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19172
d998657d
VS
191732011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19176 error.
19177
fee7cdd4
CW
191782011-02-11 Colin Watson <cjwatson@ubuntu.com>
19179
19180 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19181 empty, since in that case we can only generate either nothing or a
19182 syntactically invalid configuration file.
19183 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19184
97286eb5
CW
191852011-02-09 Colin Watson <cjwatson@ubuntu.com>
19186
19187 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19188 (Making a GRUB bootable CD-ROM): Likewise.
19189 (Invoking grub-mkrescue): New section.
19190 Reported by: Yann Dirson. Fixes Debian bug #612585.
19191
22b28eb3
CW
191922011-02-09 Colin Watson <cjwatson@ubuntu.com>
19193
19194 * util/grub-install.in: Remove unnecessary brackets from tr
19195 arguments.
19196 * util/grub.d/10_hurd.in: Likewise.
19197 * util/grub.d/10_kfreebsd.in: Likewise.
19198 * util/grub.d/10_linux.in: Likewise.
19199 * util/grub.d/20_linux_xen.in: Likewise.
19200 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19201
7e735e43
CW
192022011-02-08 Colin Watson <cjwatson@ubuntu.com>
19203
19204 * include/grub/file.h (not_easly_seekable): Rename to ...
19205 (not_easily_seekable): ... this. Update all users.
19206
800f1881
CW
192072011-01-28 Colin Watson <cjwatson@ubuntu.com>
19208
19209 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19210 grub-mkrescue.
19211
3281d3d6
VS
192122011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 * util/grub-mkimage.c (generate_image): Refuse to create the images
19215 bigger than the actual flash (512K) in Loongson machines. 512K is also
19216 the biggest chip supported by them.
19217
3533413c
VS
192182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19221
73ae4f4f
VS
192222011-01-22 Anthony DeRobertis <anthony@derobert.net>
19223
19224 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19225 super_offset field.
19226
37f4f608
VS
192272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * util/grub-install.in: Ignore install device on platforms
19230 where it doesn't make sense. Always use UUIDs except on pc, efi and
19231 sparc64.
19232 Reported by: Daniel Kahn Gillmor.
19233
03a4ccb5
VS
192342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19237
ffc8f4d8
VS
192382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19241 (iterate_real): Don't rely on partition being non-NULL.
19242
80f23be7
VS
192432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19246 supported platforms. Put a compile time assert for this rather than
19247 generate a warning with 32-bit shift.
19248
5d4f4dd5
VS
192492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19252 logical expression more readable.
19253
e489601a
VS
192542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19257 even if some elements have a name.
19258 Reported by: Alexander GQ Gerasiov.
19259
96e0a6ea
CW
192602011-01-22 Colin Watson <cjwatson@ubuntu.com>
19261
19262 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19263 path unreadable if `grub-probe -t abstraction' fails, for example if
19264 memberlist fails on an LVM volume group.
19265 Reported by: Darius Jahandarie.
19266
81431e2b
CW
192672011-01-22 Colin Watson <cjwatson@ubuntu.com>
19268
19269 * docs/grub.texi (Simple configuration): Document
19270 GRUB_PRELOAD_MODULES.
19271
5e79d66a
CW
192722011-01-17 Colin Watson <cjwatson@ubuntu.com>
19273
19274 * .bzrignore: Remove nonexistent grub-pbkdf2.
19275
646ada34
VS
192762011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * configure.ac: Bump version to 1.99~rc1.
19279
04360337
VS
192802011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19283 for safety.
19284
46c9db88
VS
192852011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19288 module.
19289
192902011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19291
19292 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19293
4fbf1852
VS
192942011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19297 diskdevid.
19298
f1632d4d
VS
192992011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 Fix compilation on cygwin.
19302
19303 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19304 -R .drectve on cygwin.
19305 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19306 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19307 (COND_CYGWIN): New condition.
19308 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19309 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19310 not @TARGET_OBJ2ELF@.
19311 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19312 type to determine whether aux is to be used.
19313
0b5e127b
VS
193142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19317 realpath'ed device string.
19318 Handle floppy (somewhat).
19319 Issue error in unknown case rather than garbage.
19320 Reported by: Axel Beckert.
19321
173b71e9
VS
193222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * util/grub.d/00_header.in (load_video): Handle the case when no video
19325 drivers available.
19326 Thanks to: Axel Beckert.
19327
f8f479db
VS
193282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19331 variable. Fixes problem on big endian platforms.
19332
8fc0a245
VS
193332011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19336 It doesn't work well there.
19337
b8494fbe
VS
193382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19341 warning.
19342 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19343 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19344 counter.
19345
b44a558c
VS
193462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19347
19348 Use alias->path rather than buggy "canon".
19349
19350 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19351 (ofdisk_hash_add): New argument curcan. All users updated.
19352
51fa856c
CW
193532011-01-11 Colin Watson <cjwatson@ubuntu.com>
19354
19355 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19356
9da068a5
VS
193572011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19358
19359 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19360 loadmask before doing any calculations. Use correct type for offset.
19361 (grub_linux_load64): Likewise.
19362
86205c94
CW
193632011-01-11 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19366 with NULL.
19367 (console_grub_equivalences_unshift): Likewise.
19368 Reported by: Daniel Dehennin.
19369
4531a206
VS
193702011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19373 (set_env_limn_ro): Likewise.
19374 (GRUB_MOD_INIT): Likewise.
19375 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19376 ARRAY_SIZE while on it.
19377 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19378 * grub-core/normal/context.c (grub_env_export): Move from here ...
19379 * grub-core/kern/env.c (grub_env_export): ... here.
19380 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19381 prefix.
19382 * grub-core/kern/main.c (grub_main): Export root and prefix.
19383 * include/grub/env.h (grub_env_export): Export.
19384 Reported by: Seth Goldberg.
19385
45146057
VS
193862011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19387
19388 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19389 Take into account space used by ELF sections and multiboot palette.
19390 Reported by: Grégoire Sutre.
19391
f093110b
VS
193922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 * BUGS: New file.
19395
3395fe52
VS
193962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 Pass more appropriate video id to Linux.
19399
19400 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19401 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19402 fill have_vga.
19403 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19404 shift params->lfb_size.
19405 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19406
c2fa6cbb
VS
194072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19410
b3ff6ff0
VS
194112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19412
19413 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19414 separator and pass bootpath/devid even if only one of them is available.
19415 Reported by: Seth Goldberg.
19416
ae67942e
VS
194172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19418
19419 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19420 implementations bug on them.
19421
19422 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19423 memory.
19424 (filter_memory_map): Likewise.
19425
d570097a
VS
194262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19429 Reported by: nebuchadnezzar.
19430
a508e776
VS
194312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19432
19433 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19434 Reported by: nebuchadnezzar.
19435
dcb883b1
VS
194362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 Submenu default support.
19439
19440 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19441 auto_boot. All users updated.
19442 Declared static.
19443 Handle chosen and default with submenus.
19444 (grub_menu_execute_with_fallback): Declared static.
19445 Don't notify failure if autobooted. Upper level does it.
19446 (menuentry_eq): New function.
19447 (get_entry_number): Use menuentry_eq.
19448 (show_menu): New parameter "autobooted". All users updated.
19449 (grub_show_menu): Likewise.
19450 * include/grub/normal.h (grub_show_menu): Likewise.
19451 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19452 (grub_menu_execute_with_fallback): Likewise.
19453
6fef99b4
VS
194542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19455
19456 * util/grub-mklayout.c (usage): Update help text.
19457
47a77af5
VS
194582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19459
19460 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19461
ce6bb3ee
VS
194622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * util/grub-menulst2cfg.c (main): Trim the line.
19465
db87be2a
VS
194662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19467
19468 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19469 (grub_machine_init): Don't check amount of low memory as reportedly
19470 INT 12h can be broken and if low memory is too low we wouldn't have
19471 gotten into grub_machine_init anyway.
19472
c49849cc
VS
194732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19476 (grub_machine_mmap_iterate): Take low memory into account
19477
b1969b30
VS
194782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19481 badfs.
19482 Reported by: TiCPU.
19483
cf0eaf13
VS
194842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19487 members errors.
19488
1f060f39
GS
194892011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19490
19491 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19492 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19493
a21e5672
GS
194942011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19495
19496 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19497 openbsd and netbsd types being in part_bsd module.
19498
c88172fa
VS
194992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19502 (_FILE_OFFSET_BITS): Likewise.
19503 Reported by: Seth Goldberg.
19504
53798c4b
GS
195052011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19506
19507 * configure.ac: Check for libdevmapper header.
19508
e7121b69
VS
195092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19512 avoid aliasing.
19513 (fzap_lookup): Likewise.
19514 (dnode_get): Likewise.
19515 (make_mdn): Likewise.
19516 (zfs_mount): Likewise.
19517 (fzap_iterate): Use temporary pointer to avoid aliasing.
19518 (grub_zfs_read): Likewise.
19519 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19520 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19521 pointers to avoid aliasing.
19522 (grub_cmd_xnu_kernel64): Likewise.
19523 (grub_xnu_load_driver): Likewise.
19524
fc836af9
VS
195252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19526
19527 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19528 aliasing warning.
19529 (grub_cmd_terminal_output): Likewise.
19530 Reported and tested by: Grégoire Sutre.
19531
f9f37648
VS
195322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19535 warning.
19536 Reported and tested by: Grégoire Sutre.
19537
ec1dfd63
VS
195382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 * configure.ac: Do CPU substitution even if it's specified explicitly.
19541 Reported and tested by: Alain Greppin.
19542
9462775a
VS
195432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19546 Reported and tested by: Alain Greppin.
19547
0fd48e35
VS
195482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 Satisfy some bison versions need for inttypes.h.
19551
19552 * grub-core/lib/posix_wrap/inttypes.h: New file.
19553 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19554 (int16_t): Likewise.
19555 (int32_t): Likewise.
19556 (int64_t): Likewise.
19557 Reported and tested by: Alain Greppin.
19558
43f1bc83
VS
195592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19562 Silence spurious warning.
19563 Reported and tested by: Alain Greppin.
19564
64d1f041
SJ
195652011-01-07 Szymon Janc <szymon@janc.net.pl>
19566
19567 * docs/grub.texi (Support automatic decompression): Update with xz
19568 decompression support.
19569
25953e10
SJ
195702011-01-07 Szymon Janc <szymon@janc.net.pl>
19571
19572 Improve loaders' kernel command line handling.
19573
19574 * grub-core/lib/cmdline.c: New file.
19575 * include/grub/lib/cmdline.h: Likewise.
19576 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19577 grub_create_loader_cmdline to create kernel command line.
19578 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19579 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19580 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19581 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19582 (linux): Add lib/cmdline.c on common.
19583
e72d259f
VS
195842011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19587 inopos might be unaligned.
19588
c0cf26da
VS
195892011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19592 endian transformations.
19593 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19594 Based on report by: Doug Nazar.
19595
0ca09e6c
DN
195962011-01-07 Doug Nazar <nazard.michi@gmail.com>
19597
19598 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19599 array->members[i].start_sector.
19600 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19601
014b6806
VS
196022011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19605 Reported and tested by: Grégoire Sutre.
19606
415502c2
CW
196072011-01-06 Colin Watson <cjwatson@ubuntu.com>
19608
19609 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19610 avoid causing test failures by clearing the screen.
19611
71b6a2b7
CW
196122011-01-06 Colin Watson <cjwatson@ubuntu.com>
19613
19614 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19615 Fix prefix check to handle the case where dir ends with a slash
19616 (most significantly, "/" itself).
19617 Reported by: Michael Vogt.
19618
b3f8d28a
VS
196192011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19620
19621 Run terminfo_cls on initing terminfo output to clear the screen and
19622 move the cursor to (0,0).
19623
19624 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19625 Call grub_terminfo_output_init.
19626 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19627 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19628 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19629
4c3e4f37
VS
196302011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19631
19632 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19633 only when needed.
19634
488f71f1
VS
196352011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19638 CTRL.
19639
18a38098
VS
196402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19641
19642 The E820 type 5 is BADRAM, not EXEC_CODE.
19643
19644 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19645 (GRUB_E820_BADRAM): New define.
19646 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19647 into reserved. Propagate BADRAM.
19648 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19649 (GRUB_E820_BADRAM): New define.
19650
9eae2084
VS
196512011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19652
19653 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19654 Ignore the memory post-4G.
19655 (grub_relocator_firmware_alloc_region): Additional debug statement.
19656
ebc71d28
VS
196572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19660 names.
19661 Reported by: David Pravec.
19662
446fa400
VS
196632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19666 BIOSes.
19667
a0159f37
VS
196682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19669
19670 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19671 Prevent overflow.
19672 (grub_reed_solomon_recover): Likewise.
19673
e5146ca1
VS
196742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19677
196782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19679
19680 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19681 variable.
19682
5b1bdf12
CW
196832011-01-04 Colin Watson <cjwatson@ubuntu.com>
19684
19685 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19686 descriptions of extract_legacy_entries_source and
19687 extract_legacy_entries_configfile.
19688 Reported by: Seung Soo, Ha.
19689
99d925aa
CW
196902011-01-03 Colin Watson <cjwatson@ubuntu.com>
19691
19692 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19693 on devices that do not implement function 0.
19694
4af0504b
DV
196952011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19696
19697 * grub-core/fs/hfsplus.c: Make parent unsigned.
19698 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19699 overflows.
19700 (grub_hfsplus_cmp_extkey): Likewise
19701
469ee10a
VS
197022011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19703
19704 * util/grub-install.in: Correctly use bootloader_id and not
19705 GRUB_DISTRIBUTOR on efibootmgr line.
19706
323a8e9c
VS
197072011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19708
19709 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19710
1b394975
IC
197112010-12-31 Ian Campbell <ijc@hellion.org.uk>
19712
19713 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19714 Xen and reorder menu item wording to make it clearer that this entry
19715 will launch Xen. Print separate messages when loading Xen and
19716 Linux.
19717
275bff5f
VS
197182010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19721 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19722 loop in case of incorrect amiga partmap.
19723
307806cb
VS
197242010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19725
19726 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19727 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19728 Reported by:EHeM.
19729
b12b923e
VS
197302010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19731
19732 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19733 spurious warning.
19734 Reported by: crocket
19735
14b48a19
VS
197362010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19739 Preload EFIemu.
19740 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19741
693db2df
VS
197422010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19745 is loaded
19746 (grub_cmd_xnu_kextdir): Likewise.
19747 (grub_cmd_xnu_splash): Likewise.
19748
c7638645
VS
197492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 Avoid using Reed-Solomon with 0 redundancy.
19752
19753 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19754 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19755 or 0 redundancy.
19756 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19757 (grub_reed_solomon_recover): Likewise.
19758
25dd4780
VS
197592010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 Don't use disk subsystem in freebsd_boot.
19762
19763 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19764 (freebsd_biosdev): Likewise.
19765 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19766 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19767
0b2db943
VS
197682010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19769
19770 Handling of files of unknown size is currently limited. They can't be
19771 used e.g. for initrd or modules. Moreover gzip handling of not
19772 easily seekable files is buggy. Disable unknown file size for now. May
19773 be inefficient but works.
19774
19775 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19776 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19777
5c408d0f
MP
197782010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19779
19780 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19781 floppy probe.
19782
190a011a
JD
197832010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19784
19785 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19786
022d01b8
SL
197872010-12-25 Shea Levy <shlevy>
19788
19789 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19790
c4855fdc
VS
197912010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19792
19793 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19794 Windows Server 2008.
19795 Reported by: Devin Giddings.
19796
0354b867
VS
197972010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19798
19799 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19800 writing an error message because of async power management.
19801 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19802 (grub_reboot): Likewise.
19803
ab66c69f
JU
198042010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19805
19806 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19807 keep unit tests from failing when they shouldn't.
19808
1426ef35
CW
198092010-12-21 Colin Watson <cjwatson@ubuntu.com>
19810
19811 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19812 previous patch increased the size of the RS code by 20 bytes (at
19813 least with gcc-4.4), so increase this by 20 bytes to match.
19814 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19815
20641b6b
CW
198162010-12-21 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19819 scratch area. Make sure to initialise chosen in standalone mode as
19820 well as non-standalone.
19821 Reported by: Robert Hooker and Andy Whitcroft.
19822 Tested by: Andy Whitcroft.
19823
d060ad60
CW
198242010-12-21 Colin Watson <cjwatson@ubuntu.com>
19825
19826 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19827 constructing a new unescaped string and passing it to grub_xputs in
19828 one go, rather than passing characters to grub_printf one at a time.
19829
b889cfad
CW
198302010-12-21 Colin Watson <cjwatson@ubuntu.com>
19831
19832 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19833 initialising utf16.
19834
4e01b6c8
CW
198352010-12-21 Colin Watson <cjwatson@ubuntu.com>
19836
19837 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19838 comment. Add an extra layer of quotation, requiring the output of
19839 this function to be used in a printf format string.
19840 (gettext_printf): New function.
19841 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19842 Extract translatable strings from here-documents and use a temporary
19843 variable instead, so that xgettext can find them.
19844 * util/grub.d/10_kfreebsd.in: Likewise.
19845 * util/grub.d/10_linux.in: Likewise.
19846 * util/grub.d/20_linux_xen.in: Likewise.
19847
19848 * po/grub.d.sed: New file.
19849 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19850 arguments. Set c-format flags on all strings extracted from
19851 util/grub.d/ (xgettext refuses to include these itself for strings
19852 it extracted from a shell file, but these really are c-format).
19853
5318fe98
VS
198542010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19855
19856 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19857 Avoid next pointing to nowhere.
19858
6c85b743
VS
198592010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19862 rather than assuming than rootblock is exactly in the middle.
19863 (grub_affs_label): Likewise.
19864
a2a08a35
VS
198652010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19868 reserved_first_sector to 0.
19869 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19870 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19871 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19872
7059d1ec
VS
198732010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 Fix handling of UTF-16 UDF labels.
19876
19877 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19878 (read_string): .. here.
19879 (grub_udf_label): Use read_string.
19880
30aff4cb
BC
198812010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19882
19883 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19884 editor under argument scope.
19885 Reported by: Jordan Uggla
19886
5cf86f4b
VS
198872010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19890
32570200
CW
198912010-12-18 Colin Watson <cjwatson@ubuntu.com>
19892
19893 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19894 line, and other keys scroll an entire page (previous handling was
19895 for \r and \n to scroll a page and other keys to scroll two lines).
19896
e1dffcf2
VS
198972010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19900 Set ptrdest to correct get_physical_target_address rather than
19901 incorrect get_virtual_current_address.
19902
b04298cf 199032010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19904
19905 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19906 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19907
5367ecd3
CW
199082010-12-10 Colin Watson <cjwatson@ubuntu.com>
19909
19910 * .bzrignore: Ignore grub-core/rs_decoder.S.
19911
1fb430f8
CW
199122010-12-10 Colin Watson <cjwatson@ubuntu.com>
19913
19914 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19915 .mo/.mo.gz opening sequence to ...
19916 (grub_mofile_open_lang): ... here.
19917 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19918 * util/grub.d/00_header.in (grub_lang): Include country part of
19919 locale.
19920 Reported by: Mario Limonciello.
19921
a94a6671
RM
199222010-12-09 Robert Millan <rmh@gnu.org>
19923
19924 * NEWS: Document addition of ZFS support.
19925
24b7938b
CW
199262010-12-04 Colin Watson <cjwatson@ubuntu.com>
19927
19928 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19929 rather than `/ 2', as the latter requires -Wa,--divide which would
19930 require bumping our minimum binutils version.
19931
bddc3ef6
BC
199322010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19933
19934 * util/grub-script-check.c (main): Print script line number on
19935 error.
19936
bf78d5b2
RM
199372010-12-01 Robert Millan <rmh@gnu.org>
19938
19939 * grub-core/fs/zfs/zfs.c: New file.
19940 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19941 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19942 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19943 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19944
19945 * include/grub/zfs/dmu.h: Likewise.
19946 * include/grub/zfs/dmu_objset.h: Likewise.
19947 * include/grub/zfs/dnode.h: Likewise.
19948 * include/grub/zfs/dsl_dataset.h: Likewise.
19949 * include/grub/zfs/dsl_dir.h: Likewise.
19950 * include/grub/zfs/sa_impl.h: Likewise.
19951 * include/grub/zfs/spa.h: Likewise.
19952 * include/grub/zfs/uberblock_impl.h: Likewise.
19953 * include/grub/zfs/vdev_impl.h: Likewise.
19954 * include/grub/zfs/zap_impl.h: Likewise.
19955 * include/grub/zfs/zap_leaf.h: Likewise.
19956 * include/grub/zfs/zfs.h: Likewise.
19957 * include/grub/zfs/zfs_acl.h: Likewise.
19958 * include/grub/zfs/zfs_znode.h: Likewise.
19959 * include/grub/zfs/zil.h: Likewise.
19960 * include/grub/zfs/zio.h: Likewise.
19961 * include/grub/zfs/zio_checksum.h: Likewise.
19962
19963 * Makefile.util.def: Build ZFS into libgrubmods.
19964 * grub-core/Makefile.core.def: Build zfs.mod.
19965
3f0f3831
SJ
199662010-11-30 Szymon Janc <szymon@janc.net.pl>
19967
19968 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19969 variable.
19970 * grub-core/commands/wildcard.c (match_files): Likewise.
19971
3a4253b2
RM
199722010-11-30 Robert Millan <rmh@gnu.org>
19973
19974 * grub-core/loader/i386/bsd.c
19975 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19976 whether kernel is loaded using grub_loader_is_loaded(), rather
19977 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19978 certain error conditions.
19979
8c317b27
RM
199802010-11-30 Robert Millan <rmh@gnu.org>
19981
c5c9cd3e
RM
19982 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19983 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19984
49d3ab46
VS
199852010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19986
19987 Avoid using tricks for initialising endian variables.
19988
19989 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19990 Make const.
19991 (GRUB_MOD_INIT): Don't byte-swap.
19992 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19993 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19994 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19995 (grub_swap_bytes32_compile_time): Likewise.
19996 (grub_cpu_to_le32_compile_time): Likewise.
19997 (grub_cpu_to_le16_compile_time): Likewise.
19998
f420a804
VS
199992010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * util/grub-setup.c (setup): Stop recommending --force. People who
20002 understand the dangers of blocklists are able to find this option
20003 anyway and the ones who don't shouldn't use it anyway.
20004
4e7db17b
RM
200052010-11-26 Robert Millan <rmh@gnu.org>
20006
20007 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20008 Update all users.
20009
9be57a0d
CW
200102010-11-26 Colin Watson <cjwatson@ubuntu.com>
20011
20012 Fix LVM-on-RAID probing.
20013
20014 * util/grub-probe.c (probe): Remember which disk was detected as
20015 RAID (perhaps an LVM physical volume). Use that disk's raidname
20016 rather than that of the top-level disk.
20017
2c7859b3 200182010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20019
d7647bb6
BC
20020 Fix cmdline argument quotes for setparams command of menuentry
20021 definitions.
7e623b0d
BC
20022
20023 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20024 quotes for arguments.
f866fe80 20025 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20026 grub_strchrsub function instead.
f866fe80 20027
7955bea0 20028 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20029
74f72a64
CW
200302010-11-24 Colin Watson <cjwatson@ubuntu.com>
20031
20032 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20033 effort by skipping "." and ".." entries up-front.
20034 Suggested by: Michael Lazarev.
20035
5a407278
CW
200362010-11-24 Colin Watson <cjwatson@ubuntu.com>
20037
20038 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20039 ldflags to ldadd, to fix link line ordering.
20040 (none_decompress): Likewise.
20041
3030d8ec
CW
200422010-11-24 Colin Watson <cjwatson@ubuntu.com>
20043
20044 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20045 platforms.
20046 (grub-emu-lite): Remove kern/emu/cache.S.
20047
b7fbac12
CW
200482010-11-23 Colin Watson <cjwatson@ubuntu.com>
20049
20050 * util/deviceiter.c (compare_devices): If the by-id link for a
20051 device couldn't be resolved, fall back to sorting by the by-id link
20052 rather than segfaulting.
20053 Reported and tested by: Daniel Mierswa.
20054
5225f328
CW
200552010-11-23 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20058 ldflags, to fix link line ordering.
20059
038b3ce8
CW
200602010-11-23 Colin Watson <cjwatson@ubuntu.com>
20061
20062 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20063 linkers are picky about this.
20064
bf16e98e
CW
200652010-11-23 Colin Watson <cjwatson@ubuntu.com>
20066
20067 * grub-core/Makefile.am (command.lst): Adjust sed expression
20068 ordering so that extended and priority commands aren't treated as
20069 ordinary commands.
20070
7242bab6
CW
200712010-11-23 Colin Watson <cjwatson@ubuntu.com>
20072
20073 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20074 Remove byte-swapping function calls, which are not valid in
20075 structure initialisers.
20076 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20077 non-const.
20078 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20079 grub_gpt_partition_type_bios_boot.
20080
14e8b279
CW
200812010-11-22 Colin Watson <cjwatson@ubuntu.com>
20082
20083 Fix test program build on GNU/kFreeBSD.
20084
20085 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20086 $(LIBNVPAIR)' library dependencies.
20087
e6f63338 200882010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20089
20090 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20091
cf8ffc38
CW
200922010-11-22 Colin Watson <cjwatson@ubuntu.com>
20093
20094 * util/grub-install.in: Remove excessive quoting that broke
20095 installations to RAID devices.
20096
7f8b0fd7
VS
200972010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20098
20099 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20100 bootloader version instead of 0.
20101
dfd240b1
VS
201022010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20105 warning.
20106
7b61e609
VS
201072010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20110 retrieve the metadat sector if size isn't known.
20111 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20112
9dfe92d0
RM
201132010-11-18 Robert Millan <rmh@gnu.org>
20114
20115 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20116 with grub_memcmp().
20117
41cc919e
VS
201182010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20121 arrow.
20122 Reported by: Jordan Uggla.
20123
1afcc914
VS
201242010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 Make better UTF compliant.
20127
20128 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20129 sequences as incorrect.
20130 (grub_is_valid_utf8): Likewise.
20131 (grub_utf8_to_ucs4): Likewise.
20132 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20133 (grub_ucs4_to_utf8_alloc): Likewise.
20134 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20135
f1808884
VS
201362010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 Make legacy_source behave like source.
20139
20140 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20141 grub_show_menu.
20142 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20143
24ec575b
CW
201442010-11-16 Colin Watson <cjwatson@debian.org>
20145
20146 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20147 (-Wunused implies -Wunused-parameter, but not vice versa).
20148
72b7c7aa
CW
201492010-11-16 Colin Watson <cjwatson@ubuntu.com>
20150
20151 * configure.ac: Make error messages less confusing by testing for
20152 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20153 accepted, but produces a diagnostic if something else is wrong).
20154
e98937aa
VS
201552010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20156
20157 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20158 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20159 (now unused).
20160 (grub_keyboard_controller_init)
20161 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20162 read the initial state since controller isn't inited yet.
20163
f6bbabc3
VS
201642010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20167 allocate_regbeg may need to create new chunk header.
20168
22e7dbb2
VS
201692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20170
20171 Fix quoting in legacy parser.
20172
20173 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20174 single quotes.
20175 (grub_legacy_parse): Likewise.
20176 Reported by: Jordan Uggla.
20177 Tested by: Jordan Uggla.
20178
03f80960
VS
201792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 Don't add -lgcc on i386 and x86_64.
20182
20183 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20184 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20185 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20186
779dc15b
VS
201872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * configure.ac: Add -Wno-trampolines when supported.
20190
d20a3b37
MV
201912010-11-14 Modestas Vainius <modax@debian.org>
20192
20193 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20194 fakeraid.
20195
e5360933
GC
201962010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20197
20198 Add generic logical block size support for UDF.
20199
20200 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20201 (GRUB_UDF_BLKSZ): Removed.
20202 (struct grub_udf_data): New field "lbshift" to hold the logical block
20203 size of the file system in log2 format. All users updated.
20204 (sblocklist): Change type to unsigned.
20205 (grub_udf_mount): Change type of "sblklist" to unsigned.
20206 Move AVDP search before VRS recognition, because the latter requires
20207 knowledge of the logical block size, which is detected during the
20208 former.
20209 Detect and validate logical block size during AVDP search, adding
20210 support for block sizes 512, 1024 and 4096.
20211 Make VRS recognition independent of block size.
20212
cb0229c5
GC
202132010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20214
20215 Properly handle deleted files on UDF.
20216
20217 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20218 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20219 set.
20220
406858a8
GC
202212010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20222
20223 Support reading files larger than 2 GiB.
20224
20225 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20226 "offset" to grub_off_t.
20227 (grub_udf_read_file): Likewise for parameter "pos".
20228
130da6a7
VS
202292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20232 unavailable.
20233 (Simple configuration): Refer to Changes from GRUB Legacy about
20234 save_env availability.
20235
65e93f6b
VS
202362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20237
20238 * util/grub-install.in: Ignore empty partition table detection
20239 instead of trying to include part_ module.
20240
1fd08bf1
VS
202412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20244 LVM on RAID support.
20245
de1a024f
VS
202462010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 Properly define WORDS_BIGENDIAN in wrapped environments.
20249
20250 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20251 definition.
20252 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20253
20254 Reported by: Manoel Rebelo Abranches.
20255 Tested by: Manoel Rebelo Abranches.
20256
bc5dd0b9
VS
202572010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20258
20259 * util/grub-mkconfig.in: Fix quoting.
20260
58c184be
VS
202612010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20262
20263 Support big ext2 files.
20264
20265 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20266 (grub_ext2_read_block): Support triple indirect blocks.
20267 (grub_ext2_read_file): Use 64-bit types and read size_high.
20268 (grub_ext2_open): Read size_high.
20269 Reported by: Ximin Luo.
20270 Tested by: Manoel Rebelo Abranches.
20271
5f0c02b3
VS
202722010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20273
20274 * util/grub-install.in: Handle filenames containing spaces.
20275 Reported by: Jordan Uggla.
20276 Tested by: Jordan Uggla.
20277
4417aae6
VS
202782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 * util/grub-mkconfig.in (grub_script_check): New variable.
20281 Use grub_script_check instead of grub-script-check.
20282 Reported by: Barry Jackson.
20283
7625a68e
VS
202842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 * docs/grub.texi (menu): Correct the order.
20287 Reported by: D. Hugh Redelmeier.
20288
10001ac5
VS
202892010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20292 jump.
20293
9c4cf53b
MRA
202942010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20295
10001ac5
VS
20296 * include/grub/elfload.h (grub_elf32_size): New parameter.
20297 All users updated.
9c4cf53b
MRA
20298 Return maximum segments alignment.
20299 (grub_elf64_size): Likewise.
20300 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20301 Return maximum segments alignment.
20302 (grub_elf64_size): Likewise.
20303 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20304 (grub_linux_claimmap_iterate): New function. Uses the
20305 "available" property in the "memory" node for memory allocation
20306 for kernel in the PowerPC loader.
9c4cf53b
MRA
20307 (grub_linux_load32): Correctly find linux entry point offset.
20308 (grub_linux_load64): Likewise.
20309
d2bf06bf
RM
203102010-11-07 Robert Millan <rmh@gnu.org>
20311
20312 On mips-yeeloong, build with -march=loongson2f when this flag is
20313 available (GCC >= 4.4).
20314 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20315 `-march=mips3'.
20316 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20317 or otherwise add -march=mips3.
20318
898c99a2
BC
203192010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20320
87220a68
BC
20321 Suppress shell expansion on echo '*' and echo "*" like cases.
20322 Reported by: Jordan Uggla.
898c99a2
BC
20323
20324 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20325 string arguments before shell expansion.
20326 * tests/grub_cmd_echo.in: New testcases.
20327
4f9b406a
RM
203282010-11-07 Robert Millan <rmh@gnu.org>
20329
20330 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20331 transition.
20332
80c6d25e
VS
203332010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/kern/emu/hostdisk.c
20336 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20337
4a1a0153
VS
203382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20341 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20342 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20343
34706ddc
VS
203442010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20345
20346 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20347
6972dea9
VS
203482010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * util/grub-install.in: Replace useless recomendation to pass
20351 --modules with a recomendation to report a bug.
20352
9c693bd6
VS
203532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20354
20355 Properly register serial terminfo.
20356 Reported by: Jordan Uggla
20357
20358 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20359 const.
20360 (grub_serial_terminfo_output_template): Likewise.
20361 (grub_cmd_serial): Register "serial" with terminfo.
20362 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20363 grub_serial_terminfo_output.
20364
6c9e4c0c
RM
203652010-11-05 Robert Millan <rmh@gnu.org>
20366
20367 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20368 needed).
20369
b9b3839f
RM
203702010-11-05 Robert Millan <rmh@gnu.org>
20371
20372 On Yeeloong, pass machine type information to Linux.
20373
20374 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20375 (LOONGSON_MACHTYPE): New macro, set to
20376 "machtype=lemote-yeeloong-2f-8.9inches".
20377 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20378 additional argument to Linux.
20379
1a3aaff4
RM
203802010-11-04 Robert Millan <rmh@gnu.org>
20381
20382 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20383 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20384 (its SATA disks are detected as slaveless IDE master drives on
20385 kFreeBSD).
20386 Reported by Carsten Aulbert.
20387
a75f4f62
CW
203882010-11-02 Colin Watson <cjwatson@ubuntu.com>
20389
20390 * util/bin2h.c (main): Fix spelling error in generated output.
20391
33b4b0c6
GS
203922010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20393
20394 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20395
2b36fbf4
VS
203962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20399 vga= option is supplied.
20400
74aaf558
VS
204012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20404 * util/grub.d/10_kfreebsd.in: Likewise.
20405 * util/grub.d/10_linux.in: Likewise.
20406 * util/grub.d/20_linux_xen.in: Likewise.
20407
6428dec3
VS
204082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20411 argument as an argument to no-argument option.
20412
f8729d98
VS
204132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * util/grub.d/10_linux.in: Add missing load_video with explicit
20416 GRUB_GFXPAYLOAD_LINUX.
20417
89d68fa6
VS
204182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20421
3a1197cd
VS
204222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20423
20424 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20425 elements with invlid index.
20426 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20427 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20428 members.
20429 * include/grub/raid.h (grub_raid_member): New struct.
20430 (grub_raid_array): Transform devices and start_sector into usage of
20431 grub_raid_member. All users updated
20432 (allocated_devs): New member.
20433
71574288
VS
204342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20437 is modified
20438
8d40ec65
BC
204392010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20440
20441 NetBSD build fix for getline function conflict from gnulib.
20442
20443 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20444 components that depend on gnulib headers.
20445 (libgrubmods.a): Renamed from earlier libgrub.a.
20446 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20447
95b9257e
VS
204482010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20449
20450 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20451 install rather than creating a broken install.
20452
26c53dc6
VS
204532010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 * util/grub-setup.c (argp): Remove misleading example of installing to
20456 a partition.
20457
4171b3c5
VS
204582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * util/grub-setup.c (setup): Clarify the error message.
20461
18568d18
VS
204622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20465
4f6a2e21
VS
204662010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20467
20468 * grub-core/kern/emu/misc.c
20469 (grub_make_system_path_relative_to_its_root)
20470 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20471
204722010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20473
20474 * grub-core/kern/emu/misc.c
20475 (grub_make_system_path_relative_to_its_root): Revert r2882.
20476
e138c458
VS
204772010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20478
20479 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20480 useless field head. All users updated.
20481 (free_subchunk): Correct handling of IN_REGION subchunk.
20482
0cbcdf0e
CW
204832010-10-22 Colin Watson <cjwatson@ubuntu.com>
20484
20485 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20486 (Supported kernels): Likewise.
20487
b65ea155
GS
204882010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20489
20490 Make mktemp invocations portable.
20491
20492 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20493 exit if mktemp fails.
20494 * tests/grub_script_blockarg.in: Likewise.
20495 * tests/partmap_test.in: Likewise.
20496 * tests/util/grub-shell-tester.in: Likewise.
20497 * tests/util/grub-shell.in: Likewise.
20498 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20499 * Makefile.am: Likewise, and chain shell commands with `&&'
20500 instead of ';'.
20501 * util/grub-mkrescue.in: Use the same explicit template as above, and
20502 exit if mktemp fails.
20503
05f43cdd
BC
205042010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20505
20506 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20507 Linux kernel, reported by Dennis Schridde.
20508
800e6a9b
SJ
205092010-10-17 Szymon Janc <szymon@janc.net.pl>
20510
20511 * grub-core/normal/auth.c (grub_auth_check_authentication):
20512 Set-but-not-used variable removed.
20513
d82df574
VS
205142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20515
20516 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20517 32-bit linux protocol.
20518
7bced458
VS
205192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20522 cursor shape for sanity.
20523
5b027690
VS
205242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20525
20526 * docs/grub.texi (Installation): Document buggy BIOS install.
20527
ba5f65cf
VS
205282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 * docs/grub.texi (Installation): Indent.
20531
fdf2ec9c
VS
205322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20533
20534 * util/grub-setup.c (setup): New parameter allow_floppy.
20535 (arguments): New member allow_floppy.
20536 (argp_parser): Handle --allow-floppy.
20537 (main): Pass allow_floppy.
20538 * util/grub-install.in: New option --allow-floppy passed though to
20539 grub-setup.
20540
861dfd4c
VS
205412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * util/grub-install.in: Handle partitionless disks.
20544
f77a8c24
VS
205452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * util/grub-setup.c (setup): Don't clean blocklists before readability
20548 verfification.
20549
27d9ee32
VS
205502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 * docs/grub.texi (Installation): Document embedding zone. Remove
20553 obsolete grub-install example.
20554
6bdda8f8
SJ
205552010-10-16 Szymon Janc <szymon@janc.net.pl>
20556
20557 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20558 Set-but-not-used variable ifdef'ed.
20559 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20560 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20561 variable removed.
20562 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20563 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20564 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20565 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20566 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20567 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20568 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20569 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20570 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20571 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20572 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20573 Likewise.
20574
e19b016b
VS
205752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20578 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20579 enum value.
20580
6c8d3002
VS
205812010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20584 synonym to _S5_. Needed for some DSDTs.
20585
c32b51c9
VS
205862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 Userspace ACPI parser debugging.
20589
20590 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20591 headers and add relevant defines. Don't include standard headers.
20592 (main) [GRUB_DSDT_TEST]: New function.
20593 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20594 Don't declare functions.
20595
fbfbeb39
VS
205962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 Remove dead grub_efi_mm_fini.
20599
20600 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20601 (ALLOCATED_PAGES_SIZE): Likewise.
20602 (MAX_ALLOCATED_PAGES): Likewise.
20603 (allocated_pages): Likewise.
20604 (grub_efi_allocate_pages): Don't record allocated pages.
20605 (grub_efi_free_pages): Likewise.
20606 (grub_efi_mm_init): Likewise.
20607 (grub_efi_mm_fini): Removed.
20608
65f7ed7c
VS
206092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20612 (grub_efi_mm_init): Take into account the memory map size increase.
20613
24977b44
VS
206142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20617 (serial_hw_put): Wait based on real time rather than port reads. Don't
20618 roken ports.
20619 * include/grub/serial.h (grub_serial_port): New field broken.
20620
1eb01cd2
RM
206212010-10-16 Robert Millan <rmh@gnu.org>
20622
20623 * grub-core/kern/emu/misc.c
20624 (grub_make_system_path_relative_to_its_root): Fix premature return
20625 when processing non-root ZFS filesystems.
5f8b440b 20626 Reported by Sergio Talens-Oliag.
1eb01cd2 20627
2d5fed60
RM
206282010-10-15 Robert Millan <rmh@gnu.org>
20629
20630 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20631 guarantee compressed ones are processed first.
20632
d0f4c1ea
VS
206332010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20634
20635 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20636 grub_efiemu_autocore.
20637
d87c681f
VS
206382010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20639
20640 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20641 rather than 0x1b.
20642 (grub_console_getkey): Use correct jae opcode rather than ja.
20643
219b3564
RM
206442010-10-12 Robert Millan <rmh@gnu.org>
20645
20646 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20647 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20648 variable. All references updated.
20649
20650 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20651
20c6bb7e
VS
206522010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20653
20654 Correctly distinguish mdraid flavours.
20655
20656 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20657 (insert_array): New argument raid.
20658 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20659 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20660 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20661
74baff84
VS
206622010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20665 handling of special keys.
20666
3ef068df 206672010-10-02 Aleš Nesrsta <starous@volny.cz>
20668
c7980ad9
VS
20669 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20670 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20671
a9455194 206722010-10-02 Aleš Nesrsta <starous@volny.cz>
20673
c7980ad9
VS
20674 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20675 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20676 users updated.
a9455194 20677 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20678 Use right endpoint when querying descriptor.
a9455194 20679
441cfe65
VS
206802010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20681
20682 Clear out 0x80 color bit on EFI.
20683 Tested by: decoder
20684 Reported by: decoder and meta tech.
20685
20686 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20687 (grub_console_setcolorstate): Clear out 0x80 bit.
20688 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20689 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20690 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20691
bf26bcc4
VS
206922010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20695 Set to "auto".
20696
6e3c515d
VS
206972010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20700 mo_file after freeing.
20701
e6d983ba
VS
207022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20705
74ccb5b5
VS
207062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20709 flags.
20710
17821956
VS
207112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20714 usage.
20715
ee74fa48
VS
207162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20717
20718 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20719
20720 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20722 and terminfo.h when needed.
20723 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20724 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20725 (terminfo): Enable only on terminfokernel.
20726 (extcmd): Likewise.
20727 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20728 * include/grub/lib/arg.h: Likewise.
20729 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20730 incorrect usage of ->.
20731
aa438e68
VS
207322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20735 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20736
57994012
VS
207372010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20738
20739 Fix coreboot compilation.
20740
20741 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20742 Take VBE info into account even if only text is supported.
20743 (fill_vbe_info): Take into account the case when only VGA text
20744 is supported.
20745 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20746 on coreboot, multiboot and qemu.
20747
2a406611
VS
207482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20749
20750 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20751 debug messages.
20752 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20753
d33613fc
VS
207542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20757 parameters.
20758
44a1b432
VS
207592010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20760
20761 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20762 if they were BSD-style.
20763
edde54e6
VS
207642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20765
20766 * grub-core/boot/i386/pc/lnxboot.S: Replace
20767 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20768 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20769
b65830fa
VS
207702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 Write embedding zone using Reed-Solomon.
20773
20774 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20775 * grub-core/Makefile.am (rs_decoder.S): New target.
20776 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20777 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20778 (multiboot): Move to RS part.
20779 (post_reed_solomon): New label.
20780 (grub_boot_drive): Move to non-RS part since it's modified in memory
20781 on boot.
20782 Include rs_decoder.S.
20783 * grub-core/lib/reed_solomon.c: New file.
20784 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20785 New definition.
20786 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20787 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20788 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20789 * include/grub/partition.h (grub_partition_map): Change prototype of
20790 embed to allow returning additional sectors.
20791 * include/grub/reed_solomon.h: New file.
20792 * util/grub-setup.c (setup): Handle Reed-Solomon.
20793
0b4b227f
CW
207942010-09-28 Colin Watson <cjwatson@ubuntu.com>
20795
20796 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20797 i386 and x86-64 definedness tests.
20798
f772623b
YB
207992010-09-27 Yves Blusseau <blusseau@zetam.org>
20800
20801 Fix generation of kernel_syms.lst
20802
20803 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20804 ASM_PREFIX
20805
8e57a6ca
RM
208062010-09-26 Robert Millan <rmh@gnu.org>
20807
20808 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20809
20810 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20811 the pool is an array of devices, iterate through it and return the
20812 first device that passes a stat() test (instead of blindly returning
20813 the first one).
20814
f9130836
RM
208152010-09-26 Robert Millan <rmh@gnu.org>
20816
20817 Build fixes for GNU/kFreeBSD.
20818
20819 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20820 to programs that require ZFS conversion.
20821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20822 kernels that don't have FLOPPY_MAJOR.
20823
96510faf
BC
208242010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20825
20826 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20827
449333eb
BC
208282010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20829
20830 Fix grub-emu build.
20831
20832 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20833 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20834 mdraid09 and mdraid1x.
20835
e1fd1939
CW
208362010-09-24 Colin Watson <cjwatson@ubuntu.com>
20837
20838 Re-enable grub-extras.
20839
20840 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20841 avoid confusing Automake. Run autogen only twice, once for the top
20842 level and once for grub-core. Add Makefile.util.def and
20843 Makefile.core.def from extra modules to the appropriate autogen
20844 invocations. If Makefile.common exists in an extra module, include
20845 it in both Makefile.util.am and grub-core/Makefile.core.am;
20846 similarly, include any Makefile.util.common file in Makefile.util.am
20847 and any Makefile.core.common file in grub-core/Makefile.core.am.
20848 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20849 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20850 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20851 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20852
20853 * gentpl.py (gvar_add): Turn GVARS into a set.
20854 (global_variable_initializers): Sort global variables on output.
20855 (vars_init): New function.
20856 (first_time): Likewise.
20857 (library): Ensure that non-global variable initialisations are
20858 emitted before the first time we emit code for a library block.
20859 Append to variables rather than setting them. Only emit
20860 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20861 each conditional path.
20862 (program): installdir() emits an Autogen macro, so must be passed to
20863 var_add rather than gvar_add.
20864 (data): Likewise.
20865 (script): Likewise.
20866 (rules): New function, centralising handling for different target
20867 types. Set up Guile association lists for first_time and vars_init,
20868 and send most output to a diversion so that variable initialisations
20869 can be emitted first.
20870 (module_rules): Use new rules function.
20871 (kernel_rules): Likewise.
20872 (image_rules): Likewise.
20873 (library_rules): Likewise.
20874 (program_rules): Likewise.
20875 (script_rules): Likewise.
20876 (data_rules): Likewise.
20877
20878 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20879
20880 * .bzrignore: Add contrib and grub-core/contrib. Remove
20881 grub-core/Makefile.gcry.am.
20882
1d12cf29
YB
208832010-09-24 Yves Blusseau <blusseau@zetam.org>
20884
20885 * grub-core/lib/LzFind.c: Add missing include.
20886 * grub-core/lib/LzmaEnc.c: Likewise.
20887 * grub-core/script/lexer.c: Likewise.
20888 * grub-core/script/yylex.l: Likewise.
20889 * util/grub-macho2img.c: Likewise.
20890 * util/grub-menulst2cfg.c: Likewise.
20891 * util/grub-mklayout.c: Likewise.
20892 * util/grub-mkpasswd-pbkdf2.c
20893 * util/grub-mkrelpath.c: Likewise.
20894 * util/resolve.c: Likewise.
20895
dd363028
BC
208962010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20897
20898 * Makefile.util.def (example_unit_test): Add
20899 grub-core/gnulib/libgnu.a.
20900
f5a109e2
GS
209012010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20902
20903 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20904
6d0fa83c
VS
209052010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20906
20907 Support xz compression on yeeloong.
20908
20909 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20910 * configure.ac: Check for LZMA.
20911 * grub-core/Makefile.core.def (xz_decompress): New target.
20912 (none_decompress): Likewise.
20913 * grub-core/boot/decompressor/minilib.c: New file.
20914 * grub-core/boot/decompressor/none.c: Likewise.
20915 * grub-core/boot/decompressor/xz.c: Likewise.
20916 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20917 * grub-core/kern/mips/cache_flush.S: Likewise.
20918 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20919 * grub-core/kern/mips/startup.S: Move first stage to ...
20920 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20921 nomacro.
20922 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20923 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20924 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20925 Allocate statically.
20926 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20927 Allocate statically or use scratch. Don't check CRC32.
20928 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20929 Allocate statically. Don't check CRC32.
20930 * include/grub/decompressor.h: New file.
20931 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20932 Removed.
20933 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20934 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20935 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20936 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20937 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20938 * util/grub-mkimage.c (grub_compression_t): New type.
20939 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20940 (image_target_desc): New field default_compression.
20941 (image_targets): Adjust yeeloong targets.
20942 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20943 (compress_kernel): New parameter comp.
20944 (generate_image): Likewise. Handle new compression case.
20945 (options): New option --compression
20946 (help): Likewise.
20947 (main): Handle new option.
20948
1b655af6
GS
209492010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20950
20951 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20952
8f03f0b5
CW
209532010-09-22 Colin Watson <cjwatson@ubuntu.com>
20954
20955 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20956 typo in __i386__ conditional.
20957
7835dfd3
VS
209582010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20959
20960 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20961 include.
20962
e255597e
VS
209632010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20964
6d0fa83c 20965 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20966
20967 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20968 new tags as supported.
20969 (acpiv2_size): New function.
20970 (grub_multiboot_get_mbi_size): Take new tags into account.
20971 (grub_multiboot_make_mbi): Add new tags.
20972 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20973
6cc14051 209742010-09-21 Aleš Nesrsta <starous@volny.cz>
20975
20976 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20977 Added missing configuration of USB device.
20978
df7769d8
CW
209792010-09-21 Colin Watson <cjwatson@ubuntu.com>
20980
20981 * grub-core/normal/menu_entry.c (run): Make sure we always return
20982 a value.
20983
b031012d
CW
209842010-09-21 Colin Watson <cjwatson@ubuntu.com>
20985
20986 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20987 NumberOfPages is UINT64 according to the UEFI specification, not
20988 UINTN. Fix printf format.
20989
174de8f3
CW
209902010-09-21 Colin Watson <cjwatson@ubuntu.com>
20991
20992 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20993 `err' to grub_usb_err_t.
20994 Reported and tested by: KESHAV P.R.
20995
d7dbe923
CW
209962010-09-21 Colin Watson <cjwatson@ubuntu.com>
20997
20998 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20999 tpart non-const, so that we can assign to it. (Since this is a
21000 typedef, the constness refers to the pointer rather than what it
21001 points to.)
21002
8d5e2af3
CW
210032010-09-21 Colin Watson <cjwatson@ubuntu.com>
21004
21005 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21006 $(top_srcdir)/grub-core/gnulib as well as
21007 $(top_builddir)/grub-core/gnulib.
21008 Reported by: KESHAV P.R.
21009
5c527783
CW
210102010-09-21 Colin Watson <cjwatson@ubuntu.com>
21011
21012 * util/grub-install.in: Fix the bootloader ID option to be
21013 consistently --bootloader-id, not --bootloader_id.
21014 Reported by: KESHAV P.R.
21015
d309a16e
CW
210162010-09-21 Colin Watson <cjwatson@ubuntu.com>
21017
21018 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21019 check hash checksum." consistently translatable.
21020
b830cd16
YB
210212010-09-21 Yves Blusseau <blusseau@zetam.org>
21022
21023 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21024 $(top_builddir).
21025
c4fe27a8
CW
210262010-09-21 Colin Watson <cjwatson@ubuntu.com>
21027
21028 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21029 (GRUB_MOD_INIT): Register sha1sum command.
21030 (GRUB_MOD_FINI): Unregister sha1sum command.
21031
a4c1d277
YB
210322010-09-21 Yves Blusseau <blusseau@zetam.org>
21033
21034 Keep boot and grub directory names in sync with utils scripts
21035
21036 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21037 * config.h.in: Add previous macros.
21038 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21039 * util/grub-install.in: Use $bootdir and $grubdir variables.
21040
4eff79d2
CW
210412010-09-21 Colin Watson <cjwatson@ubuntu.com>
21042
21043 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21044 convert partition names to disk names if the new `convert' parameter
21045 is set.
21046 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21047 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21048 disk in its own right. This can happen with Xen disk images.
21049
934d7e44
YB
210502010-09-21 Yves Blusseau <blusseau@zetam.org>
21051
21052 * util/grub-editenv.c: Update strings to avoid warnings when generating
21053 grub.pot file.
21054 * util/grub-setup.c: Likewise.
934d7e44 21055
df3367cc
VS
210562010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * configure.ac: Change version to 1.99~beta0.
21059
77a94e98
VS
210602010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21063 Add BADRAM.
21064 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21065 Likewise.
21066 * include/multiboot.h: Resynced with specification.
21067 * include/multiboot2.h: Likewise.
21068
269004c1
CW
210692010-09-21 Colin Watson <cjwatson@ubuntu.com>
21070
21071 Fix po directory handling.
21072
21073 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21074 * grub-core/gnulib/Makefile.am: Import gettext module.
21075 * m4/gnulib-cache.m4: Likewise.
21076 * m4/gnulib-comp.m4: Likewise.
21077 * m4/gettext.m4: New file, from gnulib.
21078 * m4/glibc2.m4: Likewise.
21079 * m4/iconv.m4: Likewise.
21080 * m4/intdiv0.m4: Likewise.
21081 * m4/intl.m4: Likewise.
21082 * m4/intldir.m4: Likewise.
21083 * m4/intlmacosx.m4: Likewise.
21084 * m4/intmax.m4: Likewise.
21085 * m4/inttypes-pri.m4: Likewise.
21086 * m4/lcmessage.m4: Likewise.
21087 * m4/lib-ld.m4: Likewise.
21088 * m4/lib-link.m4: Likewise.
21089 * m4/lib-prefix.m4: Likewise.
21090 * m4/lock.m4: Likewise.
21091 * m4/nls.m4: Likewise.
21092 * m4/po.m4: Likewise.
21093 * m4/printf-posix.m4: Likewise.
21094 * m4/progtest.m4: Likewise.
21095 * m4/threadlib.m4: Likewise.
21096 * m4/uintmax_t.m4: Likewise.
21097 * m4/visibility.m4: Likewise.
21098 * po/Makefile.am: Remove.
21099 * po/Makefile.in.in: New file, from gettext.
21100 ($(DOMAIN).pot-update): Support POTFILES-shell.
21101 * po/Makevars: New file.
21102 * po/POTFILES-shell: Rename to ...
21103 * po/POTFILES-shell.in: ... this. Update.
21104 * po/POTFILES: Rename to ...
21105 * po/POTFILES.in: ... this. Update.
21106 * po/Rules-quot: New file, from gettext.
21107 * po/boldquot.sed: Likewise.
21108 * po/en@boldquot.header: Likewise.
21109 * po/en@quot.header: Likewise.
21110 * po/insert-header.sin: Likewise.
21111 * po/quot.sed: Likewise.
21112 * po/remove-potcdate.sin: Likewise.
21113
3e0fa5d0
VS
211142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21115
21116 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21117
ade9bd66
VS
211182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * util/grub.d/20_linux_xen.in: Use submenus.
21121
fc55cc4c
VS
211222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 Support submenus.
21125
21126 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21127 parameter submenu. All users updated.
21128 * grub-core/normal/main.c (free_menu): Rename to ...
21129 (grub_normal_free_menu): ... this. Made global.
21130 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21131 if requested.
21132 * grub-core/normal/menu_entry.c (screen): New field submenu.
21133 (make_screen): Set submenu.
21134 (run): Open new context if requested.
21135 * include/grub/menu.h (grub_menu_entry): New field submenu.
21136 * include/grub/normal.h (grub_normal_free_menu): New proto.
21137
600cedf7
VS
211382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 Menu entries extractor.
21141
21142 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21143 variants.
21144 (GRUB_MOD_INIT): Register new variants.
21145 (GRUB_MOD_FINI): Unregister new variants.
21146 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21147 into grub_cmd_legacy_source.
21148 (grub_cmd_legacy_source): Implement extractor variants.
21149 (GRUB_MOD_INIT): Register new variants.
21150 (GRUB_MOD_FINI): Unregister new variants.
21151 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21152 as an extractor.
21153 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21154 search as an extractor.
21155 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21156 test as an extractor.
21157 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21158 as an extractor.
21159 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21160 (grub_env_new_context): New function.
21161 (grub_env_context_open): Likewise.
21162 (grub_env_extractor_open): Likewise.
21163 (grub_env_extractor_close): Likewise.
21164 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21165 grub_extractor_level.
21166 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21167 * include/grub/env.h (grub_env_extractor_open): New proto.
21168 (grub_env_extractor_close): Likewise.
21169 * include/grub/normal.h (grub_extractor_level): New external variable.
21170
7bda3a87
VS
211712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21172
21173 Make cutmem accept a region specification.
21174 Suggested by: Samuel Thibault
21175
21176 * grub-core/mmap/mmap.c (parsemem): New function.
21177 (grub_cmd_cutmem): Handle new arguments.
21178
2ea57f88
VS
211792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 New command cutmem.
21182
21183 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21184 (GRUB_MOD_INIT): Register new command.
21185 (GRUB_MOD_FINI): Unregister new command.
21186
74342e31
VS
211872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 Support some annoying BSD and Minix subpartitions.
21190
21191 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21192 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21193 Properly handle concatenation.
21194 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21195 * grub-core/normal/completion.c (iterate_partition): Likewise.
21196 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21197 contain partition. All users updated.
21198 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21199 struct.
21200 (grub_openbsdlabel_partition_map): Likewise.
21201 (bsdlabel_partition_map_iterate): Rename to ..
21202 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21203 (bsdlabel_partition_map_iterate): New function.
21204 (netopenbsdlabel_partition_map_iterate): Likewise.
21205 (netbsdlabel_partition_map_iterate): Likewise.
21206 (openbsdlabel_partition_map_iterate): Likewise.
21207 (GRUB_MOD_INIT): Register new partmaps.
21208 (GRUB_MOD_FINI): Unregister new partmaps.
21209 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21210 (grub_partition_msdos_iterate): ... this. All users updated.
21211 Don't support embedding other than in a minix partition.
21212 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21213 proto.
21214 * include/grub/partition.h (grub_partition): New field msdostype.
21215 * util/grub-install.in: Handle openbsd and netbsd types being in
21216 part_bsd module.
21217
1e8d555b
VS
212182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21221
21222 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21223 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21224 (mdraid09): ... this.
21225 (mdraid1x): New module.
21226 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21227 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21228
899d8af4
VS
212292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21232 vsprintf.
21233
40901acd
CW
212342010-09-20 Colin Watson <cjwatson@ubuntu.com>
21235
21236 * grub-core/commands/efi/lsefimmap.c: Correct header.
21237 * NEWS: Update.
21238
dfe3b247
CW
212392010-09-20 Colin Watson <cjwatson@ubuntu.com>
21240
21241 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21242 as printf format strings; the translations might contain '%' which
21243 could cause a crash.
21244 (main): Likewise.
21245 * util/grub-fstest.c (argp_parser): Likewise.
21246 * util/grub-setup.c (argp_parser): Likewise.
21247 (main): Likewise.
21248
3286a4b4
VS
212492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21250
21251 Use argp in grub-fstest.
21252
21253 * util/grub-fstest.c: Don't include getopt.h.
21254 Include argp.h.
21255 (root): New variable.
21256 (args_count): Likewise.
21257 (nparm): Likewise.
21258 (num_disks): Likewise.
21259 (images): Likewise.
21260 (cmd): Likewise.
21261 (debug_str): Likewise.
21262 (args): Likewise.
21263 (options): Transformed to argp.
21264 (usage): Removed.
21265 (main): Split argument parsing into ...
21266 (argp_parser): ... this. Changed to argp format.
21267 (argp): New variable.
21268 (main): Use argp_parse.
21269
3dccbe4b
TG
212702010-09-20 Tristan Gingold <gingold@free.fr>
212712010-09-20 Robert Millan <rmh.grub@aybabtu.com>
212722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21273
21274 * grub-core/commands/efi/lsefimmap.c: New file.
21275 * grub-core/Makefile.core.def (lsefimmap): New module.
21276 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21277
38c259a7
VS
212782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 Pause the execution (10s max) if any errors are displayed so the user
21281 has a chance to see them.
21282
21283 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21284 (grub_print_error): Increment grub_err_printed_errors.
21285 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21286 execution if any errors were displayed.
21287 (show_menu): Remove old code for pause.
21288 * grub-core/normal/menu_entry.c (run): Likewise.
21289 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21290 users updated.
21291 (grub_normal_get_char_counter): Likewise.
21292 * include/grub/err.h (grub_err_printed_errors): New external variable.
21293 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21294
f218b09c
VS
212952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 Support multiboot VBE info.
21298
21299 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21300 Take VBE info into account.
21301 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21302 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21303 Call fill_vbe_info when appropriate.
21304 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21305 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21306 as supported.
21307 (grub_multiboot_get_mbi_size): Take new tags into account.
21308 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21309 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21310 Call fill_vbe_tag when appropriate.
21311 (grub_multiboot_make_mbi): Properly align tags.
21312 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21313 function.
21314 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21315 proto.
21316 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21317
a9cc5438
VS
213182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21319
21320 Suport manual terminal geometry specification.
21321
21322 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21323 Save state in grub_ofconsole_terminfo_output.
21324 (grub_ofconsole_term): Use grub_terminfo_getwh.
21325 (grub_ofconsole_getwh): Removed.
21326 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21327 (grub_serial_term): Use grub_terminfo_getwh.
21328 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21329 (options): New struct.
21330 (OPTION_*): New enum.
21331 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21332 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21333 width and height.
21334 (grub_terminfo_getwh): New proto.
21335 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21336
1a8fed20
VS
213372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21338
21339 Handle legacy "terminal" command.
21340
21341 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21342 and FLAG_TERMINAL.
21343 (legacy_commands): Add terminal and title.
21344 (grub_legacy_parse): Handle terminal. Simplify title handling.
21345
41e9c57d
VS
213462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21347
21348 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21349 parameters overflow.
21350
61c874c5
CW
213512010-09-20 Colin Watson <cjwatson@ubuntu.com>
21352
21353 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21354 widthspec.h.
21355
21356 * docs/grub.texi (Shell-like scripting): Document `!'.
21357 (Network): Simplify using new i386-pc-pxe format. Mention
21358 grub-mknetdir.
21359
21360 * NEWS: Update.
21361
943682b4
CW
213622010-09-20 Colin Watson <cjwatson@ubuntu.com>
21363
21364 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21365 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21366 when needed.
21367
6d3d698d
CW
213682010-09-20 Colin Watson <cjwatson@ubuntu.com>
21369
21370 * grub-core/commands/efi/lsefisystab.c: Correct header.
21371 * grub-core/commands/efi/lssal.c: Likewise.
21372 * grub-core/commands/testload.c: Likewise.
21373
c982589f
CW
213742010-09-20 Colin Watson <cjwatson@ubuntu.com>
21375
21376 * util/grub-mkrescue.in: Add explicit root argument to --set to
21377 prevent the UUID being interpreted as an argument to --set (matches
21378 previous change to prepare_grub_to_access_device).
21379
a63c31b6
CW
213802010-09-20 Colin Watson <cjwatson@ubuntu.com>
21381
21382 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21383 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21384 the verbosity of later #ifs.
21385 (find_partition_start): Define this function on FreeBSD too.
21386 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21387 function.
21388 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21389 on FreeBSD.
21390
6439b8ee
YB
213912010-09-20 Yves Blusseau <blusseau@zetam.org>
21392
21393 * util/grub-editenv.c: Use argp instead of getopt.
21394
c5930ec8
YB
213952010-09-20 Yves Blusseau <blusseau@zetam.org>
21396
21397 * util/grub-setup.c: Use argp instead of getopt.
21398
15c69261
YB
213992010-09-20 Yves Blusseau <blusseau@zetam.org>
21400
21401 Use gnulib-tool to create gnulib source files.
21402
21403 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21404 grub-core/gnulib directories
21405 * .bzignore: Add **/.deps and autogenerated gnulib files
21406 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21407 of gnulib macros, add grub-core/gnulib/Makefile
21408 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21409 include m4 directory to aclocal.
21410 * Makefile.util.def: Remove direct compilation of gnulib source files
21411 and use the new grub-core/gnulib/libgnu.a.
21412 * build-aux/config.rpath: move config.rpath from top directory to
21413 build-aux
21414 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21415 in gnulib headers
21416 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21417 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21418 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21419 header.
21420 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21421 string.
21422
e511c9f5
YB
214232010-09-20 Yves Blusseau <blusseau@zetam.org>
21424
21425 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21426 grub-core/genmod.sh and grub-core/gensyminfo.sh
21427
c2dede05
BC
214282010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21429
21430 Add a test for echo command options.
21431
21432 * tests/grub_cmd_echo.in: New test.
21433 * Makefile.util.def: Rules for new test.
21434
c55f5018
SJ
214352010-09-20 Szymon Janc <szymon@janc.net.pl>
21436
21437 Remove crc.mod and move crc command to hashsum.mod.
21438 Remove lib/crc.c - users updated to use gcrypt implementation.
21439
21440 * grub-core/commands/crc.c: Removed.
21441 * grub-core/Makefile.core.def (crc): Module removed.
21442 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21443 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21444 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21445 * grub-core/lib/crc.c: Removed.
21446 * include/grub/lib/crc.h: Removed.
21447 * Makefile.util.def (crc): Remove lib/crc.c
21448 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21449 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21450 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21451 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21452 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21453 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21454
e0337366
VS
214552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21456
21457 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21458
742f9232
VS
214592010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 Split config.h for util and core.
21462
21463 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21464 (ADDR32): Likewise.
21465 (DATA32): Likewise.
21466 (BSS_START_SYMBOL): Likewise.
21467 (END_SYMBOL): Likewise.
21468 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21469 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21470 * config.h.in: New file.
21471 * configure.ac: Use config-util.h as config define file.
21472 Rename MACHINE into GRUB_MACHINE. All users updated.
21473 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21474 updated.
21475 (NESTED_FUNC_ATTR): Likewise.
21476 Substitue new variables.
21477 (COND_HAVE_ASM_USCORE): New conditional.
21478 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21479 (kernel_syms.lst): Use ASM_PREFIX.
21480 * grub-core/kern/emu/console.c: Include config-util.h.
21481 * grub-core/kern/emu/misc.c: Likewise.
21482 * grub-core/kern/emu/mm.c: Likewise.
21483 * include/grub/emu/misc.h: Likewise.
21484 * include/grub/libgcc.h: Likewise.
21485
39feb0e8
VS
214862010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21489 constants usage.
21490 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21491 Fix GRUB_TERM_KEY_* constants usage.
21492 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21493
9af6dac3
VS
214942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21497 print pointer.
21498 * grub-core/bus/usb/uhci.c: Remove empty define.
21499 (grub_uhci_check_transfer): Add missing cast.
21500 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21501 print pointer.
21502 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21503 PRIuGRUB_SIZE.
21504 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21505
d6d94820
VS
215062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21507
21508 * grub-core/Makefile.core.def (legacycfg): Add
21509 lib/i386/pc/vesa_modes_table.c on emu.
21510
3572f2b6
BC
215112010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21512
21513 Reduce number of temporary files generated by build system.
21514
21515 * grub-core/gencmdlist.sh: Removed.
21516 * grub-core/genfslist.sh: Removed.
21517 * grub-core/genhandlerlist.sh: Removed.
21518 * grub-core/genmodsrc.sh: Removed.
21519 * grub-core/genpartmaplist.sh: Removed.
21520 * grub-core/genparttoollist.sh: Removed.
21521 * grub-core/gentermiinallist.sh: Removed.
21522 * grub-core/genvideolist.sh: Removed.
21523
21524 * grub-core/genmod.sh.in: New file.
21525 * grub-core/gensyminfo.sh.in: New file.
21526
21527 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21528 * conf/Makefile.extra-dist: Update with new files.
21529 * gentpl.py: Remove rules related to unnecessary temporary files.
21530 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21531 and und-* files.
21532 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21533 genmod.sh scripts.
21534 * grub-core/bus/usb/uhci.c: Remove empty #define.
21535 * grub-core/genmoddep.awk: Updated with new syminfo format.
21536 * util/bash-completion.d/Makefile.am: Add config.log to
21537 CLEANFILES.
21538
c836b030
YB
215392010-09-19 Yves Blusseau <blusseau@zetam.org>
21540
21541 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21542
2f4e8053
BC
215432010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21544
21545 * util/grub-mkconfig.in: Check the config script for syntax errors
21546 before saving.
21547
75831c34
CW
215482010-09-19 Colin Watson <cjwatson@ubuntu.com>
215492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21552 platforms.
21553 * util/grub-install.in: Add EFI and IEEE1275 support.
21554 * util/i386/efi/grub-install.in: Removed.
21555 * util/ieee1275/grub-install.in: Likewise.
21556
eaf41b25
VS
215572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21560 (grub_cmd_cmosclean): Likewise.
21561 (GRUB_MOD_INIT): Register command cmosclean.
21562 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21563 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21564
1a9130dd
CPE
215652010-09-18 Carles Pina i Estany <carles@pina.cat>
215662010-09-18 Aleš Nesrsta <starous@volny.cz>
215672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 Add keyboard layouts support.
21570
21571 * Makefile.util.def (grub-mklayout): New file.
21572 (grub-kbdcomp): New script.
21573 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21574 Add keyboard_layouts.h.
21575 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21576 commands/boot.c on yeeloong.
21577 (keylayouts): New module.
21578 * grub-core/bus/usb/ohci.c
21579 * grub-core/bus/usb/uhci.c
21580 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21581 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21582 (attach_root_port): Likewise.
21583 (poll_nonroot_hub): Likewise.
21584 (grub_usb_poll_devices): Likewise.
21585 (detach_device): Close transfer.
21586 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21587 function.
21588 (grub_usb_bulk_setup_readwrite): Likewise.
21589 (grub_usb_bulk_finish_readwrite): Likewise.
21590 * grub-core/commands/keylayouts.c: New file.
21591 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21592 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21593 aliases.
21594 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21595 support scancode 2.
21596 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21597 * include/grub/keyboard_layouts.h: New file.
21598 * util/grub-mklayout.c: New file.
21599 * util/grub-kbdcomp.in: Likewise.
21600
a1d84a5e
VS
216012010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Unify memory types.
21604
21605 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21606 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21607 types.
21608 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21609 (grub_upper_mem): Likewise.
21610 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21611 * include/grub/memory.h (grub_memory_type_t): New enum.
21612 All users updated.
21613
9696382e
VS
216142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 * grub-core/Makefile.core.def (lsapm): New module.
21617 * grub-core/commands/i386/pc/lsapm.c: New file.
21618 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21619 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21620 Likewise.
21621 * include/grub/i386/pc/apm.h: New file.
21622 * include/multiboot.h (multiboot_apm_info): New struct.
21623
216242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21625
21626 GRUB-legacy configuration file support.
21627
21628 * Makefile.util.def (grub-menulst2cfg): New util.
21629 * docs/man/grub-menulst2cfg.h2m: New file.
21630 * grub-core/Makefile.core.def (legacycfg): New module.
21631 * grub-core/commands/legacycfg.c: New file.
21632 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21633 (grub_normal_add_menu_entry): ... this.
21634 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21635 (grub_normal_set_password): ...this.
21636 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21637 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21638 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21639 * grub-core/lib/legacy_parse.c: New file.
21640 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21641 * include/grub/i386/pc/vesa_modes_table.h: New file.
21642 * include/grub/legacy_parse.h: Likewise.
21643 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21644 * util/grub-menulst2cfg.c: New file.
21645
bf8d1338
CW
216462010-09-17 Colin Watson <cjwatson@ubuntu.com>
21647
21648 * grub-core/kern/emu/hostdisk.c
21649 (convert_system_partition_to_system_disk): Initialise node.
21650
9c0bad2e
CW
216512010-09-17 Colin Watson <cjwatson@ubuntu.com>
21652
21653 * grub-core/kern/emu/hostdisk.c
21654 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21655 leak.
21656 Reported and based on patch by: Modestas Vainius.
21657
a939d135
CW
216582010-09-17 Colin Watson <cjwatson@ubuntu.com>
21659
21660 Fix DM-RAID probing with recent versions of device-mapper udev
21661 rules.
21662
21663 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21664 canonicalise device paths under /dev/mapper/.
21665 (convert_system_partition_to_system_disk): Compare the
21666 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21667 path, since device nodes under /dev/mapper/ are often symlinks.
21668
0f7ee3c9
YB
216692010-09-17 Yves Blusseau <blusseau@zetam.org>
21670
21671 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21672
10854d0d
YB
216732010-09-16 Yves Blusseau <blusseau@zetam.org>
21674
21675 * configure.ac: Avoid some annoying error messages if freetype-config
21676 program is not found.
21677
108538d8
CW
216782010-09-16 Colin Watson <cjwatson@ubuntu.com>
21679
21680 Support RAID on virtio devices, and others.
21681
21682 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21683 Rename to ...
21684 [__MINGW32__] (grub_find_device): ... this.
21685 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21686 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21687 reasonable default if dir is NULL.
21688 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21689 ...
21690 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21691 (grub_guess_root_device): Update callers.
21692 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21693
21694 * util/raid.c (grub_util_getdiskname): Remove.
21695 (grub_util_raid_getmembers): Use grub_find_device rather than
21696 grub_util_getdiskname.
21697
e5bfc130
CW
216982010-09-16 Colin Watson <cjwatson@ubuntu.com>
21699
21700 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21701 needing to be compiled with serial support.
21702 (ls): Indicate that multiple files are accepted.
21703 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21704 indicate that multiple files are accepted.
21705
be458ae2
CW
217062010-09-16 Colin Watson <cjwatson@ubuntu.com>
21707
21708 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21709 libgrub_a_init.c, and util/bash-completion.d/grub.
21710
cb731b5e
VS
217112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21712
21713 * util/grub-setup.c (setup): Fix incorrect container semantics.
21714
35139e8a
VS
217152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21716
21717 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21718 misusage.
21719 Reported by: J. Nick Terry
21720
e50fca4a
VS
217212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21722
21723 Move embedding routines to partmap sources files.
21724
21725 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21726 [GRUB_UTIL]: New variable.
21727 (gpt_partition_map_iterate): Set part.parent.
21728 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21729 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21730 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21731 New function.
21732 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21733 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21734 (grub_partition_map) [GRUB_UTIL]: New field embed.
21735 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21736 (setup): Use ->embed.
21737
f00478b7
VS
217382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21741 function.
21742 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21743 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21744
2b94e3ff
YB
217452010-09-15 Yves Blusseau <blusseau@zetam.org>
21746
21747 Add function to get completions from usage.
21748
21749 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21750 completions from usage. Use LC_ALL=C to get options properly.
21751
2e04a006
VS
217522010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * grub-core/gnulib/basename-lgpl.c: Imported.
21755 * grub-core/gnulib/basename.c: Likewise.
21756 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21757 * grub-core/gnulib/dirname.c: Likewise.
21758 * grub-core/gnulib/dirname.h: Likewise.
21759 * grub-core/gnulib/stripslash.c: Likewise.
21760
5dcdf93a
VS
217612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 * grub-core/gnulib/error.c: Resynced.
21764 * grub-core/gnulib/getopt.c: Likewise.
21765 * grub-core/gnulib/getopt_int.h: Likewise.
21766 * grub-core/gnulib/regex.h: Likewise.
21767 * grub-core/gnulib/regex_internal.c: Likewise.
21768 * grub-core/gnulib/regex_internal.h: Likewise.
21769
014f47b7
SJ
217702010-09-15 Szymon Janc <szymon@janc.net.pl>
21771
21772 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21773 CRC calculations and validity checks.
21774 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21775 calculations.
21776
dd521a4a
SJ
217772010-09-15 Szymon Janc <szymon@janc.net.pl>
21778
21779 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21780
79c4eeb9
VS
217812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21782
21783 Fix incorrect echo options handling.
21784 Reported by: Yves Blusseau.
21785
21786 * include/grub/command.h (grub_command_flags_t): New flags
21787 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21788 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21789 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21790
ed80f7d5
VS
217912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21792
21793 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21794 users updated.
21795 (GRUB_COMMAND_FLAG_MENU): Likewise.
21796 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21797 (GRUB_COMMAND_FLAG_TITLE): Removed.
21798 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21799 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21800 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21801 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21802 (grub_command_flags_t): New enum. All users updated.
21803
5fe7620a
SG
218042010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21805
21806 Fix solaris compilation.
21807
21808 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21809 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21810 (grub-emu-list): Likewise.
21811
545b752f
VS
218122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 Remove deprecated root command.
21815
21816 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21817 updated.
21818
6c1a338c
VS
218192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 * util/i386/pc/grub-setup.c: Merge this ...
21822 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21823 * util/grub-setup.c: ... into this.
21824 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21825 New struct.
21826
218272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21828
21829 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21830 possible.
21831
d2ea4551
VS
218322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21833
21834 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21835 allocate p.
21836
3c3b5040
VS
218372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21840 explicit root argument to set to prevent UUID to be interpreted as
21841 argument to set.
21842
b71c3fae
VS
218432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21846
275433e6
VS
218472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21848
21849 Don't export grub_gate_a20.
21850
21851 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21852 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21853 to ...
21854 (grub_gate_a20): ... this. All users updated.
21855 * include/grub/i386/pc/init.h: Removed. All users updated.
21856
a5dbb1f1
VS
218572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 Create euro.pf2 which supports most European languages.
21860
21861 * Makefile.am (grubdata_DATA): Add euro.pf2.
21862 (euro.pf2): New target.
21863 (CLEANFILES): Add euro.pf2.
21864
62a747cb
VS
218652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 * configure.ac: Disable emu-usb by default to prevent inadvertent
21868 device takeover.
21869
608e43b1
VS
218702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21871
21872 Disable usbserial on grub-emu since our libusb code isn't good enough
21873 yet.
21874
21875 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21876 (usbserial_pl2303): Likewise.
21877 (usbserial_ftdi): Likewise.
21878
94564f81
VS
218792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 * include/grub/disk.h (grub_disk): Remove has_partitions.
21882 All users updated.
21883 * disk/loopback.c (grub_loopback): Remove has_partitions.
21884 All users updated.
21885 (options): Remove partitions. All users updated.
21886 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21887 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21888 actual partition table is found.
21889
3352800b
VS
218902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21891
21892 Remove readability checks (too many false negatives).
21893
21894 * util/grub-install.in: Remove readability checks.
21895 * util/grub-mkconfig.in: Likewise.
21896 * util/grub.d/10_hurd.in: Likewise.
21897 * util/grub.d/10_kfreebsd.in: Likewise.
21898 * util/grub.d/10_linux.in: Likewise.
21899 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21900 way.
21901
2419f17a
VS
219022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 Enable acpi shutdown on all ACPI platforms.
21905
21906 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21907 on coreboo, multiboot and EFI.
21908 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21909 (grub_acpi_halt): Likewise.
21910 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21911 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21912 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21913 * grub-core/lib/i386/halt.c (grub_halt)
21914 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21915
0575c7c3
VS
219162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21919 context.
21920
54ac3cd1
VS
219212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21922
21923 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21924 * grub-core/video/efi_uga.c: Likewise.
21925
b2a30ac5
VS
219262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 Filter devaliases and never open same device twice.
21929
21930 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21931 (last_ihandle): Likewise.
21932 (ofdisk_hash_ent): New member shortest.
21933 (ofdisk_hash_add): Add canonical path too.
21934 (scan): New function.
21935 (grub_ofdisk_iterate): Iterate over hashed entries.
21936 (compute_dev_path): Don't add :0.
21937 (grub_ofdisk_open): Don't really open the disk.
21938 (grub_ofdisk_close): Avoid closing unrelated disk.
21939 (grub_ofdisk_read): Implement reopen logic.
21940 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21941 New function.
21942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21943 New proto.
21944
fb53b340
VS
219452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 Fix sparc64.
21948
21949 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21950 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21951 right address. Add sparc64_ieee1275_ldflags.
21952 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21953 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21954 to grub_host_to_target_addr
21955 (load_image): Likewise.
21956
f452b040
VS
219572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 * grub-core/normal/completion.c (complete_file): Handle device
21960 containing slash.
21961 Fix based on patch by Doug Nazar.
21962
9b5b2541
VS
219632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21964
21965 grub-mknetdir script.
21966
21967 * Makefile.util.def (grub-mknetdir): New module.
21968 * tests/util/grub-shell.in: Support boot=net
21969 * util/grub-mknetdir.in: New file.
21970
9d2be652
VS
219712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21972
21973 videoinfo on non-vbe.
21974
21975 * grub-core/Makefile.core.def (vbeinfo): Removed.
21976 (vbetest): Removed.
21977 (videoinfo): New module.
21978 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21979 * grub-core/commands/i386/pc/vbetest.c: Removed.
21980 * grub-core/commands/videoinfo.c: New file.
21981 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21982 specification.
21983 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21984 as vbetest.
21985 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21986 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21987 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21988 mode_number. New parameter mode. All users updated.
21989 (grub_video_gop_iterate): New function.
21990 (grub_video_efi_gop): New member iterate.
21991 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21992 (grub_vbe_set_video_mode): Remove setting useless fields.
21993 (vbe2videoinfo): New function.
21994 (grub_video_vbe_iterate): Likewise.
21995 (grub_video_vbe_setup): Use vbe2videoinfo.
21996 (grub_video_vbe_print_adapter_specific_info): New function.
21997 (grub_video_vbe_adapter): New fields iterate and
21998 print_adapter_specific_info.
21999 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22000 All users updated.
22001 (grub_video_mode_info): New field mode_number.
22002 (grub_video_adapter): New fields iterate and
22003 print_adapter_specific_info.
22004
179503f5
TG
220052010-09-13 Tristan Gingold <gingold@free.fr>
220062010-09-13 Robert Millan <rmh.grub@aybabtu.com>
220072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 * grub-core/commands/efi/lsefisystab.c: New file.
22010 * grub-core/commands/efi/lssal.c: Likewise.
22011 * grub-core/Makefile.core.def (lsacpi): New module.
22012 (lsefisystab): Likewise.
22013 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22014 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22015 (grub_efi_sal_system_table): New struct.
22016 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22017 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22018 (grub_efi_sal_system_table_platform_features): Likewise.
22019 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22020 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22021 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22022 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22023
cf9827de
VS
220242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 Support explicit user claim that a device is BIOS-visible.
22027
22028 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22029 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22030 * grub-core/kern/emu/hostdisk.c
22031 (convert_system_partition_to_system_disk): Support mdX.
22032 (find_system_device): New parameter add. All users updated.
22033 (grub_util_biosdisk_is_present): New function.
22034 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22035 proto.
22036
53f0eb1f
VS
220372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 Search hints support.
22040
22041 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22042 All users updated.
22043
b23ffd70
YB
220442010-09-13 Yves Blusseau <blusseau@zetam.org>
22045
22046 Bash completion script for util commands
22047
22048 * Makefile.am: Add util/bash-completion.d directory
22049 * configure.ac: Likewise.
22050 * util/bash-completion.d/Makefile.am: New file.
22051 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22052
d547dc28
VS
220532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22054
22055 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22056 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22057 Reported by: Yves Blusseau.
22058
2fc8ccb9
VS
220592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22062 partition size and offset.
22063
d8a84076
VS
220642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22065
22066 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22067
84fb3b3d
VS
220682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22071
768ec2e2
VS
220722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22075 (grub_xvasprintf): Likewise.
22076
4870900f
VS
220772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22080
faca6bec
VS
220812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22082
22083 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22084 args ending with NULL.
22085
220862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22087
22088 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22089 pointer.
22090
3c70f225
SJ
220912010-09-11 Szymon Janc <szymon@janc.net.pl>
22092
22093 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22094
4df7996d
VS
220952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 Shutdown using ACPI.
22098
22099 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22100 * grub-core/commands/acpihalt.c: New file.
22101 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22102 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22103 (grub_acpi_halt): New proto.
22104 (GRUB_ACPI_SLP_EN): New const.
22105 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22106 (GRUB_ACPI_OPCODE_*): New enum.
22107 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22108
126b4c32
TG
221092010-09-11 Tristan Gingold <gingold@free.fr>
221102010-09-11 Robert Millan <rmh.grub@aybabtu.com>
221112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 * commands/lsacpi.c: New file.
22114 * grub-core/Makefile.core.def (lsacpi): New module.
22115 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22116 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22117 (grub_acpi_madt_entry_header): New struct.
22118 (grub_acpi_madt): Likewise.
22119 (grub_acpi_madt_entry_interrupt_override): Likewise.
22120 (grub_acpi_madt_entry_sapic): Likewise.
22121 (grub_acpi_madt_entry_lsapic): Likewise.
22122 (grub_acpi_madt_entry_platform_int_source): Likewise.
22123 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22124 (PRIuGRUB_UINT32_T): Likewise.
22125 (PRIxGRUB_UINT64_T): Likewise.
22126
1aa4fe88
VS
221272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 Implement loading palette on ieee1275_fb.
22130
22131 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22132 (have_setcolors): Likewise.
22133 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22134 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22135 (grub_video_ieee1275_set_palette): Implement.
22136
25761e13
VS
221372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
221382010-09-11 Colin Watson <cjwatson@ubuntu.com>
22139
22140 * util/grub-install.in (grub_partition): New variable.
22141 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22142 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22143 Fixes a bug reported by Yves Blusseau.
22144
050abaea
VS
221452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 Fix emu on mipsel.
22148
22149 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22150 =grub_cpu_flush_cache on all mips and not only yeeloong.
22151 * configure.ac (COND_mips): New conditional.
22152 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22153 platforms.
22154 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22155 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22156 [GRUB_LINKER_HAVE_INIT]: New function.
22157 (grub_emu_post_init): Likewise.
22158 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22159 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22160 * include/grub/cache.h (_mips): Include mips/cache.h.
22161 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22162 LVM and RAID prototypes.
22163 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22164 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22165 function.
22166
5ed7d816
CW
221672010-09-10 Colin Watson <cjwatson@ubuntu.com>
22168
22169 * util/grub-install.in: Don't try to verify core.img until after
22170 running grub-mkimage to create it.
22171
90367e04
RM
221722010-09-10 Robert Millan <rmh@gnu.org>
22173
22174 * util/grub.d/10_hurd.in: Add misc readability checks.
22175 * util/grub.d/10_kfreebsd.in: Likewise.
22176 * util/grub.d/10_linux.in: Likewise.
22177
c452fa66
CW
221782010-09-10 Colin Watson <cjwatson@ubuntu.com>
22179
22180 * util/grub-install.in: ${imgext} won't be defined here until the
22181 install branch is merged. For the meantime, only verify core.img on
22182 i386-pc and sparc64-ieee1275 platforms.
22183
c38fe9f4
RM
221842010-09-10 Robert Millan <rmh@gnu.org>
22185
22186 Solaris support in grub_find_zpool_from_dir(). Thanks
22187 Seth Goldberg for referring to getextmntent() facility.
22188
22189 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22190 `sys/mkdev.h'.
22191 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22192 `<sys/mnttab.h>'.
22193 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22194 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22195 method for finding zpool name.
22196
905f7773
CW
221972010-09-10 Colin Watson <cjwatson@ubuntu.com>
22198
22199 grub-fstest needs the host and hostfs modules while other utilities
22200 actively require those modules to be absent, so grub-fstest needs
22201 its own initialisation and finalisation code.
22202
22203 * Makefile.am (grub_fstest.pp): New target.
22204 (grub_fstest_init.lst): Likewise.
22205 (grub_fstest_init.c): Likewise.
22206 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22207
fb90b546
RM
222082010-09-10 Robert Millan <rmh@gnu.org>
22209
22210 * configure.ac: Check for `struct statfs.f_fstypename' and
22211 `struct statfs.f_mntfromname'.
22212
22213 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22214 kFreeBSD-specific code.
22215
66d4bea5
RM
222162010-09-10 Robert Millan <rmh@gnu.org>
22217
22218 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22219 on ZFS. Now non-main filesystems are supported as / too.
22220
b6a690ee
CW
222212010-09-09 Colin Watson <cjwatson@ubuntu.com>
22222
22223 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22224 and grub-core/disk/host.c to ...
22225 (grub-fstest): ... here. Having the host disk implementation
22226 present confuses grub-probe and other utility programs.
22227
22228 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22229 when writing to a file, not when writing to stdout.
22230
8901b00c 222312010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22232
22233 * tests/partmap_test.in: New test for partitions.
22234 * Makefile.util.def: Rules for new test.
22235
7bf45fdd
RM
222362010-09-09 Robert Millan <rmh@gnu.org>
22237
22238 * util/grub-probe.c (probe): Fix a pair of unhandled error
22239 conditions.
22240
4dfbc574
RM
222412010-09-09 Robert Millan <rmh@gnu.org>
22242
22243 Basic Btrfs support (detection and UUID).
22244
22245 * grub-core/fs/btrfs.c: New file.
22246 * Makefile.util.def (library): Register btrfs.c.
22247 * grub-core/Makefile.core.def: Likewise.
22248
6b8e78ae
RM
222492010-09-08 Robert Millan <rmh@gnu.org>
22250
22251 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22252 with (optional) parameters to specify device and relative path.
22253 * util/grub-install.in: Use is_path_readable_by_grub() to
22254 verify readability of a few critical files.
22255 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22256 verify readability of grub.cfg.new.
22257
27f21a8b
VS
222582010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22259
22260 Split minix.mod into minix.mod and minix2.mod.
22261
22262 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22263 * grub-core/Makefile.core.def (minix2): New module.
22264 * grub-core/fs/minix.c: Use definitions instead of runtime version
22265 checking.
22266 * grub-core/fs/minix2.c: New file.
22267
c0e53ea5
YB
222682010-09-08 Yves Blusseau <blusseau@zetam.org>
22269
22270 Add new --boot-directory option to replace --root-directory
22271
22272 * util/grub-install.in: Add new --boot-directory option
22273 * util/grub-reboot.in: Likewise.
22274 * util/grub-set-default.in: Likewise.
22275
b9fe6ea2
YB
222762010-09-08 Yves Blusseau <blusseau@zetam.org>
22277
22278 * util/grub-mkconfig.in: Use new variable.
22279
d87aedff
YB
222802010-09-08 Yves Blusseau <blusseau@zetam.org>
22281
22282 * configure.ac: Define some useful variables.
22283
e55e8495
VS
222842010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22287 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22288 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22289 Use terminfo and don't use cursor-on/cursor-off unless it's known
22290 to work.
22291 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22292 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22293
6fa6d675
CW
222942010-09-08 Colin Watson <cjwatson@ubuntu.com>
22295
22296 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22297 starts with "(,", fill the drive containing the loaded image in
22298 between those two characters, but expect that a full partition
22299 specification including partition map names will follow.
22300
92f2aef0
RM
223012010-09-08 Robert Millan <rmh@gnu.org>
22302
22303 * configure.ac: Remove `--enable-grub-fstest' option.
22304 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22305
22306 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22307 `grub-fstest' instead of `grub-probe' for readability verification.
22308 * util/grub-probe.c (probe): Remove readability verification kludge.
22309
99fd620d
RM
223102010-09-08 Robert Millan <rmh@gnu.org>
22311
22312 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22313 initializing `GRUB_FS'.
22314
058e30ac 223152010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22316
22317 Not command (!) support to GRUB script.
22318
22319 * tests/grub_script_not.in: New test.
22320 * Makefile.util.def: Rules for new test.
22321
22322 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22323 ! command as a special case.
22324 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22325
b61d05ed 223262010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22327
058e30ac 22328 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22329 grub_free.
b61d05ed 22330
4d69c786 223312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22332
22333 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22334
aa3119c4 223352010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22336
22337 * docs/grub.texi (Shell-like scripting): Documentation for break,
22338 continue, shift and return commands.
22339
db0f7e3d
VS
223402010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22341
22342 Rename CD-ROM to cd on BIOS.
22343
22344 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22345 "cd".
22346 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22347
88b87c93
VS
223482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22349
22350 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22351 * util/grub-probe.c (main): Likewise.
22352 * util/i386/pc/grub-setup.c (main): Likewise.
22353 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22354 Reported and debugged by: alexxy
22355
294f324d
VS
223562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22359 diagnostic info.
22360
d7ee3441
JS
223612010-09-05 Jo Shields <directhex@apebox.org>
22362
22363 * util/grub.d/30_os-prober.in: Add missing classes.
22364
d7e06c1f
VS
223652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 * docs/grub.texi (Theme file format): Document new position format.
22368
fc157e53
VS
223692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22372 a table. Use @code instead of @verbatim.
22373
506e9a1c
CB
223742010-09-05 Colin D Bennett <colin@gibibit.com>
22375
22376 Gfxmenu documentation.
22377
22378 * docs/grub.texi (Theme file format): New chapter.
22379
f0aff67c
SJ
223802010-09-05 Szymon Janc <szymon@janc.net.pl>
22381
22382 * grub-core/Makefile.core.def (xzio): New module.
22383 * grub-core/io/xzio.c: New file.
22384 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22385 * grub-core/lib/xzembed/xz_config.h: Likewise.
22386 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22387 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22388 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22389 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22390 * grub-core/lib/xzembed/xz_private.h: Likewise.
22391 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22392 * include/grub/file.h (grub_file_filter_id): New compression filter
22393 GRUB_FILE_FILTER_XZIO.
22394
82a85062
VS
223952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22398 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22399 size.
22400
3579415d
VS
224012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22402
22403 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22404 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22405
5124ae6d
VS
224062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22407
22408 Uncompressed checksum support.
22409
22410 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22411 (check_list): New parameter uncompress.
22412 (grub_cmd_hashsum): Handle --uncompress.
22413
9aadb3d1
VS
224142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22415
22416 Reintroduce testload.
22417
22418 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22419 from here ...
22420 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22421 (GRUB_MOD_INIT): New function.
22422 (GRUB_MOD_FINI): Likewise.
22423 * grub-core/Makefile.core.def (testload): New module.
22424
a17792c3
SJ
224252010-09-05 Szymon Janc <szymon@janc.net.pl>
22426
22427 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22428 (uint8_t): New type.
22429 (uint16_t): Likewise.
22430 (uint32_t): Likewise.
22431 (uint64_t): Likewise.
22432
b81e40a3
SJ
224332010-09-05 Szymon Janc <szymon@janc.net.pl>
22434
22435 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22436
fc2ef117
VS
224372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22438
22439 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22440 Made static.
22441 (grub_gzfile_open): Removed. All users updated.
22442 (GRUB_MOD_INIT): New function.
22443 (GRUB_MOD_FINI): Likewise.
22444 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22445 (grub_file_filters_enabled): Likewise.
22446 (grub_file_open): Handle filters.
22447 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22448 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22449 * include/grub/file.h (grub_file_filter_id_t): New type.
22450 (grub_file_filter_t): Likewise.
22451 (grub_file_filters_all): New extern variable.
22452 (grub_file_filters_enabled): Likewise.
22453 (grub_file_filter_register): New inline function.
22454 (grub_file_filter_unregister): Likewise.
22455 (grub_file_filter_disable): Likewise.
22456 (grub_file_filter_disable_compression): Likewise.
22457 * include/grub/gzio.h: Removed.
22458
35ee15e0
BC
224592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22460
22461 Filename expansion support for wildcards in GRUB script.
22462
22463 * tests/grub_script_expansion.in: New test.
22464 * Makefile.util.def: Rule for new test.
22465
22466 * grub-core/commands/wildcard.c: New file, implements filename
22467 expansion support for GRUB script.
22468 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22469 * grub-core/script/argv.c: Cosmetic changes.
22470 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22471 Refactored to perform wildcard expansion on arguments.
22472 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22473 struct.
22474
22475 * tests/util/grub-shell.in: Fix quoting for read input.
22476
5f0c4aca
BC
224772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22478
22479 Support for updating environment variables with matched substrings
22480 of regexp.
22481
22482 * tests/grub_cmd_regexp.in: New test.
22483 * Makefile.util.def: Rule for new test.
22484
22485 * grub-core/commands/regexp.c: New option -s to update environment
22486 variables with regexp matches.
22487
3759a35f
SJ
224882010-09-04 Szymon Janc <szymon@janc.net.pl>
22489
22490 * include/grub/file.h (grub_file): New member not_easly_seekable.
22491 (grub_file_seekable): New inline function.
22492 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22493 easily seekable.
22494 (grub_gzio_open): Set not_easly_seekable.
22495 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22496 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22497
ed8c6dec
BC
224982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22499
22500 Support for options to appear multiple times on cmdline.
22501
22502 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22503 * grub-core/commands/extcmd.c: Support for repeatable option.
22504 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22505 repeatable option support.
22506
22507 Refactor menuentry into a regular command.
22508
22509 * grub-core/commands/menuentry.c: New file, menuentry command
22510 implementation.
22511 * grub-core/Makefile.core.def: Rule update for normal.mod.
22512 * grub-core/normal/main.c: Moved menuentry creation to
22513 grub-core/commands/menuentry.c.
22514 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22515 (grub_menu_execute_entry_real): Removed.
22516 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22517 function.
22518 (grub_script_execute_menuentry): Removed.
22519 * grub-core/script/parser.y (menuentry): Removed.
22520 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22521 * grub-core/script/yylex.l (menuentry): Removed.
22522 * include/grub/menu.h (grub_menu_init): New prototype.
22523 (grub_menu_fini): New prototype.
22524 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22525 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22526 (grub_script_execute_sourcecode): New prototype.
22527
dacd0cf0
BC
225282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22529
22530 "return" command for GRUB script functions.
22531
22532 * tests/grub_script_return.in: New test.
22533 * Makefile.util.def: Rules for new test.
22534
22535 * grub-core/script/execute.c (grub_script_return): New function.
22536 * grub-core/script/main.c: Register/unregister return commaond.
22537 * include/grub/script_sh.h (grub_script_return): New prototype.
22538
52e72f9d
BC
225392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22540
22541 "setparams" command to update positional parameters.
22542
22543 * tests/grub_script_setparams.in: New test.
22544 * Makefile.util.def: Rules for new test.
22545
22546 * grub-core/script/argv.c (grub_script_argv_make): New function.
22547 * grub-core/script/execute.c (replace_scope): New function.
22548 (grub_script_setparams): New function.
22549 * grub-core/script/lexer.c: Remove unused variables.
22550 * grub-core/script/main.c: Register/unregister setparams command.
22551 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22552 (grub_script_setparams): New prototype.
22553
25b60c91
BC
225542010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22555
22556 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22557 grub_free order.
22558
37e7bf68
BC
225592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22560
22561 Support for passing block of commands as an argument to extcmds.
22562
22563 * Makefile.util.def: Rules for new test.
22564 * tests/grub_script_blockarg.in: New test.
22565 * grub-core/tests/test_blockarg.c: New file, block argument
22566 command used in the test.
22567
22568 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22569 (grub_register_extcmd_prio): New function prototype.
22570 (grub_extcmd_dispatcher): New function prototype.
22571 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22572 type.
22573 * include/grub/script_sh.h (struct grub_script): New members
22574 `children', `next_siblings' and `refcnt' for block arguments and
22575 reference counting.
22576 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22577 (grub_script_arg): New member `script' for block argument.
22578 (grub_script_argv): New member `script' for block argument.
22579 (grub_parser_param): New member `scripts' for block argument.
22580 (grub_script_mem_free): New extern function prototype.
22581 (grub_script_ref): New function prototype.
22582 (grub_script_unref): New function prototype.
22583
22584 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22585 extcmd form to support block arguments.
22586 * grub-core/script/argv.c: Block arguments support.
22587 * grub-core/script/execute.c: Likewise.
22588 * grub-core/script/lexer.c: Likewise.
22589 * grub-core/script/main.c: Likewise.
22590 * grub-core/script/script.c: Likewise.
22591 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22592 non-terminals.
22593
22594 * grub-core/commands/acpi.c: Update extcmd implementations with
22595 grub_extcmd_context_t.
22596 * grub-core/commands/cat.c: Likewise.
22597 * grub-core/commands/echo.c: Likewise.
22598 * grub-core/commands/extcmd.c: Likewise.
22599 * grub-core/commands/hashsum.c: Likewise.
22600 * grub-core/commands/hdparm.c: Likewise.
22601 * grub-core/commands/help.c: Likewise.
22602 * grub-core/commands/hexdump.c: Likewise.
22603 * grub-core/commands/i386/cpuid.c: Likewise.
22604 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22605 * grub-core/commands/i386/pc/halt.c: Likewise.
22606 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22607 * grub-core/commands/iorw.c: Likewise.
22608 * grub-core/commands/keystatus.c: Likewise.
22609 * grub-core/commands/loadenv.c: Likewise.
22610 * grub-core/commands/ls.c: Likewise.
22611 * grub-core/commands/lspci.c: Likewise.
22612 * grub-core/commands/memrw.c: Likewise.
22613 * grub-core/commands/probe.c: Likewise.
22614 * grub-core/commands/search_wrap.c: Likewise.
22615 * grub-core/commands/setpci.c: Likewise.
22616 * grub-core/commands/sleep.c: Likewise.
22617 * grub-core/disk/loopback.c: Likewise.
22618 * grub-core/hello/hello.c: Likewise.
22619 * grub-core/loader/i386/bsd.c: Likewise.
22620 * grub-core/loader/xnu.c: Likewise.
22621 * grub-core/term/gfxterm.c: Likewise.
22622 * grub-core/term/serial.c: Likewise.
22623 * grub-core/tests/lib/functional_test.c: Likewise.
22624
888d1500
BC
226252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22626
22627 Multi-line quoted strings support.
22628
22629 * grub-core/script/lexer.c (append_newline): Removed.
22630 (grub_script_lexer_yywrap): Refactored.
22631 (grub_script_lexer_init): Refactored.
22632 * grub-core/script/yylex.l (yywrap): New function.
22633 (grub_lexer_resplit): New function.
22634 (grub_lexer_unput): New function.
22635 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22636 and resplit.
22637 * tests/grub_script_echo1.in: Added few more testcases.
22638
dda060dd
VS
226392010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 * grub-core/kern/misc.c: Don't add abort alias in utils.
22642 Reported by: echoline.
22643
6556eba9
BC
226442010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22645
22646 Add missing files into "make dist" tarball for other platforms.
22647
22648 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22649 * conf/Makefile.common (dist_noinst_DATA): New variable.
22650 * conf/Makefile.extra-dist: Added missing make dist files.
22651 * grub-core/Makefile.core.def: Likewise.
22652
c8e7bf5f
VS
226532010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22654
22655 Compress grub_prefix.
22656
22657 * grub-core/boot/i386/pc/lnxboot.S: Use
22658 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22659 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22660 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22661 GRUB_MACHINE_PREFIX_END. All users updated.
22662 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22663 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22664 + 0x40.
22665 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22666 * util/grub-mkimage.c (image_target_desc): Change data_end to
22667 prefix_end. All users updated.
22668
a7c00cdb
VS
226692010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22672 value.
22673 (grub_openbsd_boot): Likewise.
22674 (grub_netbsd_boot): Likewise.
22675 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22676 (grub_xnu_boot): Likewise.
22677
9f915872
VS
226782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22679
22680 * configure.ac: Clean LIBS variable after tests.
22681
efa1bee7
CW
226822010-09-02 Colin Watson <cjwatson@ubuntu.com>
22683
22684 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22685
61d720e5
VS
226862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22687
22688 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22689 echo if libdevmapper will be used.
22690
ef8e0ec8
IT
226912010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22692
22693 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22694 constant for the same file.
22695
03e261d8
VS
226962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22697
22698 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22699
c2a4eba6
CW
227002010-09-02 Colin Watson <cjwatson@ubuntu.com>
22701
22702 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22703 grub-core/*.pp.
22704
9056cbf3
CW
227052010-09-02 Colin Watson <cjwatson@ubuntu.com>
22706
22707 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22708 required by the boot protocol.
22709
22710 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22711 ebp and edi members.
22712 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22713 state.ebp and state.edi.
22714 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22715 %ebp and %edi according to grub_relocator32_ebp and
22716 grub_relocator32_edi respectively.
22717 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22718 and state.edi.
22719
529cc99a
VS
227202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 Add i386-pc-pxe image target.
22723
22724 * util/grub-mkimage.c (image_target_desc): New enum value
22725 IMAGE_I386_PC_PXE.
22726 (image_targets): New target i386-pc-pxe.
22727 (generate_image): Handle i386-pc-pxe image.
22728
9a093920
VS
227292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22730
22731 Fix grub_pxe_scan.
22732
22733 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22734 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22735 All users updated.
22736 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22737 (grub_pxe_pxenv): Correct type.
22738
f9cefc4e
CW
227392010-09-01 Colin Watson <cjwatson@ubuntu.com>
22740
22741 * NEWS: Document most of the important changes since 1.98.
22742
4066f57f
CW
227432010-09-01 Colin Watson <cjwatson@ubuntu.com>
22744
22745 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22746 generated manual page) a little.
22747
da2891f9
CW
227482010-09-01 Colin Watson <cjwatson@ubuntu.com>
22749
22750 * docs/grub.texi: Add myself as an author.
22751
ad717fae
VS
227522010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22753
22754 * Makefile.util.def (libgrub.a): Add missing sunpc.
22755 Reported by: Seth Goldberg.
22756
eefe8abd
VS
227572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22758
22759 Interrupt wrapping and code simplifications.
22760
9494ef9a
VS
22761 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22762 x86_noieee1275 which are functionaly equivalent in this case.
22763 (grub-install): Make source on each platform explicit. Enable on
22764 all noemu.
22765 * gentpl.py (x86_efi_pc): Removed group.
22766 (x86_noefi): Likewise.
22767 (i386_noefi): Likewise.
22768 (x86_noieee1275): Likewise.
22769 (i386_noieee1275): Likewise.
22770 (i386_noefi_noieee1275): Likewise.
22771 (i386_pc_qemu_coreboot): Likewise.
22772 (i386_coreboot_multiboot): Likewise.
22773 (i386_pc_coreboot_multiboot_qemu): Likewise.
22774 (x86_noefi_mips): Likewise.
22775 (noieee1275): Likewise.
22776 (ieee1275_mips): Likewise.
22777 (noemu_noieee1275): Likewise.
22778 (cmos): New group.
22779 (usb): Likewise.
22780 (videoinkernel): Likewise.
22781 (videomodules): Likewise.
eefe8abd 22782 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22783 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22784 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22785 include/grub/loader.h, include/grub/msdos_partition.h,
22786 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22787 include/grub/machine/console.h, include/grub/machine/vga.h,
22788 include/grub/machine/vbe.h, include/grub/machine/init.h,
22789 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22790 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22791 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22792 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22793 * grub-core/Makefile.core.def (kernel): Explicit the source for
22794 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22795 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22796 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22797 Use videoinkernel tag.
22798 (usb): Enable on all usb.
22799 (usbserial_common): Likewise.
22800 (usbserial_pl2303): Likewise.
22801 (usbserial_ftdi): Likewise.
22802 (uhci): Enable on all x86.
22803 (ohci): Enable on all pci.
22804 (cmostest): Enable on all CMOS.
22805 (acpi): Include commands/acpi.c on all platforms.
22806 (halt): Add relevant lib/*/halt.c.
22807 (hdparm): Enable on all pci.
22808 (lspci): Likewise.
22809 (usbtest): Enable on all usb.
22810 (ata): Enable on all pci.
22811 (ata_pthru): Likewise.
22812 (usbms): Enable on all usb.
22813 (usb_keyboard): Likewise.
22814 (font): Use tag videomodules.
22815 (bufio): Likewise.
22816 (datetime): Use tag cmos. Enable on all noemu.
22817 (mmap): Use tags common and x86.
22818 (gfxterm): Use tag videomodules.
22819 (bitmap): Likewise.
22820 (bitmap_scale): Likewise.
22821 (video_fb): Likewise.
22822 (video): Likewise.
22823 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22824 adjust padding accordingly. All users updated.
22825 (grub_ohci_transaction): Fix bad format specification.
22826 (GRUB_MOD_INIT): Add asserts for struct size.
22827 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22828 (grub_alloc_td): Likewise.
22829 (grub_free_queue): Likewise.
22830 (grub_uhci_transfer): Likewise.
22831 (grub_uhci_transaction): Fix bad format specification.
22832 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22833 (grub_usb_bulk_readwrite): Likewise.
22834 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22835 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22836 Made static.
22837 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22838 Made static.
22839 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22840 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22841 Transformed into C.
22842 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22843 Moved from here ...
22844 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22845 ... here. Transformed into C. Made static.
22846 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22847 Moved from here ...
22848 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22849 ... here. Transformed into C. Made static.
22850 * grub-core/kern/i386/pc/startup.S
22851 (grub_biosdisk_check_int13_extensions): Moved from here ...
22852 * grub-core/disk/i386/pc/biosdisk.c
22853 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22854 Made static.
22855 * grub-core/kern/i386/pc/startup.S
22856 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22857 * grub-core/disk/i386/pc/biosdisk.c
22858 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22859 Transformed into C. Made static.
22860 * grub-core/kern/i386/pc/startup.S
22861 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22862 * grub-core/disk/i386/pc/biosdisk.c
22863 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22864 Transformed into C. Made static.
22865 * grub-core/kern/i386/pc/startup.S
22866 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22867 * grub-core/disk/i386/pc/biosdisk.c
22868 (grub_biosdisk_get_diskinfo_standard): ... here.
22869 Transformed into C. Made static.
22870 * grub-core/kern/i386/pc/startup.S
22871 (grub_biosdisk_get_num_floppies): Moved from here ...
22872 * grub-core/disk/i386/pc/biosdisk.c
22873 (grub_biosdisk_get_num_floppies): ... here.
22874 Transformed into C. Made static.
22875 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22876 New function.
22877 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22878 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22879 Transformed into C. Made static.
22880 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22881 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22882 Transformed into C. Made static.
22883 * grub-core/kern/i386/ieee1275/init.c: Removed.
22884 * grub-core/kern/i386/misc.S: Likewise.
22885 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22886 Splitted from here ...
22887 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22888 Transformed into C. Made static. All users updated.
22889 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22890 Transformed into C. Made static. All users updated.
22891 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22892 Moved from here...
22893 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22894 Transformed into C. Made static. All users updated.
22895 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22896 Moved from here...
22897 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22898 Transformed into C. Made static. All users updated.
22899 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22900 Removed (replaced by C version).
22901 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22902 Moved from here...
22903 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22904 Transformed into C. Made static.
22905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22906 Moved from here...
22907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22908 ... here. Transformed into C.
22909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22910 Moved from here...
22911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22912 ... here. Transformed into C.
22913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22914 Moved from here...
22915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22916 ... here. Transformed into C. Made static.
22917 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22918 Moved from here...
22919 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22920 ... here. Transformed into C.
21ed554b
VS
22921 * grub-core/kern/i386/pc/startup.S
22922 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22923 * grub-core/video/i386/pc/vbe.c
22924 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22926 Moved from here...
22927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22928 ... here. Transformed into C.
22929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22930 Moved from here...
22931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22932 ... here. Transformed into C.
22933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22934 Moved from here...
22935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22936 ... here. Transformed into C.
22937 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22938 Moved from here...
22939 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22940 ... here. Transformed into C.
22941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22942 Moved from here...
22943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22944 ... here. Transformed into C. Made static.
22945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22946 Moved from here...
22947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22948 ... here. Transformed into C. Made static.
22949 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22950 Moved from here...
22951 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22952 ... here. Transformed into C. Made static.
22953 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22954 pxe_rm_entry as third argument.
22955 (grub_bios_interrupt): New function.
22956 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22957 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22958 of calling grub_stop.
22959 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22960 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22961 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22962 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22963 * grub-core/lib/i386/halt.c: Moved from here ...
22964 * grub-core/lib/i386/halt.c: ... here.
22965 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22966 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22967 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22968 grub_stop_floppy.
22969 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22970 * include/grub/i386/coreboot/init.h: Removed.
22971 * include/grub/i386/multiboot/init.h: Likewise.
22972 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22973 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22974 * include/grub/i386/pc/int.h: New file.
22975 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22976 (grub_pxe_scan): Removed.
22977 (grub_pxe_call): Update prototype.
22978 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22979 prototypes.
22980 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22981 * include/grub/i386/qemu/init.h: Removed.
22982 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22983 noreturn.
22984 (grub_halt): Likewise.
22985 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22986 (grub_reboot): Likewise.
22987 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22988 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22989 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22990
215dd471
RM
229912010-08-30 Robert Millan <rmh@gnu.org>
22992
22993 * NEWS: Document addition of ZFS support in `grub-install' and
22994 `grub-mkconfig'.
22995
ebd65b82
BC
229962010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22997
22998 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22999 dprintf output.
23000
11721d19
VS
230012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23002
23003 Remove leftover embedding of font objects.
23004
23005 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23006 * util/grub-install.in (font): Removed.
23007 * util/grub-mkimage.c (generate_image): Remove font support. All users
23008 updated.
23009
37837d4e
VS
230102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23011
23012 Remove leftover embedding of font objects.
23013
23014 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23015 * util/grub-install.in (font): Removed.
23016 * util/grub-mkimage.c (generate_image): Remove font support. All users
23017 updated.
23018
b4c1aae0
VS
230192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23020
23021 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23022 Reported by: Ian Turner
b4c1aae0 23023
8920a08d
VS
230242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23025
23026 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23027 timeout to avoid indefinite boot stalling.
23028
f21db033
VS
230292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23030
23031 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23032 (grub_env_write_color_highlight): Likewise.
23033
9a9de209
VS
230342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23035
23036 * grub-core/normal/term.c (print_more): Return to normal and not
23037 to standard state after printing "---MORE---".
23038
3dca01d7
VS
230392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23040
23041 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23042 Mask out the bit 0x80 since it has other meaning that specifiing color.
23043
0b986c40
VS
230442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 New relocator. Allows for more kernel support and more straightforward
23047 loader writing.
23048
23049 * Makefile.am (BOOTTARGET): New variable.
23050 (QEMU32): Likewise.
23051 (linux.init.x86_64): New target.
23052 (linux.init.i386): Likewise.
23053 (multiboot.elf): Likewise.
23054 (kfreebsd.elf): Likewise.
23055 (kfreebsd.aout): Likewise.
23056 (pc-chainloader.elf): Likewise.
23057 (pc-chainloader.bin): Likewise.
23058 (ntldr.elf): Likewise.
23059 (ntldr.bin): Likewise.
23060 (multiboot2.elf): Likewise.
23061 (kfreebsd.init.x86_64): Likewise.
23062 (kfreebsd.init.i386): Likewise.
23063 (knetbsd.init.i386): Likewise.
23064 (kopenbsd.init.i386): Likewise.
23065 (knetbsd.init.x86_64): Likewise.
23066 (kopenbsd.init.x86_64): Likewise.
23067 (linux-initramfs.i386): Likewise.
23068 (linux-initramfs.x86_64): Likewise.
23069 (kfreebsd-mfsroot.i386.img): Likewise.
23070 (knetbsd.image.i386): Likewise.
23071 (kopenbsd.image.i386): Likewise.
23072 (kopenbsd.image.x86_64): Likewise.
23073 (knetbsd.miniroot-image.i386.img): Likewise.
23074 (kfreebsd-mfsroot.x86_64.img): Likewise.
23075 (knetbsd.image.x86_64): Likewise.
23076 (knetbsd.miniroot-image.x86_64.img): Likewise.
23077 (kfreebsd-mfsroot.i386.gz): Likewise.
23078 (bootcheck-kfreebsd-i386): Likewise.
23079 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23080 (bootcheck-kfreebsd-x86_64): Likewise.
23081 (knetbsd.miniroot-image.i386.gz): Likewise.
23082 (bootcheck-knetbsd-i386): Likewise.
23083 (bootcheck-kopenbsd-i386): Likewise.
23084 (bootcheck-kopenbsd-x86_64): Likewise.
23085 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23086 (bootcheck-knetbsd-x86_64): Likewise.
23087 (bootcheck-linux-i386): Likewise.
23088 (bootcheck-linux-x86_64): Likewise.
23089 (bootcheck-linux16-i386): Likewise.
23090 (bootcheck-linux16-x86_64): Likewise.
23091 (bootcheck-multiboot): Likewise.
23092 (bootcheck-multiboot2): Likewise.
23093 (bootcheck-kfreebsd-aout): Likewise.
23094 (bootcheck-pc-chainloader): Likewise.
23095 (bootcheck-ntldr): Likewise.
23096 (CLEANFILES): Add new targets.
23097 (BOOTCHECKS): New variable.
23098 (.PHONY): Add bootchecks.
23099 (SUCCESSFUL_BOOT_STRING): New variable.
23100 (BOOTCHECK_TIMEOUT): Likewise.
23101 (bootcheck): New target
23102 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23103 * configure.ac: Correct efiemu excuse.
23104 * docs/grub.texi (Supported kernels): New chapter.
23105 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23106 include/grub/mm_private.h. Simplify inclusion of
23107 include/grub/boot.h, include/grub/loader.h
23108 and include/grub/msdos_partition.h
23109 (KERNEL_HEADER_FILES) [i386_coreboot]:
23110 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23111 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23112 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23113 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23114 include/grub/machine/loader.h.
23115 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23116 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23117 extra_dist.
23118 (pci.mod): Enable on i386-multiboot.
23119 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23120 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23121 i386-qemu.
23122 (relocator.mod): Rewritten.
23123 (aout.mod): Enable on all x86.
23124 (bsd.mod): Likewise.
23125 (ntldr.mod): New module.
23126 (linux.mod): Use loader/i386/linux.c on all x86.
23127 (xnu.mod): Enable on all x86.
23128 (vga_text.mod): disable on EFI and QEMU.
23129 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23130 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23131 * grub-core/efiemu/loadcore.c: Likewise.
23132 * grub-core/efiemu/main.c: Likewise.
23133 (grub_efiemu_exit_boot_services): Removed.
23134 (grub_efiemu_finish_boot_services): Likewise.
23135 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23136 function.
23137 * grub-core/efiemu/i386/nocfgtables.c: New file.
23138 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23139 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23140 (grub_efi_finish_boot_services): Moved from here ...
23141 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23142 Fille finish memory map and related data.
23143 (finish_mmap_buf): New variable.
23144 (grub_efi_uintn_t finish_mmap_size): Likewise.
23145 (grub_efi_uintn_t finish_key): Likewise.
23146 (grub_efi_uintn_t finish_desc_size): Likewise.
23147 (grub_efi_uint32_t finish_desc_version): Likewise.
23148 (grub_efi_is_finished): Likewise.
23149 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23150 finished.
23151 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23152 (grub_elf64_phdr_iterate): Likewise.
23153 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23154 (grub_os_area_size): Likewise.
23155 (grub_machine_init): Don't reserve os area.
23156 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23157 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23158 * grub-core/kern/i386/loader.S: Removed.
23159 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23160 (grub_os_area_size): Likewise.
23161 (grub_machine_init): Don't reserve os area.
23162 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23163 Don't call grub_dl_unload_all.
23164 Don't include loader.S.
23165 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23166 Declare the memory after _end as available.
23167 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23168 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23169 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23170 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23171 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23172 * include/grub/mm_private.h (grub_mm_header): ... here.
23173 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23174 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23175 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23176 (grub_mm_region): ..here. Removed addr. Added pre_size.
23177 All users updated.
23178 * grub-core/kern/mm.c (base): Renamed to ...
23179 (grub_mm_base): ... this. Made global.
23180 (grub_real_malloc): Alloc from end of region.
23181 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23182 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23183 * grub-core/kern/powerpc/cache_flush.S: ... here.
23184 * grub-core/lib/efi/relocator.c: New file.
23185 * grub-core/lib/i386/relocator.c: Rewritten.
23186 * grub-core/lib/i386/relocator16.S: New file.
23187 * grub-core/lib/i386/relocator32.S: Likewise.
23188 * grub-core/lib/i386/relocator64.S: Likewise.
23189 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23190 * grub-core/lib/i386/relocator_common.S: New file.
23191 * grub-core/lib/ieee1275/relocator.c: Likewise.
23192 * grub-core/lib/mips/relocator.c: Rewritten.
23193 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23194 stylistic adjustments.
23195 * grub-core/lib/powerpc/relocator.c: New file.
23196 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23197 * grub-core/lib/relocator.c: Rewritten.
23198 * grub-core/lib/x86_64/relocator_asm.S: New file.
23199 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23200 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23201 (bsd_tag): New struct.
23202 (tags): New variable.
23203 (tags_last): Likewise.
23204 (netbsd_module): New struct.
23205 (netbsd_mods): New variable.
23206 (netbsd_mods_last): Likewise.
23207 (openbsd_opts): New parameter "serial".
23208 (OPENBSD_SERIAL_ARG): New definition.
23209 (netbsd_opts): New parameter "serial".
23210 (NETBSD_SERIAL_ARG): New definition.
23211 (grub_freebsd_add_meta): Reorganised into ...
23212 (grub_bsd_add_meta): ...this. All users updated.
23213 (grub_freebsd_add_mmap): Reorganised into ...
23214 (generate_e820_mmap): ...this...
23215 (grub_bsd_add_mmap): ...and this. All users updated.
23216 (grub_freebsd_list_modules): Use tags.
23217 (grub_netbsd_add_meta_module): New function.
23218 (grub_netbsd_list_modules): Likewise.
23219 (grub_freebsd_boot): Use relocator and finish EFI.
23220 (grub_openbsd_boot): Likewise.
23221 (grub_netbsd_setup_video): New function.
23222 (grub_netbsd_add_modules): Likewise.
23223 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23224 and finish EFI.
23225 (grub_bsd_unload): Unload tags.
23226 (grub_bsd_load_aout): Use relocator.
23227 (grub_bsd_elf32_size_hook): New function.
23228 (grub_bsd_elf32_hook): Use relocator.
23229 (grub_bsd_elf64_size_hook): New function.
23230 (grub_bsd_elf64_hook): Use relocator.
23231 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23232 (grub_bsd_load): Zero-out openbsd_ramdisk.
23233 (grub_bsd_load): Use relocator.
23234 (grub_cmd_openbsd): Support serial.
23235 (grub_cmd_netbsd): Support modules.
23236 (grub_cmd_freebsd_module): Use relocator.
23237 (grub_netbsd_module_load): New function.
23238 (grub_cmd_netbsd_module): Likewise.
23239 (grub_cmd_openbsd_ramdisk): Likewise.
23240 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23241 kopenbsd_ramdisk.
23242 (GRUB_MOD_FINI): Unregister new commands.
23243 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23244 (grub_freebsd_load_elfmodule_obj): Use relocator.
23245 (grub_freebsd_load_elfmodule): Likewise.
23246 (grub_freebsd_load_elf_meta): Likewise.
23247 (grub_netbsd_load_elf_meta): New function.
23248 (grub_openbsd_find_ramdisk): Likewise.
23249 * grub-core/loader/i386/bsd_helper.S: Removed.
23250 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23251 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23252 * grub-core/loader/i386/efi/linux.c: Likewise.
23253 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23254 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23255 (DEFAULT_VIDEO_MODE): Likewise.
23256 (real_mode_target): New variable.
23257 (prot_mode_target): Likewise.
23258 (initrd_mem_target): Likewise.
23259 (relocator): Likewise.
23260 (efi_mmap_buf): Likewise.
23261 (efi_mmap_size): Likewise.
23262 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23263 (free_pages): Use relocator.
23264 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23265 (grub_linux_setup_video): Return error.
23266 (grub_linux_trampoline_start): Removed.
23267 (grub_linux_trampoline_end): Likewise.
23268 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23269 andd video parameters depending on firmware.
23270 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23271 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23272 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23273 (grub_cmd_initrd): Use relocator.
23274 * grub-core/loader/i386/linux_trampoline.S: Removed.
23275 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23276 (elf_sec_entsize): Likewise.
23277 (elf_sec_shstrndx): Likewise.
23278 (elf_sections): Likewise.
23279 (grub_multiboot_load): Use relocator.
23280 (grub_multiboot_get_mbi_size): Account for sections.
23281 (grub_multiboot_make_mbi): Use relocator and support sections.
23282 (grub_multiboot_add_elfsyms): New function.
23283 (grub_multiboot_free_mbi): Free sections.
23284 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23285 (grub_linux_real_target): Likewise.
23286 (grub_linux_real_chunk): Likewise.
23287 (grub_linux16_prot_size): Likewise.
23288 (grub_linux16_boot): Use relocator.
23289 (grub_linux_unload): Unload relocator.
23290 (grub_cmd_linux): Use relocator.
23291 (grub_cmd_initrd): Likewise.
23292 * grub-core/loader/i386/pc/ntldr.c: New file.
23293 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23294 Don't try to guess CPU frequency.
23295 (grub_xnu_set_video): Stretch bitmap.
23296 (grub_xnu_boot): Use relocator.
23297 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23298 (grub_linux_unload): Free relocator.
23299 (grub_linux_load32): Use relocator.
23300 (grub_linux_load64): Likewise.
23301 (grub_cmd_initrd): Likewise.
23302 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23303 (grub_multiboot_unload): Unload relocator.
23304 (grub_cmd_multiboot): Use relocator.
23305 (grub_cmd_module): Likewise.
23306 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23307 Use relocator and support sections.
23308 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23309 (elf_sec_entsize): Likewise.
23310 (elf_sec_shstrndx): Likewise.
23311 (elf_sections): Likewise.
23312 (grub_multiboot_load): Use relocator.
23313 (grub_multiboot_get_mbi_size): Account for sections.
23314 (grub_multiboot_make_mbi): Use relocator and support sections.
23315 (grub_multiboot_add_elfsyms): New function.
23316 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23317 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23318 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23319 Prototype changed. All users updated.
23320 (grub_xnu_align_heap): Simplified.
23321 (grub_xnu_writetree_toheap): Likewise.
23322 (grub_xnu_unload): Unload relocator.
23323 (grub_cmd_xnu_kernel): Use relocator.
23324 (grub_cmd_xnu_kernel64): Likewise.
23325 (grub_xnu_register_memory): Simplified.
23326 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23327 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23328 EFI is finished.
23329 (grub_console_checkkey): Likewise.
23330 (grub_console_getkey): Likewise.
23331 (grub_console_getwh): Likewise.
23332 (grub_console_getxy): Likewise.
23333 (grub_console_gotoxy): Likewise.
23334 (grub_console_cls): Likewise.
23335 (grub_console_setcolorstate): Likewise.
23336 (grub_console_setcursor): Likewise.
23337 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23338 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23339 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23340 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23341 * grub-core/tests/boot/kernel-8086.S: Likewise.
23342 * grub-core/tests/boot/kernel-i386.S: Likewise.
23343 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23344 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23345 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23346 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23347 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23348 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23349 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23350 * grub-core/tests/boot/linux.cfg: Likewise.
23351 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23352 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23353 * grub-core/tests/boot/linux16.cfg: Likewise.
23354 * grub-core/tests/boot/multiboot.cfg: Likewise.
23355 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23356 * grub-core/tests/boot/ntldr.cfg: Likewise.
23357 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23358 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23359 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23360 New definition.
23361 * include/grub/dl.h (grub_dl_unload_all): Removed.
23362 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23363 (grub_efi_finish_boot_services): Change prototype.
23364 (grub_efi_is_finished): New variable.
23365 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23366 Changed prototype.
23367 (grub_efiemu_finish_boot_services): Removed.
23368 (grub_machine_efiemu_init_tables): New prototype.
23369 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23370 (grub_elf64_phdr_iterate): Likewise.
23371 * include/grub/i386/bsd.h: Include relocator.h.
23372 (freebsd_tag_header): New struct.
23373 (grub_openbsd_bios_mmap): Removed.
23374 (grub_unix_real_boot): Removed.
23375 (grub_freebsd_load_elfmodule32): Changed prototype.
23376 (grub_freebsd_load_elfmodule_obj64): Likewise.
23377 (grub_freebsd_load_elf_meta32): Likewise.
23378 (grub_freebsd_load_elf_meta64): Likewise.
23379 (grub_freebsd_add_meta): Removed.
23380 (grub_netbsd_load_elf_meta32): New prototype.
23381 (grub_netbsd_load_elf_meta64): Likewise.
23382 (grub_bsd_add_meta): Likewise.
23383 (grub_openbsd_ramdisk_descriptor): New struct.
23384 (grub_openbsd_find_ramdisk32): New prototype.
23385 (grub_openbsd_find_ramdisk64): Likewise.
23386 * include/grub/i386/coreboot/loader.h: Removed.
23387 * include/grub/i386/efi/loader.h: Likewise.
23388 * include/grub/i386/ieee1275/loader.h: Likewise.
23389 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23390 to grub_uint32_t.
23391 * include/grub/i386/loader.h: Removed.
23392 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23393 value.
23394 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23395 (grub_phys_addr_t): New type.
23396 (grub_vtop): New inline function.
23397 (grub_map_memory): Likewise.
23398 (grub_unmap_memory): Likewise.
23399 * include/grub/i386/multiboot/loader.h: Removed.
23400 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23401 (NETBSD_BTINFO_CONSOLE): New definition.
23402 (NETBSD_BTINFO_SYMTAB): Likewise.
23403 (NETBSD_BTINFO_MODULES): Likewise.
23404 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23405 (grub_netbsd_bootinfo): New struct.
23406 (grub_netbsd_btinfo_common): Use explicit bitsize.
23407 (grub_netbsd_btinfo_mmap_entry): Removed.
23408 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23409 (grub_netbsd_btinfo_bootdisk): New struct.
23410 (grub_netbsd_btinfo_symtab): Likewise.
23411 (grub_netbsd_btinfo_serial): Likewise.
23412 (grub_netbsd_btinfo_modules): Likewise.
23413 (grub_netbsd_btinfo_framebuf): Likewise.
23414 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23415 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23416 Likewise.
23417 (grub_openbsd_bootargs): Use explicit bitsize.
23418 (grub_openbsd_bootarg_console): New struct.
23419 (GRUB_OPENBSD_COM_MAJOR): New definition.
23420 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23421 * include/grub/i386/pc/efiemu.h: Removed.
23422 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23423 * include/grub/i386/qemu/loader.h: Removed.
23424 * include/grub/i386/relocator.h: Rewritten.
23425 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23426 * include/grub/mips/memory.h: New file.
23427 * include/grub/mips/multiboot.h: Rewritten.
23428 * include/grub/mips/relocator.h: Rewritten.
23429 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23430 (grub_vtop): New function.
23431 (grub_map_memory): Likewise.
23432 (grub_unmap_memory): Likewise.
23433 * include/grub/misc.h (ALIGN_DOWN): New definition.
23434 * include/grub/mm.h (grub_mm_check_real): New proto.
23435 (GRUB_MM_CHECK): New definition.
23436 * include/grub/mm_private.h: New file.
23437 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23438 (grub_multiboot_get_mbi_size): Removed.
23439 (grub_multiboot_make_mbi): Change prottype.
23440 (grub_multiboot_set_accepts_video): New proto.
23441 (grub_multiboot_add_elfsyms): Likewise.
23442 (grub_multiboot_payload_eip): New variable.
23443 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23444 New prototype.
23445 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23446 New definition.
23447 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23448 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23449 * include/grub/powerpc/ieee1275/loader.h: Removed.
23450 * include/grub/powerpc/memory.h: New file.
23451 * include/grub/powerpc/relocator.h: Likewise.
23452 * include/grub/relocator.h: Likewise.
23453 * include/grub/relocator_private.h: Likewise.
23454 * include/grub/sparc64/ieee1275/loader.h: Removed.
23455 * include/grub/x86_64/memory.h: New file.
23456 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23457 (grub_xnu_heap_malloc): Likewise.
23458 (grub_xnu_heap_real_start): Removed.
23459 (grub_xnu_heap_start): Likewise.
23460 (grub_xnu_relocator): New variable.
23461 (grub_xnu_heap_target_start): Likewise.
23462 * tests/util/grub-shell.in: Support non-pc.
23463 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23464
5303b85d
VS
234652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23466
23467 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23468 on malloc error.
23469 (grub_bidi_logical_to_visual): Check that malloc succeded.
23470 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23471 puts.
23472 (grub_xputs_normal): Likewise.
23473
d768d159
VS
234742010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23477 extra_dist.
23478
234792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23482
5bf84df4
VS
234832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23486
3626810e
VS
234872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23490 dprintf.
23491
a7363f53
BC
234922010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23493
23494 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23495
902f75f6
VS
234962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23497
23498 * grub-core/normal/term.c (print_more): Fix a memory leak.
23499 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23500 (grub_xputs_normal): Likewise.
23501
3c707967
VS
235022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23503
23504 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23505 the begining of the string
23506
2053cc07
VS
235072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 * grub-core/script/script.c (grub_script_parse): Free parsed on
23510 failure.
23511
46422ebf
VS
235122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23515 on failure.
23516
9e0fa3f6
VS
235172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23518
23519 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23520 return.
23521
3393cf16
VS
235222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23523
23524 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23525 (scroll_up): Fix a memory leak.
23526
b17540cb
VS
235272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23528
23529 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23530 errors.
23531
67140446
VS
235322010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 Handle USB pendrives exposed as floppies.
23535
23536 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23537 floppy.
23538 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23539 Check for partitions on all devices.
23540
e35e46fc
VS
235412010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23542
23543 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23544 (readkey): Likewise.
23545
d24c6190
BC
235462010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23547
23548 Multiple variable names support to "export" command.
23549
23550 * normal/context.c (grub_cmd_export): "export" command supports
23551 multiple variable names.
23552
04ddcc6a
ST
235532010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23554
23555 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23556 --target=drive output to Mach device name.
23557
0c8b61d8
BC
235582010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23559
23560 New Automake based build system for GRUB.
23561
23562 * ABOUT-NLS: New file.
23563 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23564 in Makefile.util.def file.
23565 * Makefile.util.def: New file. Autogen build definitions file for
23566 GRUB host utils.
23567 * conf/Makefile.common: New file. Common variables for GRUB host
23568 utils and target modules.
23569 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23570 * docs/Makefile.am: New file. Automake file for docs.
23571 * gentpl.py: New file. Python script to generate Autogen
23572 template.
23573 * grub-core/Makefile.am: New file. GRUB target modules' rules
23574 that doesn't fit in Makefile.core.def file.
23575 * grub-core/Makefile.core.def: New file. Autogen build
23576 definitions file for GRUB target modules.
23577 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23578 specific setjmp.S file.
23579 * po/Makefile.am: New file.
23580
23581 * .bzrignore: New ignores.
23582 * INSTALL: New requirements, without Ruby.
23583 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23584 * autogen.sh: Updated to invoke autogen as necessary.
23585 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23586 and defines for Automake conditionals.
23587 * geninit.sh: Refactoring.
23588
23589 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23590 necessary.
23591 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23592 New prototype.
23593
23594 * include/grub/test.h: Fix functional test modules' naming.
23595 * grub-core/tests/example_functional_test.c: Fix test module name.
23596
23597 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23598 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23599 * util/grub-editenv.c: Likewise.
23600 * util/grub-fstest.c: Likewise.
23601 * util/grub-mkdevicemap.c: Likewise.
23602 * util/grub-mkfont.c: Likewise.
23603 * util/grub-mkimage.c: Likewise.
23604 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23605 * util/grub-probe.c: Likewise.
23606 * util/grub-script-check.c: Likewise.
23607 * util/i386/pc/grub-setup.c: Likewise.
23608 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23609
23610 * tests/util/grub-shell.in: Fix override directory path.
23611 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23612 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23613
23614 * util/lvm.c: Update #includes.
23615 * util/raid.c: Likewise.
23616 * util/resolve.c: Likewise.
23617 * grub-core/bus/emu/pci.c: Likewise.
23618 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23619 * grub-core/lib/posix_wrap/string.h: Likewise.
23620 * grub-core/kern/emu/main.c: Likewise.
23621
23622 * grub-core/gensymlist.sh: New file. Script for generating kernel
23623 symbols file.
23624 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23625
23626 * grub-core/gentrigtables.c: Fix unused variable warnings.
23627
23628 * Makefile.in: Removed.
23629 * conf/any-emu.rmk: Removed.
23630 * conf/common.rmk: Removed.
23631 * conf/i386-coreboot.rmk: Removed.
23632 * conf/i386-efi.rmk: Removed.
23633 * conf/i386-ieee1275.rmk: Removed.
23634 * conf/i386-multiboot.rmk: Removed.
23635 * conf/i386-pc.rmk: Removed.
23636 * conf/i386-qemu.rmk: Removed.
23637 * conf/i386.rmk: Removed.
23638 * conf/mips-yeeloong.rmk: Removed.
23639 * conf/mips.rmk: Removed.
23640 * conf/powerpc-ieee1275.rmk: Removed.
23641 * conf/sparc64-ieee1275.rmk: Removed.
23642 * conf/tests.rmk: Removed.
23643 * conf/x86-efi.rmk: Removed.
23644 * conf/x86_64-efi.rmk: Removed.
23645 * gendistlist.sh: Removed.
23646 * geninitheader.sh: Removed.
23647 * genkernsyms.sh.in: Removed.
23648 * genmk.rb: Removed.
23649 * gensymlist.sh.in: Removed.
23650 * mkinstalldirs: Removed.
23651 * boot: Moved ...
23652 * grub-core/boot: ... to here.
23653 * bus: Moved ...
23654 * grub-core/bus: ... to here.
23655 * commands: Moved ...
23656 * grub-core/commands: ... to here.
23657 * disk: Moved ...
23658 * grub-core/disk: ... to here.
23659 * efiemu: Moved ...
23660 * grub-core/efiemu: ... to here.
23661 * font: Moved ...
23662 * grub-core/font: ... to here.
23663 * fs: Moved ...
23664 * grub-core/fs: ... to here.
23665 * gencmdlist.sh: Moved ...
23666 * grub-core/gencmdlist.sh: ... to here.
23667 * genemuinit.sh: Moved ...
23668 * grub-core/genemuinit.sh: ... to here.
23669 * genemuinitheader.sh: Moved ...
23670 * grub-core/genemuinitheader.sh: ... to here.
23671 * genfslist.sh: Moved ...
23672 * grub-core/genfslist.sh: ... to here.
23673 * genhandlerlist.sh: Moved ...
23674 * grub-core/genhandlerlist.sh: ... to here.
23675 * genmoddep.awk: Moved ...
23676 * grub-core/genmoddep.awk: ... to here.
23677 * genmodsrc.sh: Moved ...
23678 * grub-core/genmodsrc.sh: ... to here.
23679 * genpartmaplist.sh: Moved ...
23680 * grub-core/genpartmaplist.sh: ... to here.
23681 * genparttoollist.sh: Moved ...
23682 * grub-core/genparttoollist.sh: ... to here.
23683 * genterminallist.sh: Moved ...
23684 * grub-core/genterminallist.sh: ... to here.
23685 * gentrigtables.c: Moved ...
23686 * grub-core/gentrigtables.c: ... to here.
23687 * genvideolist.sh: Moved ...
23688 * grub-core/genvideolist.sh: ... to here.
23689 * gettext: Moved ...
23690 * grub-core/gettext: ... to here.
23691 * gfxmenu: Moved ...
23692 * grub-core/gfxmenu: ... to here.
23693 * gnulib: Moved ...
23694 * grub-core/gnulib: ... to here.
23695 * hello: Moved ...
23696 * grub-core/hello: ... to here.
23697 * hook: Moved ...
23698 * grub-core/hook: ... to here.
23699 * io: Moved ...
23700 * grub-core/io: ... to here.
23701 * kern: Moved ...
23702 * grub-core/kern: ... to here.
23703 * lib: Moved ...
23704 * grub-core/lib: ... to here.
23705 * loader: Moved ...
23706 * grub-core/loader: ... to here.
23707 * mmap: Moved ...
23708 * grub-core/mmap: ... to here.
23709 * normal: Moved ...
23710 * grub-core/normal: ... to here.
23711 * partmap: Moved ...
23712 * grub-core/partmap: ... to here.
23713 * parttool: Moved ...
23714 * grub-core/parttool: ... to here.
23715 * script: Moved ...
23716 * grub-core/script: ... to here.
23717 * term: Moved ...
23718 * grub-core/term: ... to here
23719 * tests/example_functional_test.c: Moved ...
23720 * grub-core/tests/example_functional_test.c: ... to here.
23721 * tests/lib/functional_test.c: Moved ...
23722 * grub-core/tests/lib/functional_test.c: ... to here.
23723 * tests/lib/test.c: Moved ...
23724 * grub-core/tests/lib/test.c: ... to here.
23725 * video: Moved ...
23726 * grub-core/video: ... to here.
23727
645586e6
BC
237282010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23729
23730 Replace --enable-grub-emu-modules with grub-emu-lite.
23731
23732 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23733 cache.S.
23734
23735 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23736 * kern/emu/full.c: New file. For grub-emu specific initialization.
23737 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23738 * kern/emu/main.c: Call initialization function grub_emu_init.
23739
23740 * Makefile.in: Include grub-emu-lite in install.
23741 * commands/parttool.c: Use grub_no_autoload to differentiate
23742 between grub-emu and grub-emu-lite.
23743 * include/grub/misc.h: New variable grub_no_autoload.
23744
23745 * conf/any-emu.rmk: New rules for grub-emu-lite.
23746 * configure.ac: Remove --enable-grub-emu-modules.
23747 * genmk.rb: Cleanup unnecessary rules.
23748 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23749
23750 * normal/main.c: Don't load list files on grub-emu-lite.
23751 * util/misc.c (grub_arch_sync_caches): Removed.
23752
f86a4030
CW
237532010-08-23 Colin Watson <cjwatson@ubuntu.com>
23754
23755 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23756 grub-mkimage rather than grub-mkelfimage.
23757 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23758
06776944
VS
237592010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23762 a key after CapsLock or NumLock. It's just a qemu bug.
23763
df262419
VS
237642010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23767 needed by libusb wrapper.
23768
b40ea81b
ST
237692010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23770
23771 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23772
dee50575
VS
237732010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23776 --nounzip is passed.
23777
fb1d7b79
VS
237782010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23779
23780 USB hotunplugging and USB serial support.
23781
23782 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23783 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23784 (grub_uhci_transfer): Respect timeout and set *actual.
23785 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23786 non-standard length.
23787 (grub_usb_device_attach): Autoload modules.
23788 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23789 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23790 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23791 users updated.
23792 (grub_usb_add_hub): Fill nports and children.
23793 (attach_root_port): Receive hub instead of controller.
23794 All users updated. Fill hub->devices.
23795 (grub_usb_root_hub): Allocate hub->devices.
23796 (detach_device): New function.
23797 (poll_nonroot_hub): Fill children and detach devices.
23798 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23799 actual arguments. All users updated.
23800 (grub_usb_bulk_read_extended): New function.
23801 * bus/usb/serial/common.c: New file.
23802 * bus/usb/serial/ftdi.c: Likewise.
23803 * bus/usb/serial/pl2303.c: Likewise.
23804 * commands/terminal.c (handle_command): Support wildcard.
23805 * commands/usbtest.c: Output "Unknown" instead of empty string.
23806 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23807 (usbserial_common_mod_SOURCES): New variable.
23808 (usbserial_common_mod_CFLAGS): Likewise.
23809 (usbserial_common_mod_LDFLAGS): Likewise.
23810 (pkglib_MODULES): Add usbserial_pl2303.mod.
23811 (usbserial_pl2303_mod_SOURCES): New variable.
23812 (usbserial_pl2303_mod_CFLAGS): Likewise.
23813 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23814 (pkglib_MODULES): Add usbserial_ftdi.mod.
23815 (usbserial_ftdi_mod_SOURCES): New variable.
23816 (usbserial_ftdi_mod_CFLAGS): Likewise.
23817 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23818 (pkglib_MODULES): Add serial.mod.
23819 (serial_mod_SOURCES): New variable.
23820 (serial_mod_CFLAGS): Likewise.
23821 (serial_mod_LDFLAGS): Likewise.
23822 * conf/i386-pc.rmk: Likewise.
23823 * conf/mips-yeeloong.rmk: Likewise.
23824 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23825 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23826 * disk/usbms.c (first_available_slot): New variable.
23827 (grub_usbms_attach): Don't reuse free slots due to potential cache
23828 problems.
23829 * include/grub/serial.h: Moved to ..
23830 * include/grub/ns8250.h: ...this.
23831 * include/grub/serial.h: New file.
23832 * include/grub/term.h (grub_term_poll_usb): New variable.
23833 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23834 readkey. All users updated.
23835 (grub_terminfo_output_state): Pass term to put.
23836 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23837 (grub_usb_controller_dev): Add timeout and actual arguments to
23838 transfer. All users updated.
23839 (grub_usb_interface): New field detach_data.
23840 (grub_usb_device): New fields children and nports.
23841 (grub_usb_ep_type_t): New type.
23842 (grub_usb_get_ep_type): New function.
23843 (grub_usb_bulk_read_extended): Likewise.
23844 * include/grub/usbdesc.h (grub_usb_desc): New type.
23845 * include/grub/usbserial.h: New file.
23846 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23847 * kern/term.c (grub_term_poll_usb): New variable.
23848 (grub_getkey): Call grub_term_poll_usb if set.
23849 (grub_checkkey): Likewise.
23850 (grub_getkeystatus): Likewise.
23851 * term/serial.c: Moved controller-specific parts to ...
23852 * term/ns8250.c: ... here.
23853 * term/serial.c: Mostly rewritten.
23854 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23855 according to spec.
23856
21a313de
RM
238572010-08-20 Robert Millan <rmh@gnu.org>
23858
23859 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23860 a separate module and maybe other interesting combinations.
23861
23862 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23863 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23864 (kfreebsd_entry): Add generic filesystem module load routine.
23865 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23866
63c734a6
CW
238672010-08-20 Colin Watson <cjwatson@ubuntu.com>
23868
23869 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23870 "numcenter" (I misunderstood the purpose of this entry).
23871 * docs/grub.texi (sendkey): Likewise.
23872
c4d16542
CW
238732010-08-20 Colin Watson <cjwatson@ubuntu.com>
23874
23875 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23876 status flag options; simply omitting the option is equivalent and
23877 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23878 (keysym_table): Rename "num5numlock" to "numlock".
23879 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23880 can uniformly say that only the last of multiple `sendkey'
23881 invocations has any effect.
23882 * docs/grub.texi (sendkey): New section.
23883
93541d66
CW
238842010-08-19 Colin Watson <cjwatson@ubuntu.com>
23885
23886 * commands/i386/pc/sendkey.c (options): Fix three typos.
23887
b4ece5e1
VS
238882010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23889
23890 Implement sendkey support.
23891
23892 * commands/i386/pc/sendkey.c: New file.
23893 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23894 (sendkey_mod_SOURCES): New variable.
23895 (sendkey_mod_CFLAGS): Likewise.
23896 (sendkey_mod_LDFLAGS): Likewise.
23897
51f1f5af
CW
238982010-08-18 Colin Watson <cjwatson@ubuntu.com>
23899
23900 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23901 fix warnings from Autoconf.
23902
9da94e05
CW
239032010-08-18 Colin Watson <cjwatson@ubuntu.com>
23904
23905 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23906 to avoid false positives with some assemblers that output things
23907 like "someprefix_func" as part of their output.
23908
729a0f2e
RM
239092010-08-15 Robert Millan <rmh@gnu.org>
23910
23911 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23912 errors.
23913 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23914 grub_get_libzfs_handle() errors.
23915
f3710e08
RM
239162010-08-14 Robert Millan <rmh@gnu.org>
23917
23918 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23919 filesystem is not ZFS.
23920
7a3c13de
BC
239212010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23922
23923 Fix for misspelled color names defaulting to black/black (bug
23924 reported by Doug Nazar)
23925
23926 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23927 status to prototype.
23928 * normal/color.c (grub_parse_color_name_pair): Return failure
23929 status.
23930 (grub_env_write_color_normal): Ignore bad color names.
23931 (grub_env_write_color_highlight): Likewise.
23932 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23933
ab8ba50d
BC
239342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23935
23936 "shift" command support to GRUB script.
23937
23938 * include/grub/script_sh.h (grub_script_shift): New prototype.
23939 * script/execute.c (grub_script_shift): New function.
23940 * script/main.c (grub_script_init): Register shift command.
23941 (grub_script_fini): Unregister shift command.
23942 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23943
23944 * tests/grub_script_shift.in: New testcase.
23945 * conf/tests.rmk: Rules for new testcase.
23946
4d61999e
BC
239472010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23948
23949 "continue" command support to GRUB script.
23950
23951 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23952 (grub_script_break): Continue support.
23953 * script/main.c (grub_script_init): Register continue command.
23954 (grub_script_fini): Unregister continue command.
23955
23956 * tests/grub_script_continue.in: New testcase.
23957 * conf/tests.rmk: Rules for new testcase.
23958
4df51e00
BC
239592010-08-12 BVK Chaitanya <bvk@dbook>
23960
23961 "break" command support to GRUB script.
23962
23963 * conf/common.rmk: Rule updates to grub-script-check.
23964 * include/grub/misc.h (grub_min): New function.
23965 * include/grub/script_sh.h (grub_script_init): New prototype.
23966 (grub_script_fini): New prototype.
23967 (grub_script_break): New prototype.
23968 * script/main.c (grub_script_init): New function.
23969 (grub_script_fini): New function.
23970 * script/execute.c (grub_script_break): New function.
23971 * normal/main.c: Calls to grub_script_{init,fini}.
23972 * util/grub-script-check.c (grub_script_break): New function.
23973
23974 * tests/grub_script_break.in: New testcase.
23975 * conf/tests.rmk: Rules for new test case.
23976
f12c8420
BC
239772010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23978
23979 Function parameters support to GRUB script.
23980
23981 * script/yylex.l (VARIABLE): Regular expression update.
23982 * script/function.c (grub_script_function_call): Moved ...
23983 * script/execute.c (grub_script_function_call): ... to here.
23984 (grub_script_execute_arglist_to_argv): Removed.
23985 (grub_script_arglist_to_argv): New function.
23986 * script/argv.c: New file.
23987 (grub_script_argv_free): New function.
23988 (grub_script_argv_next): Likewise.
23989 (grub_script_argv_append): Likewise.
23990 (grub_script_argv_split_append): Likewise.
23991 * include/grub/script_sh.h (grub_script_argv): New struct.
23992 (grub_script_argv_free): New function.
23993 (grub_script_argv_next): Likewise.
23994 (grub_script_argv_append): Likewise.
23995 (grub_script_argv_split_append): Likewise.
23996
23997 * conf/common.rmk (normal.mod): New source script/argv.c.
23998
23999 * tests/grub_script_echo1.in: More tests.
24000 * tests/grub_script_vars1.in: Likewise.
24001 * tests/grub_script_functions.in: New test case.
24002 * conf/tests.rmk: Rules for new testcase.
24003
8022b748
BC
240042010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24005
24006 Remove grub_script_cmdblock struct.
24007
24008 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24009 * script/parser.y: Likewise.
24010 * script/execute.c: Rename cmdblock suffix to cmdlist.
24011 * script/script.c: Likewise.
24012 * util/grub-script-check.c: Likewise.
24013
79a6ba61
YB
240142010-08-11 Yves Blusseau <blusseau@zetam.org>
24015
24016 * .bzrignore: add grub-macho2img
24017
d04b9414
VS
240182010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24019
24020 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24021
f947ab49
VS
240222010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24023
24024 Remove the dump of sm712 initialisation sequence.
24025
24026 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24027 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24028 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24029 (GRUB_VGA_CR_*): Added many registers.
24030 (GRUB_VGA_SR_*): Likewise.
24031 (GRUB_VGA_GR_*): Likewise.
24032 (grub_vga_write_arx): New function.
24033 (grub_video_hw_config): New struct.
24034 (grub_vga_set_geometry): New function.
24035 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24036 GRUB_PCI_CLASS_SUBCLASS_VGA.
24037 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24038 * video/sm712.c (grub_sm712_write_reg): New function
24039 (grub_sm712_read_reg): Likewise.
24040 (grub_sm712_sr_write): Likewise.
24041 (grub_sm712_gr_write): Likewise.
24042 (grub_sm712_cr_write): Likewise.
24043 (grub_sm712_write_arx): Likewise.
24044 (grub_sm712_cr_shadow_write): Likewise.
24045 (grub_sm712_write_dda_lookup): Likewise.
24046 (grub_video_sm712_setup): Initialise the video rather then
24047 blindly replay the dump.
24048 (main) [TEST]: Add a routine to be able to compile as standalone for
24049 tests.
24050 * video/sm712_init.c (sm712_init): Removed.
24051 (sm712_sr_seq1): New array.
24052 (sm712_sr_seq2): Likewise.
24053
f0206638
VS
240542010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24055
24056 * include/grub/vga.h: Add missing grub/pci.h include.
24057
2764da3b
YB
240582010-08-10 Yves Blusseau <blusseau@zetam.org>
24059
24060 * util/grub-macho2img.c (main): fix typo
24061
cf0c775e
VS
240622010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24063
24064 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24065 (grub_vga_gr_read): Likewise.
24066 (grub_vga_cr_write): Likewise.
24067 (grub_vga_cr_read): Likewise.
24068 (grub_vga_sr_write): Likewise.
24069 (grub_vga_sr_read): Likewise.
24070 (grub_vga_palette_read): Likewise.
24071 (grub_vga_palette_write): Likewise.
24072 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24073 (grub_sm712_sr_read): New function.
24074 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24075 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24076
07f360e9
RM
240772010-08-09 Robert Millan <rmh@gnu.org>
24078
24079 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24080 out unused variables on non-ZFS build.
24081
346c2072
RM
240822010-08-08 Robert Millan <rmh@gnu.org>
24083
24084 Fix path generation for sub-filesystems in ZFS.
24085
24086 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24087 missing slash.
24088
71175420
RM
240892010-08-08 Robert Millan <rmh@gnu.org>
24090
24091 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24092
0d8286f3
RM
240932010-08-08 Robert Millan <rmh@gnu.org>
24094
24095 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24096 exist, issue a proper error message (rely on `ls' for translated
24097 strings).
24098
55dd2924
RM
240992010-08-08 Robert Millan <rmh@gnu.org>
24100
24101 Fix grub-probe invocation.
24102
24103 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24104
d3dd9e80
RM
241052010-08-04 Robert Millan <rmh@gnu.org>
24106
24107 * configure.ac: Remove checks for getfsstat() and getmntany().
24108 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24109 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24110 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24111 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24112 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24113 function.
24114 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24115 via find_mount_point_from_dir() and getfsstat() / getmntany().
24116
0de22aa9
RM
241172010-08-04 Robert Millan <rmh@gnu.org>
24118
24119 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24120 (grub_find_zpool_from_mount_point): Merge into ...
24121 (grub_find_zpool_from_dir): ... this.
24122 * kern/emu/misc.c: Likewise.
24123
24124 * kern/emu/misc.c
24125 (grub_make_system_path_relative_to_its_root): Replace
24126 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24127 with grub_find_zpool_from_dir().
24128 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24129
62858144
RM
241302010-08-04 Robert Millan <rmh@gnu.org>
24131
24132 Support OpenSolaris in ZFS device resolution.
24133
24134 * configure.ac: Check for getmntany().
24135 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24136 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24137 support.
24138
9dd6fd50
RM
241392010-08-03 Robert Millan <rmh@gnu.org>
24140
24141 Fix grub-emu build.
24142
24143 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24144 * include/grub/emu/misc.h: ... here.
24145
24146 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24147 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24148
24149 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24150 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24151 (grub_get_libzfs_handle): Move to ...
24152 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24153 (grub_get_libzfs_handle): ... here.
24154
c9f7ff97
BC
241552010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24156
24157 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24158 as command name case.
24159
a870a783
CW
241602010-08-02 Colin Watson <cjwatson@ubuntu.com>
24161
24162 * disk/raid.c (insert_array): Select unique numbers for named arrays
24163 as well, for use as keys in the disk cache.
24164
c7db243b
RM
241652010-08-01 Robert Millan <rmh@gnu.org>
24166
24167 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24168 kFreeBSD device name, except on ZFS where the filesystem label is
24169 used.
24170 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24171 `/boot/zfs/zpool.cache'.
24172 Set mountfrom kernel variable using ${kfreebsd_device}.
24173
f7abdefb
RM
241742010-08-01 Robert Millan <rmh@gnu.org>
24175
24176 Make it even harder to use uninitialized `libzfs_handle' (and
24177 make the interface a bit simpler).
24178
24179 * include/grub/util/misc.h (grub_util_init_libzfs)
24180 (libzfs_handle): Remove.
24181 (grub_get_libzfs_handle): New prototype.
24182
24183 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24184 attribute.
24185 (grub_util_init_libzfs): Remove.
24186 (grub_get_libzfs_handle): New function.
24187
24188 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24189 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24190 accessing `libzfs_handle' directly.
24191
c882acc0
RM
241922010-08-01 Robert Millan <rmh@gnu.org>
24193
24194 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24195 (grub_find_zpool_from_mount_point): New function prototypes.
24196
24197 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24198 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24199
24200 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24201 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24202 `static' attribute.
24203
24204 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24205 finding zpool from mount point into ...
24206 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24207
24208 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24209 requested path is part of a ZFS pool, use
24210 grub_find_zpool_from_mount_point() to detect its filesystem name,
24211 and generate a path with `/fsname@path' syntax.
24212
8bfe31d8
CW
242132010-08-01 Colin Watson <cjwatson@ubuntu.com>
24214
24215 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24216 (void) rather than () so that this is a proper prototype.
24217
553df63d
VS
242182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24219
24220 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24221
8687cf07
VS
242222010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24223
24224 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24225 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24226
ea9be8ea
CW
242272010-08-01 Colin Watson <cjwatson@ubuntu.com>
24228
24229 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24230
6eea041a
CW
242312010-08-01 Colin Watson <cjwatson@ubuntu.com>
24232
24233 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24234
2cfb45df
CW
242352010-08-01 Colin Watson <cjwatson@ubuntu.com>
24236
24237 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24238 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24239 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24240 disable gfxpayload.
24241 (Shell-like scripting): Add real content.
24242 (Serial terminal): Suggest `terminal_input serial; terminal_output
24243 serial' rather than putting the two commands on separate lines,
24244 since console input will be inoperative after the first command.
24245 (menuentry): Document --class, --users, and --hotkey options.
24246 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24247 Vladimir Serbinenko).
24248
7decd202
VS
242492010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
242502010-08-01 Colin Watson <cjwatson@ubuntu.com>
24251
24252 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24253
c882acc0
RM
242542010-08-01 Robert Millan <rmh@gnu.org>
24255
24256 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24257 (grub_find_zpool_from_mount_point): New function prototypes.
24258
24259 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24260 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24261
24262 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24263 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24264 `static' attribute.
24265
24266 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24267 finding zpool from mount point into ...
24268 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24269
24270 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24271 requested path is part of a ZFS pool, use
24272 grub_find_zpool_from_mount_point() to detect its filesystem name,
24273 and generate a path with `/fsname@path' syntax.
24274
deb0caa3
RM
242752010-08-01 Robert Millan <rmh@gnu.org>
24276
24277 Prevent accidental use of uninitialized libzfs_handle.
24278
24279 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24280 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24281 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24282
ce04ef47
CW
242832010-08-01 Colin Watson <cjwatson@ubuntu.com>
24284
24285 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24286 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24287
ebf53056
RM
242882010-08-01 Robert Millan <rmh@gnu.org>
24289
24290 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24291
3710bb6b
RM
242922010-07-31 Robert Millan <rmh@gnu.org>
24293
24294 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24295
8072efeb
RM
242962010-07-31 Robert Millan <rmh@gnu.org>
24297
24298 * kern/emu/misc.c: Add missing license header.
24299
3169f4c7
RM
243002010-07-31 Robert Millan <rmh@gnu.org>
24301
24302 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24303
24304 * include/grub/util/libnvpair.h: Include `<config.h>'.
24305 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24306 declaring libnvpair prototypes ourselves.
24307 * include/grub/util/libzfs.h: Include `<config.h>'.
24308 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24309 declaring libzfs prototypes ourselves.
24310
24311 (libzfs_handle): Moved to ...
24312 * include/grub/util/misc.h (libzfs_handle): ... here.
24313 Include `<grub/util/libzfs.h>'.
24314
c9a00aee
RM
243152010-07-30 Robert Millan <rmh@gnu.org>
24316
24317 * include/grub/emu/misc.h: Add missing license header.
24318
a184f9c8
RM
243192010-07-30 Robert Millan <rmh@gnu.org>
24320
24321 Enable `grub-probe -t device' resolution on ZFS.
24322
24323 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24324 * include/grub/util/libnvpair.h: New file.
24325 * include/grub/util/libzfs.h: New file.
24326
24327 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24328 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24329 `<grub/util/libnvpair.h>'.
24330 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24331
24332 (find_mount_point_from_dir): New static function.
24333 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24334 function.
24335 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24336 find_root_device_from_libzfs() before ressorting to find_root_device().
24337
24338 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24339 prototype.
24340 * util/misc.c: Include `<grub/util/libzfs.h>'.
24341 (grub_util_init_libzfs): New function.
24342 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24343 [HAVE_LIBZFS] (fini_libzfs): New static function.
24344 (grub_util_init_libzfs): New function.
24345 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24346
f7790cdd
RM
243472010-07-30 Robert Millan <rmh@gnu.org>
24348
24349 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24350 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24351 `warn_unused_result' attribute.
24352 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24353 (grub_xasprintf, grub_xvasprintf): Likewise.
24354 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24355
0806b63c
RM
243562010-07-29 Robert Millan <rmh@gnu.org>
24357
24358 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24359 (probe): Handle `PRINT_FS_LABEL'.
24360 (main): Handle `-t fs_label'.
24361
9f841f5c
RM
243622010-07-29 Robert Millan <rmh@gnu.org>
24363
24364 * configure.ac: Remove grub-mkisofs checks.
24365
46371121
VS
243662010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24367
24368 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24369 Reported by: Lennart Sorensen.
24370
243712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24372
24373 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24374 prior to terminal_input/terminal_output separation. It's been over 1.5
24375 years and those versions weren't widely deployed.
24376
a9600892
CW
243772010-07-22 Colin Watson <cjwatson@ubuntu.com>
24378
24379 * disk/raid.c (insert_array): Don't count named arrays when looking
24380 for unused array numbers.
697e053c 24381 Reported and tested by: Michael Guntsche.
a9600892 24382
c03507df
CW
243832010-07-20 Colin Watson <cjwatson@ubuntu.com>
24384
24385 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24386 implementation of this so that grub-emu links again, with a note
24387 that this should support hotplugging in the future.
24388
b26f1c11
CW
243892010-07-20 Colin Watson <cjwatson@ubuntu.com>
24390
24391 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24392
efc9d7f1
CW
243932010-07-20 Colin Watson <cjwatson@ubuntu.com>
24394
24395 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24396 handle on failure.
24397 (grub_loopback_close): Remove empty function.
24398 (grub_loopback_dev): Remove close method.
24399
dd8ff5c9
CW
244002010-07-20 Colin Watson <cjwatson@ubuntu.com>
24401
24402 Disable EFI cursor when the EFI console becomes inactive.
24403
24404 * term/efi/console.c (grub_efi_console_init): New function.
24405 (grub_efi_console_fini): New function.
24406 (grub_console_term_output): Register init and fini methods.
24407
5e3bec67
VS
244082010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24411 sh script.
24412
afaec079
VS
244132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24414
24415 * disk/loopback.c (grub_loopback): Replace filename with file.
24416 (delete_loopback): Handle new semantics.
24417 (grub_cmd_loopback): Likewise.
24418 (grub_loopback_iterate): Likewise.
24419 (grub_loopback_close): Likewise.
24420
a6a11f3c
VS
244212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24422
24423 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24424 with -p "".
24425 Reported by: Tito Keitel.
24426
64a638b0
VS
244272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24428
24429 * docs/grub.texi (Naming convention): Document new naming convention.
24430
ab8ba957
VS
244312010-07-20 Vadim Solomin <vadic052@gmail.com>
244322010-07-20 Colin Watson <cjwatson@ubuntu.com>
24433
24434 Generate device.map in something closer to the old ordering.
24435
24436 * util/deviceiter.c (struct device): New declaration.
24437 (compare_file_names): Rename to ...
24438 (compare_devices): ... this. Sort by kernel name in preference to
24439 the stable by-id name, but keep the latter as a fallback comparison.
24440 Update header comment.
24441 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24442 of `struct device' rather than of plain file names.
24443
a29d6a4b
TF
244442010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24445
24446 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24447 on i386.
24448
39d824e8
VS
244492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24450
24451 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24452 hardcoding size.
24453 (setv1table): Likewise.
24454
f058276b
FZ
244552010-07-20 Colin Watson <cjwatson@ubuntu.com>
24456
24457 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24458 removing the homehost if present.
24459 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24460 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24461 removing the homehost if present.
24462 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24463 if possible.
24464 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24465
24466 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24467 parameter. Set its pointer target to 0.
24468 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24469 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24470 `data_offset' value from the superblock for 1.x metadata.
24471 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24472 data on the device.
24473 (insert_array): Record the start sector of data on the device.
24474 (grub_raid_register): Pass start_sector parameters to
24475 grub_raid_list->detect and insert_array.
24476 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24477 member.
24478 (struct grub_raid): Add start_sector parameter to `detect'.
24479
24480 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24481 __attribute__ ((packed)), leaving a comment.
24482 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24483 (grub_mdraid_detect_09): ... here and ...
24484 (grub_mdraid_detect_1x): ... here.
24485
244862010-07-20 Peter Henn <peter.henn@web.de>
24487
24488 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24489 chunk size and disk size, which are already given as sector counts
24490 as distinct from the 0.90 units. Fetch the correct device number
24491 from the role table instead of using the table index.
24492
244932010-07-20 Felix Zielcke <fzielcke@z-51.de>
24494
24495 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24496 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24497 (WriteMostly1): New macro.
24498 Set array->name to NULL for metadata format 0.90. Add support for
24499 metadata 1.x. Fix some comments.
24500 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24501 few comments.
24502 * util/getroot.c (grub_util_get_grub_dev): Add support for
24503 /dev/md/name style devices.
24504
4b761da9
CW
245052010-07-20 Colin Watson <cjwatson@ubuntu.com>
24506
24507 * .bzrignore: Ignore 20_linux_xen.
24508
5771289a
CW
245092010-07-17 Colin Watson <cjwatson@ubuntu.com>
24510
24511 * util/import_unicode.py: Remove unnecessary imports.
24512
5dab68df
AN
245132010-07-17 Aleš Nesrsta <starous@volny.cz>
24514
24515 Hotplugging and USB hub support.
24516
24517 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24518 (grub_ohci): Likewise.
24519 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24520 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24521 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24522 (GRUB_OHCI_CTRL_EDS): Likewise.
24523 (GRUB_OHCI_BULK_EDS): Likewise.
24524 (GRUB_OHCI_TDS): Likewise.
24525 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24526 (grub_ohci_ed_phys2virt): New function.
24527 (grub_ohci_virt_to_phys): Likewise.
24528 (grub_ohci_td_phys2virt): Likewise.
24529 (grub_ohci_td_virt2phys): Likewise.
24530 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24531 attachment.
24532 (grub_ohci_find_ed): New function.
24533 (grub_ohci_alloc_td): Likewise.
24534 (grub_ohci_free_td): Likewise.
24535 (grub_ohci_free_tds): Likewise.
24536 (grub_ohci_transfer): Use previously allocated memory.
24537 (grub_ohci_portstatus): Reset status changed bit.
24538 (grub_ohci_detect_dev): Supply status changed.
24539 (grub_ohci_fini_hw): Free memory.
24540 (grub_ohci_restore_hw): Reallocate memory.
24541 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24542 Reset status change.
24543 (grub_uhci_detect_dev): Supply status_change.
24544 * bus/usb/usb.c (attach_hooks): New var.
24545 (grub_usb_device_attach): New function.
24546 (grub_usb_register_attach_hook_class): Likewise.
24547 (grub_usb_unregister_attach_hook_class): Likewise.
24548 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24549 (grub_usb_add_hub): Reset connection changed bit.
24550 (attach_root_port): New function.
24551 (grub_usb_root_hub): Likewise.
24552 (poll_nonroot_hub): Likewise.
24553 (grub_usb_poll_devices): Likewise.
24554 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24555 * disk/usbms.c (grub_usbms_open): Use device hooks.
24556 (grub_usbms_iterate) :Poll devices.
24557 (grub_usbms_finddevs): Split into ...
24558 (grub_usbms_attach): ... this ...
24559 (grub_usbms_attach): ... and this.
24560 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24561 in detect_dev.
24562 (grub_usb_interface): New fields attached and detach_hook.
24563 (grub_usb_attach_hook_class): New type.
24564 (grub_usb_attach_desc): New struct.
24565 (grub_usb_register_attach_hook_class): New function.
24566 (grub_usb_unregister_attach_hook_class): Likewise.
24567 (grub_usb_poll_devices): Likewise.
24568 (grub_usb_device_attach): Likewise.
24569 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24570 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24571
3222efaf
VS
245722010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24573
24574 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24575 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24576 delta determination style. Works with most NetBSD partitions too.
24577
139b714a
VS
245782010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24579
24580 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24581 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24582
986aad56
VS
245832010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24584
24585 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24586
99be513c
AB
245872010-07-14 Anton Blanchard <anton@samba.org>
24588
24589 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24590 ET_DYN files.
24591
18075f62
GS
245922010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24593
24594 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24595
8d9a5b15
GS
245962010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24597
24598 * kern/partition.c (grub_partition_check_containment): New function to
24599 check that a partition is physically contained in a parent. Since
24600 offsets are relative (and non-negative), this reduces to checking that
24601 the partition ends before its parent.
24602 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24603 (grub_partition_iterate): Likewise.
24604 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24605 comments.
24606 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24607 partitions that start before their parent, and add debug printfs.
24608
19563c25
CW
246092010-07-13 Colin Watson <cjwatson@ubuntu.com>
24610
24611 * Makefile.in (.SUFFIX): Spell correctly, as ...
24612 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24613 bare module name without `.mod', e.g. `test') tried to invoke a
24614 Modula-2 compiler.
24615
1a1f1e67
CW
246162010-07-13 Colin Watson <cjwatson@ubuntu.com>
24617
24618 * README: Point to the Info manual.
24619
811b0dca
JS
246202010-07-13 Jiro SEKIBA <jir@unicus.jp>
24621
24622 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24623 2nd superblock position from partition size.
24624
e4f4eafc
CW
246252010-07-10 Colin Watson <cjwatson@ubuntu.com>
24626
24627 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24628 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24629 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24630 outputs.
24631
4274c30f
VS
246322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 Restructure SCSI .id handling.
24635 Reported and tested by: Aleš Nesrsta.
24636
24637 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24638 (grub_atapi_dev): Changed .name to "ata". New field .id.
24639 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24640 (grub_usbms_dev): New field .id.
24641 * disk/scsi.c (grub_scsi_iterate): Generate name.
24642 (grub_scsi_open): Parse name.
24643 * include/grub/scsi.h (grub_make_scsi_id): New function.
24644 (grub_scsi_dev): Change iterate and open to number instead of naming
24645 busses. All users updated.
24646 (grub_scsi): Remove name. Add .bus.
24647
5bc24388
VS
246482010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24649
24650 * commands/help.c (grub_cmd_help): Fix a typo.
24651
249975ba
VS
246522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24653
24654 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24655 Reported and tested by: Colin Watson.
24656
3eaac1a1
VS
246572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24660 in this context.
24661
becce1b1
VS
246622010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24663
24664 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24665
f7bf0918
CW
246662010-07-07 Colin Watson <cjwatson@ubuntu.com>
24667
24668 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24669 indentation.
24670
0b0f9620
CW
246712010-07-06 Colin Watson <cjwatson@ubuntu.com>
24672
24673 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24674 and disk/raid6_recover.c.
24675 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24676 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24677
1e545469
CW
246782010-07-06 Colin Watson <cjwatson@ubuntu.com>
24679
24680 * term/gfxterm.c (repaint_schedulded): Rename to ...
24681 (repaint_scheduled): ... this. Update all callers.
24682 (repaint_was_schedulded): Rename to ...
24683 (repaint_was_scheduled): ... this. Update all callers.
24684
5357687a
CW
246852010-07-06 Colin Watson <cjwatson@ubuntu.com>
24686
24687 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24688 which we expect to be handled by upper layers.
24689
29d7e783
BC
246902010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24691
24692 * bus/usb/usbhub.c: #include time.h header.
24693
37582066
CW
246942010-07-06 Colin Watson <cjwatson@ubuntu.com>
24695
24696 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24697 entry_name also for entries without stat blocks (e.g. ".."); fixes
24698 corruption of the first entry in a directory.
24699
c8c06953
CW
247002010-07-06 Colin Watson <cjwatson@ubuntu.com>
24701
24702 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24703 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24704 doesn't work otherwise.
24705
e75056f1
CW
247062010-07-05 Colin Watson <cjwatson@ubuntu.com>
24707
24708 * docs/grub.texi (Features): Update list of supported file systems.
24709 (GNU/Linux): Update for GRUB 2.
24710 (Serial terminal): Remove mention of --disable-serial, which was a
24711 GRUB Legacy configure option. Update instructions to use
24712 `terminal_input' and `terminal_output' rather than `terminal'.
24713 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24714 configuration' and `Installing GRUB using grub-install'.
24715 (Menu entry editor): Update for GRUB 2.
24716 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24717 Document new -a, -u, and -v options.
24718 (initrd): New section.
24719 (initrd16): New section.
24720 (linux): New section.
24721 (linux16): New section.
24722 (search): The `var' argument to `--set' is optional.
24723 (GRUB only offers a rescue shell): Go into a little more detail on
24724 drive ordering.
24725
5cf69151
CW
247262010-07-05 Colin Watson <cjwatson@ubuntu.com>
24727
24728 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24729
e3f90044
CW
247302010-07-05 Colin Watson <cjwatson@ubuntu.com>
24731
24732 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24733 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24734
38d8f4f3
CW
247352010-07-05 Colin Watson <cjwatson@ubuntu.com>
24736
24737 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24738 install_prefix, in line with install_dos_part and install_bsd_part.
24739 Add new prefix variable, which is copied to install_prefix after
24740 comparing core.img in memory with the one read from disk in the
24741 no-embedding case, and use that rather than overwriting
24742 install_prefix immediately when installing to a partition.
24743 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24744 Bicakci.
24745
57ebd41e
GS
247462010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24747
24748 * configure.ac: Avoid == in test command, it's not portable.
24749 * util/grub.d/30_os-prober.in: Likewise.
24750
cb7f64b2
CW
247512010-07-04 Colin Watson <cjwatson@ubuntu.com>
24752
24753 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24754
6b654bb0
GS
247552010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24756
24757 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24758 multiple (top-level) partmaps.
24759
72a2026d
VS
247602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24761
24762 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24763 Reported by: Tino Keitel.
72a2026d 24764
df3eb88f
VS
247652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24766
24767 Bidi and diacritics support.
24768
24769 * Makefile.in (widthspec.bin): New target.
24770 (widthspec.h): Likewise.
24771 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24772 * autogen.sh: Generate unidata.c.
24773 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24774 * commands/ls.c (grub_ls_list_devices): Likewise.
24775 (grub_ls_list_files): Likewise.
24776 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24777 (grub_mini_cmd_lsmod): Likewise.
24778 * commands/read.c: Likewise.
24779 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24780 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24781 * lib/arg.c (grub_arg_show_help): Likewise.
24782 * lib/crypto.c (grub_password_get): Likewise.
24783 * normal/auth.c (grub_username_get): Likewise.
24784 * normal/misc.c (grub_normal_print_device_info): Likewise.
24785 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24786 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24787 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24788 (normal/charset.c_DEPENDENCIES): New variable.
24789 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24790 (pkglib_MODULES): Remove charset.mod.
24791 (charset_mod_SOURCES): Removed.
24792 (charset_mod_CFLAGS): Likewise.
24793 (charset_mod_LDFLAGS): Likewise.
24794 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24795 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24796 and term/tparm.c.
24797 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24798 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24799 (kernel_img_HEADERS): Add terminfo.h.
24800 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24801 Fill ->font. Reverse ascii bitmaps.
24802 (grub_font_get_xheight): New function.
24803 * font/font.c (grub_font_get_string_width): Moved from here ...
24804 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24805 * font/font.c (grub_font_draw_string): Moved from here ...
24806 * gfxmenu/font.c (grub_font_draw_string): ... here.
24807 * font/font.c (grub_font_dup_glyph): New function.
24808 (grub_font_blit_glyph): Likewise.
24809 (grub_font_blit_glyph_mirror): Likewise.
24810 (blit_comb): Likewise.
24811 (grub_font_construct_dry_run): Likewise.
24812 (grub_font_get_constructed_device_width): Likewise.
24813 (grub_font_construct_glyph): Likewise.
24814 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24815 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24816 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24817 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24818 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24819 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24820 (grub_font_get_xheight): New proto.
24821 (grub_font_get_constructed_device_width): Likewise.
24822 (grub_font_construct_glyph): Likewise.
24823 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24824 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24825 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24826 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24827 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24828 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24829 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24830 (grub_console_getcharwidth): Likewise.
24831 * include/grub/misc.h (grub_xputs): New proto.
24832 (grub_puts): Inlined.
24833 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24834 (grub_normal_get_line_counter): Removed.
24835 (grub_install_newline_hook): Likewise.
24836 (grub_normal_get_char_counter): New proto.
24837 (grub_normal_reset_more): Likewise.
24838 (grub_xputs_normal): Likewise.
24839 * include/grub/powerpc/ieee1275/console.h: Removed.
24840 * include/grub/sparc64/ieee1275/console.h: Likewise.
24841 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24842 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24843 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24844 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24845 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24846 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24847 (grub_term_input): Pass reference to self. All users updated.
24848 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24849 Pass reference to self. New fields normal_color, highlight_color and
24850 data. All users updated.
24851 (grub_putchar): Removed.
24852 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24853 (grub_unicode_estimate_width): New function.
24854 (grub_term_getcharwidth): Add defaults.
24855 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24856 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24857 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24858 (grub_cls): Remove EXPORT_FUNC.
24859 (grub_setcolorstate): Inline.
24860 (grub_newline_hook): Removed.
24861 * include/grub/terminfo.h: Rewritten. All users updated.
24862 * include/grub/unicode.h: New file.
24863 * include/grub/video.h (grub_video_signed_rect): New type.
24864 * kern/emu/console.c (grub_console_highlight_color): Removed.
24865 (grub_console_normal_color): Likewise.
24866 (grub_console_standard_color): Made static.
24867 (grub_ncurses_putchar): Remove mapping.
24868 (grub_ncurses_getcharwidth): Removed.
24869 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24870 (grub_ncurses_setcolor): Removed.
24871 (grub_ncurses_getcolor): Likewise.
24872 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24873 (grub_console_putchar): ... this.
24874 (grub_console_putchar): Handle argument difference.
24875 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24876 console_init_early and console_init_lately.
24877 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24878 * kern/misc.c (grub_puts): Removed.
24879 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24880 (grub_vsnprintf_real): Remove str = NULL support.
24881 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24882 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24883 * kern/term.c (grub_putcode): Renamed to ...
24884 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24885 (grub_putchar): Removed.
24886 (grub_xputs_dumb): New function.
24887 (grub_xputs): New variable.
24888 * lib/charset.c: Move from here ...
24889 * normal/charset.c: ... to here.
24890 (grub_ucs4_to_utf8): New function.
24891 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24892 (join_types): New variable.
24893 (unpack_join): New function.
24894 (bidi_types): New variable.
24895 (unpack_bidi): New function.
24896 (get_bidi_type): Likewise.
24897 (get_join_type): Likewise.
24898 (is_mirrored): Likewise.
24899 (grub_unicode_get_comb_type): Likewise.
24900 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24901 (is_type_after): Likewise.
24902 (grub_unicode_aglomerate_comb): Likewise.
24903 (bidi_line_wrap): Likewise.
24904 (grub_bidi_line_logical_to_visual): Likewise.
24905 (grub_bidi_logical_to_visual): Likewise.
24906 (grub_unicode_mirror_code): Likewise.
24907 (grub_unicode_shape_code): Likewise.
24908 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24909 Don't use grub_putchar.
24910 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24911 (grub_normal_reader_init): Likewise.
24912 (grub_xputs_saved): New variable.
24913 (GRUB_MOD_INIT): Set grub_xputs.
24914 (GRUB_MOD_FINI): Restore grub_xputs.
24915 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24916 (menu_init): Avoid printing gfxmenu error.
24917 (show_menu): Use grub_normal_get_char_counter.
24918 * normal/menu_entry.c (update_screen): Fix out-of-array.
24919 (complete): Avoid NULL dereferencing.
24920 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24921 * normal/menu_text.c (print_spaces): Removed.
24922 (grub_print_ucs4): Likewise.
24923 (grub_print_message_indented): Use grub_print_ucs4.
24924 (print_message): Use grub_putcode.
24925 (print_entry): Hanlde diacritics.
24926 * normal/term.c (term_state): New type.
24927 (grub_more_lines): Removed.
24928 (term_states): New variable.
24929 (grub_normal_line_counter): Renamed to ..
24930 (grub_normal_char_counter): ...this. All users updated.
24931 (grub_normal_get_line_counter): Renamed to ...
24932 (grub_normal_get_char_counter): ... this.
24933 (grub_normal_reset_more): New function.
24934 (process_newline): Removed.
24935 (print_more): New function.
24936 (grub_install_newline_hook): Removed.
24937 (map_code): New function.
24938 (grub_puts_terminal): Use grub_print_ucs4.
24939 (putglyph): New function.
24940 (putcode_real): Likewise.
24941 (grub_putcode): Use putcode_real.
24942 (get_maxwidth): New function.
24943 (get_startwidth): Likewise.
24944 (print_ucs4_terminal): Likewise.
24945 (find_term_state): Likewise.
24946 (put_glyphs_terminal): Likewise.
24947 (print_backlog): Likewise.
24948 (print_ucs4_real): Likewise.
24949 (grub_print_ucs4): Likewise.
24950 (grub_xputs_normal): Likewise.
24951 * term/efi/console.c (grub_console_putchar): Output diacritics.
24952 (grub_console_getcharwidth): Removed.
24953 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24954 * term/gfxterm.c (clear_char): Free chars.
24955 (scroll_up): Avoid leaking memory.
24956 (grub_gfxterm_putchar): Support diacritics.
24957 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24958 * term/i386/pc/console.c (grub_console_term_output): Declare as
24959 GRUB_TERM_CODE_TYPE_VGA.
24960 * term/i386/pc/vga.c (grub_vga_term): Declare as
24961 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24962 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24963 GRUB_TERM_CODE_TYPE_VGA.
24964 * term/i386/vga_common.c (map_char): Removed.
24965 (grub_console_putchar): Likewise.
24966 (grub_console_getcharwidth): Likewise.
24967 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24968 (colors): Reordered to match terminfo.
24969 (grub_ofconsole_normal_color): Removed.
24970 (grub_ofconsole_writeesc): Likewise.
24971 (grub_ofconsole_highlight_color): Likewise.
24972 (grub_ofconsole_getcharwidth): Likewise.
24973 (grub_ofconsole_setcolorstate): Likewise.
24974 (grub_ofconsole_setcolor): Likewise.
24975 (grub_ofconsole_getcolor): Likewise.
24976 (grub_ofconsole_readkey): Renamed to ...
24977 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24978 key.
24979 (grub_ofconsole_checkkey): Removed.
24980 (grub_ofconsole_getkey): Likewise.
24981 (grub_ofconsole_getxy): Likewise.
24982 (grub_ofconsole_gotoxy): Likewise.
24983 (grub_ofconsole_cls): Likewise.
24984 (grub_ofconsole_refresh): Likewise.
24985 (grub_ofconsole_terminfo_input): New struct.
24986 (grub_ofconsole_terminfo_output): Likewise.
24987 (grub_ofconsole_term_input): Use terminfo.
24988 (grub_ofconsole_term_output): Likewise.
24989 (grub_console_init): Split into ...
24990 (grub_console_init_early): ...this and ...
24991 (grub_console_init_lately): ...this. Use terminfo.
24992 (grub_ofconsole_putchar): Renamed to ...
24993 (put): ... this. Remove mapping.
24994 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24995 * term/serial.c: Simplify using terminfo.
24996 (xpos): Removed.
24997 (ypos): Likewise.
24998 (keep_track): Likewise.
24999 (registered): Likewise.
25000 (input_buf): Likewise.
25001 (npending): Likewise.
25002 (serial_translate_key_sequence): Likewise.
25003 (fill_input_buf): Likewise.
25004 (grub_serial_checkkey): Likewise.
25005 (grub_serial_getkey): Likewise.
25006 (grub_serial_getxy): Likewise.
25007 (grub_serial_gotoxy): Likewise.
25008 (grub_serial_putchar): Likewise.
25009 (grub_serial_cls): Likewise.
25010 (grub_serial_setcolorstate): Likewise.
25011 (grub_serial_setcursor): Likewise.
25012 (serial_hw_init): Use serial_hw_fetch.
25013 (grub_serial_terminfo_input): New variable.
25014 (grub_serial_terminfo_output): Likewise.
25015 (grub_serial_term_input): Use terminfo.
25016 (grub_serial_term_output): Likewise.
25017 * term/terminfo.c (putstr): Use put.
25018 (grub_terminfo_all_free): New function
25019 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25020 (grub_terminfo_output_register): New function.
25021 (grub_terminfo_output_unregister): Likewise.
25022 (grub_terminfo_getxy): Likewise.
25023 (grub_terminfo_readkey): Likewise.
25024 (grub_terminfo_checkkey): Likewise.
25025 (grub_terminfo_getkey): Likewise.
25026 (grub_terminfo_input_init): Likewise.
25027 (print_terminfo): Likewise.
25028 (grub_cmd_terminfo): Handle encoding.
25029 (grub_terminfo_gotoxy): Track position.
25030 (grub_terminfo_cls): Likewise.
25031 (grub_terminfo_putchar): Likewise.
25032 (grub_terminfo_setcolorstate): Handle colors
25033 (grub_terminfo_cursor_on): This ...
25034 (grub_terminfo_cursor_off): ... and this merged into ...
25035 (grub_terminfo_setcursor): ... this.
25036 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25037 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25038 * unicode/BidiMirroring.txt: Likewise.
25039 * unicode/UnicodeData.txt: Likewise.
25040 * unicode/COPYING: Likewise.
25041 * util/grub-editenv.c (grub_putchar): Removed.
25042 (grub_xputs_real): New function.
25043 (grub_xputs): New variable.
25044 * util/grub-fstest.c (grub_putchar): Removed.
25045 (grub_xputs_real): New function.
25046 (grub_xputs): New variable.
25047 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25048 (grub_xputs_real): New function.
25049 (grub_xputs): New variable.
25050 * util/grub-probe.c (grub_putchar): Removed.
25051 (grub_xputs_real): New function.
25052 (grub_xputs): New variable.
25053 * util/grub-script-check.c (grub_putchar): Removed.
25054 (grub_xputs_real): New function.
25055 (grub_xputs): New variable.
25056 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25057 (grub_xputs_real): New function.
25058 (grub_xputs): New variable.
25059 * util/import_unicode.py: New file.
25060 * util/grub-mkfont.c (ft_errmsgs): New array.
25061 (grub_glyph_info): Make bitmap a pointer.
25062 (file_formats): New type WIDTH_SPEC.
25063 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25064 (options): Add width-spec.
25065 (help): Likewise.
25066 (add_char): Renamed to ...
25067 (add_glyph): ... this.
25068 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25069 (glyph_replace): New type.
25070 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25071 (add_char): New function.
25072 (add_subst): Likewise.
25073 (process_cursive): Likewise.
25074 (add_font): Handle GSUB.
25075 (write_font_width_spec): New function.
25076 (main): Sort glyphs.
25077 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25078 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25079 * kern/term.c (grub_cls): Moved from here...
25080 * normal/term.c (grub_cls): ... here.
25081
50f0bcda
CW
250822010-07-02 Colin Watson <cjwatson@ubuntu.com>
25083
25084 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25085 suitable for using within the format argument of printf when
25086 converting grub_size_t.
25087 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25088 "x" to convert grub_size_t arguments.
25089
40372103
VS
250902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25091
25092 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25093 too long captions.
25094 (list_get_minimal_size): Take selection box into account.
25095
942a10c7
VS
250962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25097
25098 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25099 NULL font.
25100
2bdb2892
CW
251012010-07-02 Colin Watson <cjwatson@ubuntu.com>
25102
25103 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25104 devices when iterating over /dev/disk/by-id; they will be handled
25105 later if appropriate, which they aren't always (e.g. LVM).
25106
e03ed6c1
CW
251072010-07-02 Colin Watson <cjwatson@ubuntu.com>
25108
25109 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25110 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25111 fails.
25112 (grub_halt): Likewise.
25113 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25114 reset-all fails.
25115 (grub_halt): Don't return, even if all of shut-down, power-off, and
25116 poweroff fail.
25117
47695765
CW
251182010-07-02 Colin Watson <cjwatson@ubuntu.com>
25119
25120 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25121 arguments, not three.
25122
507736c8
CW
251232010-07-02 Colin Watson <cjwatson@ubuntu.com>
25124
25125 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25126 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25127 LVM-on-RAID is handled correctly.
25128
e3c8cd37
CW
251292010-07-02 Colin Watson <cjwatson@ubuntu.com>
25130
25131 * docs/grub.texi (Changes from GRUB Legacy): New section.
25132 (Future): Fix typo.
25133
8d4a2fec
CW
251342010-07-02 Colin Watson <cjwatson@ubuntu.com>
25135
25136 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25137 grub.d/README accidentally ends up executable for one reason or
25138 another. Ignore it.
25139
1c4827be
VS
251402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25141
25142 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25143 (gpt_partition_map_iterate): Support non-512B sectors.
25144
d9a0c941
VS
251452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25146
25147 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25148 Tested by: Seth Goldberg.
25149
48f27e87
VS
251502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25151
25152 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25153 Properly align mbi.
25154 Reported by: Seth Goldberg.
25155
b0c4f956
VS
251562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25157
25158 * util/grub-mkrescue.in: Avoid module duplication.
25159
105a2e8c
SF
251602010-07-01 Sean Finney <seanius@seanius.net>
25161
25162 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25163
5944958c
SF
251642010-07-01 Sean Finney <seanius@seanius.net>
25165
25166 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25167
251682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25169
25170 * disk/lvm.c (grub_lvm_checkvalue): New function.
25171 (grub_lvm_check_flag): Likewise.
25172
b79889ba
RM
251732010-07-01 Robert Millan <rmh@gnu.org>
25174
25175 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25176 Support 'p' as partition separator on kernel of FreeBSD (used
25177 with GPT labels).
25178 (grub_util_biosdisk_get_grub_dev): Likewise.
25179
ec1d04f1
VS
251802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 Yeeloong firmware port.
25183
25184 * boot/mips/yeeloong/fwstart.S: New file.
25185 * bus/cs5536.c (gpiodump): New const.
25186 (set_io_space): New function.
25187 (set_iod): Likewise.
25188 (set_p2d): Likewise.
25189 (grub_cs5536_init_geode): Likewise.
25190 * commands/mips/yeeloong/lsspd.c: New file.
25191 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25192 (serial_mod_SOURCES): New variable.
25193 (serial_mod_CFLAGS): Likewise.
25194 (serial_mod_LDFLAGS): Likewise.
25195 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25196 term/terminfo.c and term/tparm.c.
25197 (pkglib_IMAGES): Add fwstart.img.
25198 (fwstart_img_SOURCES): New variable.
25199 (fwstart_img_CFLAGS): Likewise.
25200 (fwstart_img_ASFLAGS): Likewise.
25201 (fwstart_img_LDFLAGS): Likewise.
25202 (fwstart_img_FORMAT): Likewise.
25203 (pkglib_MODULES): Add lsspd.mod.
25204 (lsspd_mod_SOURCES): New variable.
25205 (lsspd_mod_CFLAGS): Likewise.
25206 (lsspd_mod_LDFLAGS): Likewise.
25207 (pkglib_MODULES): Add halt.mod.
25208 (halt_mod_SOURCES): New variable.
25209 (halt_mod_CFLAGS): Likewise.
25210 (halt_mod_LDFLAGS): Likewise.
25211 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25212 (serial_mod_SOURCES): Removed.
25213 (serial_mod_CFLAGS): Likewise.
25214 (serial_mod_LDFLAGS): Likewise.
25215 * disk/ata.c (check_device): New function.
25216 (grub_ata_device_initialize): Use check_device.
25217 (grub_ata_iterate): Recheck devices.
25218 (grub_ata_open): Likewise.
25219 (grub_atapi_iterate): Likewise.
25220 (grub_atapi_open): Likewise.
25221 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25222 (GRUB_ATA_CH1_PORT1): Likewise.
25223 (GRUB_ATA_CH0_PORT2): Likewise.
25224 (GRUB_ATA_CH1_PORT2): Likewise.
25225 * include/grub/mips/loongson.h: New file.
25226 * include/grub/mips/yeeloong/ec.h: Likewise.
25227 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25228 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25229 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25230 * include/grub/misc.h (grub_halt): Declare as noreturn.
25231 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25232 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25233 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25234 (UART_ENABLE_DTRRTS): Likewise.
25235 (UART_ENABLE_MODEM): Removed.
25236 (UART_ENABLE_OUT2): New const.
25237 * include/grub/term.h (grub_term_register_input_active): New function.
25238 (grub_term_register_output_active): Likewise.
25239 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25240 argument.
25241 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25242 (init_pci): New function.
25243 (grub_machine_init): Execute platform init when firmware. Init serial.
25244 (grub_halt): Implement.
25245 (grub_exit): Likewise.
25246 (grub_reboot): Likewise.
25247 * term/serial.c (serial_hw_init): Update macros.
25248 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25249 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25250 (image_targets): New target mipsel-yeeloong-flash.
25251 (generate_image): Support IMAGE_YEELOONG_FLASH.
25252 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25253 (grub_video_sm712_setup): Init card.
25254 (grub_video_sm712_set_palette): Removed.
25255 * video/sm712_init.c: New file.
25256
ff4a70d2
CW
252572010-06-30 Colin Watson <cjwatson@ubuntu.com>
25258
25259 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25260 PATH when running help2man and then run it on the unadorned
25261 executable names, rather than passing $(builddir)/* paths to
25262 help2man. This avoids the build directory ending up in generated
25263 manual pages.
25264
1246efeb
CW
252652010-06-29 Colin Watson <cjwatson@ubuntu.com>
25266
25267 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25268 to avoid accidents when debugging with 'sh -x'.
25269 * util/grub-mkrescue.in: Likewise.
25270 * util/grub.d/00_header.in: Likewise.
25271 * util/grub.d/10_hurd.in: Likewise.
25272 * util/grub.d/10_kfreebsd.in: Likewise.
25273 * util/grub.d/10_linux.in: Likewise.
25274 * util/grub.d/10_netbsd.in: Likewise.
25275 * util/grub.d/10_windows.in: Likewise.
25276 * util/grub.d/20_linux_xen.in: Likewise.
25277 * util/grub.d/30_os-prober.in: Likewise.
25278 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25279
1ba9b889
CW
252802010-06-29 Colin Watson <cjwatson@ubuntu.com>
25281
25282 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25283 last character in the buffer.
25284 Reported by: Vladimir Serbinenko.
25285
dccaf99d
RM
252862010-06-29 Robert Millan <rmh@gnu.org>
25287
25288 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25289 (Command-line and menu entry commands): Document `badram' command.
25290
d500ed12
RM
252912010-06-28 Robert Millan <rmh@gnu.org>
25292
25293 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25294 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25295 command using ${GRUB_BADRAM} as parameter.
25296
20bc84a6
CW
252972010-06-28 Colin Watson <cjwatson@ubuntu.com>
25298
25299 * docs/grub.texi (Device map): New section.
25300 (Themes): New section (stub).
25301 * Makefile.in (docs/grub.info): The info documentation now builds
25302 without errors. Make sure it stays that way.
25303
4045dee1
VS
253042010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25305
25306 Use normal parser for menu entries.
25307 Reported by: Thomas Frauendorfer
25308
25309 * include/grub/parser.h (grub_parser_execute): Don't export.
25310 * normal/menu.c (grub_menu_execute_entry_real): New function.
25311 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25312
bca58c7b
CW
253132010-06-28 Colin Watson <cjwatson@ubuntu.com>
25314
25315 * docs/grub.texi (Embedded configuration): New section (replacing
25316 old "Preset Menu" stub).
25317 (Images): New section.
25318 (configfile): Note that any menu entries defined in `file' are shown
25319 immediately.
25320
dec53e63
JT
253212010-06-28 Josh Triplett <josh@joshtriplett.org>
25322
25323 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25324
c06e40f7
CW
253252010-06-28 Colin Watson <cjwatson@ubuntu.com>
25326
25327 * util/grub-install.in: Add --debug-image= option.
25328
cb88052b
CW
253292010-06-28 Colin Watson <cjwatson@ubuntu.com>
25330
25331 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25332 possible on Linux.
25333
25334 * util/deviceiter.c (check_device): Rename to ...
25335 (check_device_readable_unique): ... this. Update all callers.
25336 Maintain and check a list of which devices (by canonicalized name)
25337 have already been seen.
25338 (clear_seen_devices): New function.
25339 (compare_file_names) [__linux__]: New function.
25340 (grub_util_iterate_devices): Clear the list of seen devices on exit
25341 and (just in case) on entry.
25342 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25343 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25344 seen-devices list, superseded by general code in check_device.
25345
bbe34652
CW
253462010-06-28 Colin Watson <cjwatson@ubuntu.com>
25347
25348 * commands/cat.c (options): New variable.
25349 (grub_cmd_cat): Parse options. If the --dos option is given, print
25350 DOS-style "\r\n" line endings as simple newlines (Debian bug
25351 #586358).
25352 (GRUB_MOD_INIT): Use extcmd.
25353 (GRUB_MOD_FINI): Likewise.
25354 * docs/grub.texi (cat): Document --dos.
25355
412e09f3
VS
253562010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 XEN with Linux grub-mkconfig support.
25359
25360 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25361 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25362 GRUB_CMDLINE_XEN_DEFAULT.
25363 * util/grub.d/20_linux_xen.in: New file.
25364
53f3ef38 253652010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25366
25367 Initialise VGA video on qemu ourselves.
25368
25369 * boot/i386/qemu/boot.S: Don't call 0xc000.
25370 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25371 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25372 (kernel_img_HEADERS): Add pci.h.
25373 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25374 * configure.ac: Force unifont on qemu and yeeloong.
25375 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25376 (grub_vga_palette_write): Use correct register.
25377 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25378 Call grub_qemu_init_cirrus.
25379 * kern/i386/qemu/init.c: New file.
25380 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25381
25382 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25383
c75be4fb
PR
253842010-06-26 Pavel Roskin <proski@gnu.org>
25385
25386 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25387 13.
25388
d8034603
CW
253892010-06-26 Colin Watson <cjwatson@ubuntu.com>
25390
25391 * docs/grub.texi (Simple configuration): Explain that
25392 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25393 set to `true' to disable their respective recovery entries, not
25394 merely set.
25395
3fa06487
CW
253962010-06-26 Colin Watson <cjwatson@ubuntu.com>
25397
25398 Make the `source' command slightly faster.
25399
25400 * normal/main.c (grub_normal_execute): Don't re-read list files when
25401 nested.
25402
e9b29642
CW
254032010-06-23 Colin Watson <cjwatson@ubuntu.com>
25404
25405 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25406 field position and mask size to red fields from mode_info, not
25407 green.
25408 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25409 Remove redundant tag->common.framebuffer_type assignment.
25410 Reported by: Seth Goldberg.
25411
e726542f
CW
254122010-06-23 Colin Watson <cjwatson@ubuntu.com>
25413
25414 Sync up other versions of the Linux loader with Robert Millan's
25415 change of 2010-01-09, "Make loader output a bit more user-friendly".
25416
25417 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25418 grub_dprintf().
25419 (grub_cmd_linux): Likewise.
25420 (grub_cmd_initrd): Likewise.
25421 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25422 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25423
d6e98a17
CW
254242010-06-21 Colin Watson <cjwatson@ubuntu.com>
25425
25426 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25427 larger than MEMORY_MAP_SIZE.
25428
14d3f08e
BC
254292010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25430
25431 Fix parallel build.
25432
25433 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25434 dependency.
25435 * script/parser.y: #include grub_script.tab.h header.
25436
4f9613a3
VS
254372010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 Support >3GiB and <16MiB RAM in i386-qemu.
25440
25441 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25442 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25443 (grub_lower_mem): Removed.
25444 (grub_upper_mem): Likewise.
25445 (mem_size): Made static.
25446 (above_4g): New variable.
25447 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25448 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25449 support.
25450
05e51879
VS
254512010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 Cirrus 5446 and Bochs video cards support.
25454
25455 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25456 video_bochs.mod
25457 (video_cirrus_mod_SOURCES): New variable.
25458 (video_cirrus_mod_CFLAGS): Likewise.
25459 (video_cirrus_mod_LDFLAGS): Likewise.
25460 (video_bochs_mod_SOURCES): Likewise.
25461 (video_bochs_mod_CFLAGS): Likewise.
25462 (video_bochs_mod_LDFLAGS): Likewise.
25463 * include/grub/vga.h: New file.
25464 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25465 (grub_video_fb_set_page_t): New type.
25466 (grub_video_fb_setup): New prototype.
25467 (grub_video_fb_swap_buffers): Likewise.
25468 (grub_video_fb_get_info_and_fini): Likewise.
25469 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25470 (CRTC_DATA_PORT): Likewise.
25471 (CRTC_CURSOR): Likewise.
25472 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25473 (CRTC_CURSOR_ADDR_LOW): Likewise.
25474 (CRTC_CURSOR_DISABLE): Likewise.
25475 (update_cursor): Use grub_vga_cr_write.
25476 (grub_vga_text_setcursor): Likewise.
25477 * video/bochs.c: New file.
25478 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25479 (palette): Likewise.
25480 (palette_size): Likewise.
25481 (framebuffer): New variable.
25482 (grub_video_fb_init): Use 'framebuffer'.
25483 (grub_video_fb_fini): Likewise.
25484 (grub_video_fb_get_info): Likewise.
25485 (grub_video_fb_get_palette): Likewise.
25486 (grub_video_fb_set_palette): Likewise.
25487 (grub_video_fb_set_viewport): Likewise.
25488 (grub_video_fb_get_viewport): Likewise.
25489 (grub_video_fb_map_color): Likewise.
25490 (grub_video_fb_map_rgb): Likewise.
25491 (grub_video_fb_map_rgba): Likewise.
25492 (grub_video_fb_unmap_color): Likewise.
25493 (grub_video_fb_unmap_color_int): Likewise.
25494 (grub_video_fb_fill_rect): Likewise.
25495 (grub_video_fb_blit_bitmap): Likewise.
25496 (grub_video_fb_blit_render_target): Likewise.
25497 (grub_video_fb_scroll): Likewise.
25498 (grub_video_fb_create_render_target): Likewise.
25499 (grub_video_fb_doublebuf_blit_init): Likewise.
25500 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25501 (doublebuf_pageflipping_update_screen): New function.
25502 (doublebuf_pageflipping_init): Likewise.
25503 (grub_video_fb_setup): Likewise.
25504 (grub_video_fb_swap_buffers): Likewise.
25505 (grub_video_fb_get_info_and_fini): Likewise.
25506 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25507 All users updated.
25508 (doublebuf_pageflipping_commit): Restructured into ...
25509 (doublebuf_pageflipping_set_page): ... this.
25510 (doublebuf_pageflipping_update_screen): Removed.
25511 (doublebuf_pageflipping_init): Likewise.
25512 (double_buffering_init): Likewise.
25513 (grub_video_vbe_setup): Use grub_video_fb_setup.
25514 (grub_video_vbe_swap_buffers): Removed.
25515 (grub_video_vbe_set_active_render_target): Likewise.
25516 (grub_video_vbe_get_active_render_target): Likewise.
25517 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25518 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25519 grub_video_fb_set_active_render_target and
25520 grub_video_fb_get_active_render_target.
25521 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25522 (SEQUENCER_DATA_PORT): Likewise.
25523 (MAP_MASK_REGISTER): Likewise.
25524 (CRTC_ADDR_PORT): Likewise.
25525 (CRTC_DATA_PORT): Likewise.
25526 (START_ADDR_HIGH_REGISTER): Likewise.
25527 (START_ADDR_LOW_REGISTER): Likewise.
25528 (GRAPHICS_ADDR_PORT): Likewise.
25529 (GRAPHICS_DATA_PORT): Likewise.
25530 (READ_MAP_REGISTER): Likewise.
25531 (INPUT_STATUS1_REGISTER): Likewise.
25532 (INPUT_STATUS1_VERTR_BIT): Likewise.
25533 (get_map_mask): Use grub_vga_sr_read.
25534 (set_map_mask): Use grub_vga_sr_write.
25535 (set_read_map): Use grub_vga_gr_write.
25536 (set_start_address): Use grub_vga_cr_write.
25537 * video/sm712.c (framebuffer): Remove leftover fields.
25538
4321c64a
CW
255392010-06-20 Colin Watson <cjwatson@ubuntu.com>
25540
25541 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25542 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25543 instead. Replace the gfxterm backend check with a check that
25544 ${GRUB_PREFIX}/video.lst is non-empty.
25545 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25546 again.
25547 (load_video): New generated function. Call it before loading
25548 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25549 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25550 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25551 * docs/grub.texi (Simple configuration): Document
25552 GRUB_VIDEO_BACKEND.
25553
255542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25555
25556 Use video functions in linux and xnu loaders.
25557
25558 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25559 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25560 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25561 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25562 loader/i386/pc/linux.c.
25563 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25564 (find_line_len): Removed.
25565 (find_framebuf): Likewise.
25566 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25567 * loader/i386/efi/xnu.c: Removed.
25568 * loader/i386/pc/xnu.c: Moved from here...
25569 * loader/i386/xnu.c: ...here.
25570
25571 Enable priorities in video drivers.
25572
25573 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25574 (grub_video_adapter): New field prio.
25575 (grub_video_register): Respect prio when inserting.
25576 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25577 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25578 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25579 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25580 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25581 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25582 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25583
25584 Fix SDL driver ID.
25585
25586 * include/grub/video.h (grub_video_driver_id_t): New value
25587 GRUB_VIDEO_DRIVER_SDL.
25588 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25589
7d24e434
CW
255902010-06-17 Colin Watson <cjwatson@ubuntu.com>
25591
25592 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25593 argument to printf.
25594 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25595
c88a83f6
CW
255962010-06-17 Colin Watson <cjwatson@ubuntu.com>
25597
25598 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25599 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25600
094dfb69
CW
256012010-06-17 Colin Watson <cjwatson@ubuntu.com>
25602
25603 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25604 directly, and recommend grub-install instead.
25605 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25606
2164da6b
CW
256072010-06-17 Colin Watson <cjwatson@ubuntu.com>
25608
25609 Fix i386-pc prefix handling with nested partitions (Debian bug
25610 #585068). Note that the case where the core image is booted using
25611 multiboot and relocated from its original location still requires
25612 more work.
25613
25614 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25615 with "(,", fill the boot drive in between those two characters, but
25616 expect that a full partition specification including partition map
25617 names will follow.
25618 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25619 specified, write a prefix without the drive name but including a
25620 full partition specification.
25621
044e2e60
CW
256222010-06-16 Colin Watson <cjwatson@ubuntu.com>
25623
25624 * util/grub-mkconfig.in: Ignore non-option arguments, for
25625 compatibility with older versions (before 2010-06-12) which did the
25626 same. In particular, this makes it easier to ship an update-grub
25627 wrapper which is compatible with that used with GRUB Legacy (Debian
25628 bug #586056).
25629
5591324f
GS
256302010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25631
25632 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25633 for manual page generation.
25634
662e24d5
GS
256352010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25636
25637 * po/POTFILES: Remove leftover commands/handler.c.
25638
8d70754e
CW
256392010-06-14 Colin Watson <cjwatson@ubuntu.com>
25640
25641 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25642 left this script non-functional.
25643
41160e2e
CW
256442010-06-14 Colin Watson <cjwatson@ubuntu.com>
25645
25646 * docs/man/grub-emu.h2m: New file.
25647
b5309cc1
CW
256482010-06-13 Colin Watson <cjwatson@ubuntu.com>
25649
25650 * docs/grub.texi (Commands): Document reduced command set in rescue
25651 mode.
25652 (cpuid): New section.
25653
fcb2d090
GS
256542010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25655
25656 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25657 new partition naming style.
25658 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25659
96e5c556
BC
256602010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25661
25662 Add "-o grub.iso" like cmdline options support.
25663
25664 * util/grub-install.in: Improve cmdline option parsing.
25665 * util/grub-mkconfig.in: Likewise.
25666 * util/grub-mkrescue.in: Likewise.
25667 * util/grub-reboot.in: Likewise.
25668 * util/grub-set-default.in: Likewise.
25669 * util/i386/efi/grub-install.in: Likewise.
25670 * util/ieee1275/grub-install.in: Likewise.
25671 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25672
c16be99b
CW
256732010-06-12 Colin Watson <cjwatson@ubuntu.com>
25674
25675 * .bzrignore: Ignore 41_custom.
25676
ce08a9fb
TS
256772010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25678
25679 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25680
7beac90c
CW
256812010-06-12 Colin Watson <cjwatson@ubuntu.com>
25682
25683 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25684 prototype declarations.
25685
25686 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25687 generating fs, partmap, and video lists.
25688 * include/grub/fs.h (grub_fs_register): Omit prototype if
25689 GRUB_LST_GENERATOR is defined.
25690 * include/grub/partition.h (grub_partition_map_register): Likewise.
25691 * include/grub/video.h (grub_video_register): Likewise.
25692
1c8f0f8d
JM
256932010-06-12 Javier Martín <lordhabbit@gmail.com>
25694
25695 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25696
a6085973
TS
256972010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25698
25699 * util/grub-mkrescue.in: Support --xorriso argument.
25700
25c56d29
VS
257012010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25702
25703 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25704 Suggested by: Thomas Schmitt.
25705
e03e4b24
VS
257062010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25707
25708 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25709 Suggested by: Thomas Schmitt.
25710
57711df6
VS
257112010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25712
25713 custom.cfg support.
25714
25715 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25716 * util/grub.d/41_custom.in: New file.
25717
ee62c427
CW
257182010-06-12 Colin Watson <cjwatson@ubuntu.com>
25719
25720 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25721 been merged back into normal.
25722
283af07a
CW
257232010-06-11 Colin Watson <cjwatson@ubuntu.com>
25724
25725 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25726 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25727
56a0d956
CW
257282010-06-11 Colin Watson <cjwatson@ubuntu.com>
25729
25730 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25731 when generating manual pages.
25732 * docs/man/grub-bin2h.h2m: New file.
25733 * docs/man/grub-editenv.h2m: New file.
25734 * docs/man/grub-fstest.h2m: New file.
25735 * docs/man/grub-install.h2m: New file.
25736 * docs/man/grub-macho2img.h2m: New file.
25737 * docs/man/grub-mkconfig.h2m: New file.
25738 * docs/man/grub-mkdevicemap.h2m: New file.
25739 * docs/man/grub-mkfont.h2m: New file.
25740 * docs/man/grub-mkimage.h2m: New file.
25741 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25742 * docs/man/grub-mkrelpath.h2m: New file.
25743 * docs/man/grub-mkrescue.h2m: New file.
25744 * docs/man/grub-ofpathname.h2m: New file.
25745 * docs/man/grub-pe2elf.h2m: New file.
25746 * docs/man/grub-probe.h2m: New file.
25747 * docs/man/grub-reboot.h2m: New file.
25748 * docs/man/grub-script-check.h2m: New file.
25749 * docs/man/grub-set-default.h2m: New file.
25750 * docs/man/grub-setup.h2m: New file.
25751
3a37e322
VS
257522010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25753
25754 Use FOR_* macros instead of *_iterate whenever possible.
25755
25756 * commands/handler.c: Removed.
25757 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25758 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25759 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25760 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25761 (grub_probe_SOURCES): Remove kern/parser.c.
25762 (util/grub-script-check.c_DEPENDENCIES): Removed.
25763 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25764 and grub_script_check_init.c.
25765 (grub_script_check_init.lst): Removed.
25766 (grub_script_check_init.h): Likewise.
25767 (grub_script_check_init.c): Likewise.
25768 (pkglib_MODULES): Remove handler.mod and sh.mod.
25769 (handler_mod_SOURCES): Removed.
25770 (handler_mod_CFLAGS): Likewise.
25771 (handler_mod_LDFLAGS): Likewise.
25772 (normal_mod_SOURCES): Remove normal/handler.c.
25773 Add script/main.c, script/script.c, script/execute.c,
25774 script/function.c, script/lexer.c, grub_script.tab.c
25775 and grub_script.yy.c.
25776 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25777 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25778 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25779 (grub_setup_SOURCES): Remove kern/parser.c.
25780 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25781 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25782 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25783 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25784 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25785 (grub_setup_SOURCES): Remove kern/parser.c.
25786 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25787 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25788 * include/grub/command.h (grub_command_iterate): Removed.
25789 (FOR_COMMANDS): New macro.
25790 * include/grub/dl.h (grub_dl): New member next.
25791 (grub_dl_iterate): Removed.
25792 (grub_dl_head): New variable declaration.
25793 (FOR_DL_MODULES): New macro.
25794 * include/grub/fs.h: Include list.h.
25795 (grub_fs): Make next first element.
25796 (grub_fs_list): New variable declaration.
25797 (grub_fs_register): Make inline.
25798 (grub_fs_unregister): Likewise.
25799 (grub_fs_iterate): Removed.
25800 (FOR_FILESYSTEMS): New macro.
25801 * include/grub/handler.h: Removed.
25802 * include/grub/list.h (grub_list_hook_t): Removed.
25803 (grub_list_test_t): Likewise.
25804 (grub_list_pop): Likewise.
25805 (grub_list_iterate): Likewise.
25806 (grub_list_insert): Likewise.
25807 (FOR_LIST_ELEMENTS): New macro.
25808 * include/grub/parser.h (grub_parser_class): Removed.
25809 (grub_parser_register): Likewise.
25810 (grub_parser_unregister): Likewise.
25811 (grub_parser_get_current): Likewise.
25812 (grub_parser_set_current): Likewise.
25813 (grub_register_rescue_parser): Likewise.
25814 (grub_rescue_parse_line): New function.
25815 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25816 * include/grub/script_sh.h (grub_script_function_list): New variable
25817 declaration.
25818 (FOR_SCRIPT_FUNCTIONS): New macro.
25819 (grub_script_function_iterate): Removed.
25820 (grub_normal_parse_line): New prototype.
25821 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25822 (FOR_DISABLED_TERM_INPUTS): Likewise.
25823 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25824 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25825 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25826 element.
25827 (grub_video_register): Inline.
25828 (grub_video_unregister): Likewise.
25829 (grub_video_adapter_list): New variable declaration.
25830 (grub_video_iterate): Removed.
25831 (FOR_VIDEO_ADAPTERS): New macro.
25832 * kern/dl.c (grub_dl_list): Removed. All users updated.
25833 (grub_dl_iterate): Removed.
25834 * kern/fs.c (grub_fs_list): Make global.
25835 (grub_fs_register): Removed.
25836 (grub_fs_unregister): Likewise.
25837 (grub_fs_iterate): Likewise.
25838 * kern/handler.c: Removed.
25839 * kern/list.c (grub_list_pop): Removed.
25840 (grub_list_iterate): Likewise.
25841 (grub_list_insert): Likewise.
25842 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25843 (grub_prio_list_insert): Don't use grub_list_insert.
25844 * kern/main.c (grub_register_rescue_parser): Don't call
25845 grub_register_rescue_parser.
25846 * kern/parser.c (grub_parser_class): Removed.
25847 (grub_parser_execute): Use grub_rescue_parse_line.
25848 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25849 (grub_rescue_parser): Removed.
25850 (grub_register_rescue_parser): Likewise.
25851 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25852 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25853 (grub_auth_check_authentication): Likewise.
25854 * normal/completion.c (iterate_command): Removed.
25855 (grub_normal_do_completion): Use FOR_COMMANDS.
25856 * normal/handler.c: Removed.
25857 * normal/main.c (read_config_file): Remove parser changing.
25858 (grub_normal_execute): Don't call read_handler_list.
25859 (grub_normal_read_line_real): Statically allocate prompt.
25860 (grub_cmdline_run): Use grub_normal_parse_line.
25861 (GRUB_MOD_FINI): Don't call free_handler_list.
25862 * normal/menu_entry.c (run): Likewise.
25863 * script/function.c (grub_script_function_list): Make global.
25864 (grub_script_function_iterate): Removed.
25865 * script/main.c (grub_normal_parse_line): Make global.
25866 (grub_sh_parser): Removed.
25867 (GRUB_MOD_INIT): Likewise.
25868 (GRUB_MOD_FINI): Likewise.
25869 * tests/lib/functional_test.c (grub_functional_test): Use
25870 FOR_LIST_ELEMENTS.
25871 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25872 (grub_test_run): Use FOR_LIST_ELEMENTS.
25873 * tests/lib/unit_test.c (main): Likewise.
25874 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25875 grub_list_pop.
25876 * util/grub-fstest.c (grub_term_input_class): Removed.
25877 (grub_term_output_class): Likewise.
25878 * util/grub-probe.c: Likewise.
25879 * util/i386/pc/grub-setup.c: Likewise.
25880 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25881 * util/grub-script-check.c (main): Don't call grub_init_all and
25882 grub_fini_all.
25883 * video/video.c (grub_video_adapter_list): Make global.
25884 (grub_video_register): Removed.
25885 (grub_video_unregister): Likewise.
25886 (grub_video_iterate): Likewise.
25887
6289c3a7
VS
258882010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25889
25890 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25891 reported by Henrique Ferreiro.
25892
91460247
RM
258932010-06-09 Robert Millan <rmh@gnu.org>
25894
25895 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25896 ones, when both are available.
25897
0ea7c4f9
GS
258982010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25899
25900 Make --version uniform and avoid hard-coded program name.
25901
25902 * util/grub-mkimage.c (main): Use `program_name' instead of
25903 hard-coded string.
25904 * util/i386/pc/grub-setup.c (main): Likewise.
25905 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25906 * util/grub-install.in: Save the basename of $0 in $self, and use the
25907 latter in informational messages. Use the same format for --version
25908 as the binary programs.
25909 * util/grub-mkconfig.in: Likewise.
25910 * util/grub-mkrescue.in: Likewise.
25911 * util/grub-reboot.in: Likewise.
25912 * util/grub-set-default.in: Likewise.
25913 * util/i386/efi/grub-install.in: Likewise.
25914 * util/ieee1275/grub-install.in: Likewise.
25915 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25916
e8a6f3b6
GS
259172010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25918
25919 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25920 embedding area. Use <= instead of == when checking for non-emptiness.
25921
f4d095d7
GS
259222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25923
25924 * configure.ac: Add `.' to the directories searched for unifont.
25925
50e532ca
CW
259262010-06-08 Colin Watson <cjwatson@ubuntu.com>
25927
25928 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25929 grub_script.yy.h.
25930
d39f3dec
CW
259312010-06-08 Colin Watson <cjwatson@ubuntu.com>
25932
25933 * docs/grub.texi (History): Expand to cover GRUB 2.
25934 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25935 commands, not `terminal'.
25936 (serial): Likewise.
25937 (terminal_input): New section.
25938 (terminal_output): New section.
25939 (uppermem): New section (stub).
25940 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25941
6ef0ddb4
CW
259422010-06-08 Colin Watson <cjwatson@ubuntu.com>
25943
25944 * docs/grub.texi (Security): Menu entries are unrestricted by
25945 default, not restricted to superusers as I had previously thought.
25946 Reword to account for this.
25947
e0f4c438
CW
259482010-06-07 Colin Watson <cjwatson@ubuntu.com>
25949
25950 * kern/emu/misc.c (device_mapper_null_log): New function.
25951 (grub_device_mapper_supported): New function.
25952 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25953 prototype.
25954 * kern/emu/hostdisk.c (find_partition_start): Check whether
25955 device-mapper is supported before trying to use it.
25956 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25957
da908200
CW
259582010-06-07 Colin Watson <cjwatson@ubuntu.com>
25959
25960 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25961 (File name syntax): Likewise.
25962 (help): --all is no longer supported in GRUB 2. Be more precise
25963 about pattern matching.
25964
fb55c3ac
CW
259652010-06-07 Colin Watson <cjwatson@ubuntu.com>
25966
25967 * normal/completion.c (grub_normal_do_completion): When completing
25968 arguments to "set" and the current word contains an equals sign,
25969 skip to after the equals sign before starting completion.
25970
258c2573
CW
259712010-06-07 Colin Watson <cjwatson@ubuntu.com>
25972
25973 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25974
ee75515e
CW
259752010-06-07 Colin Watson <cjwatson@ubuntu.com>
25976
25977 * docs/grub.texi (Network): New section.
25978 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25979 `(nd)' as in GRUB Legacy.
25980 (pxe_unload): New section.
25981
a6a700aa
CW
259822010-06-07 Colin Watson <cjwatson@ubuntu.com>
25983
25984 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25985 in the rescue shell, so recommend using `set' instead. Thanks,
25986 Jordan Uggla.
25987
4003dd38
CW
259882010-06-07 Colin Watson <cjwatson@ubuntu.com>
25989
25990 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25991 (password): New section.
25992 (password_pbkdf2): New section.
25993 (search): New section.
25994 (Security): New section.
25995 (Troubleshooting): New section, currently very incomplete.
25996 (Invoking grub-mkpasswd-pbkdf2): New section.
25997 (Internals): New section, currently very incomplete.
25998
e1cbcc40
CW
259992010-06-07 Colin Watson <cjwatson@ubuntu.com>
26000
26001 * util/grub.d/00_header.in: Add some more quoting (of
26002 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26003 work again.
26004 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26005
db8fa1ad
CW
260062010-06-07 Colin Watson <cjwatson@ubuntu.com>
26007
26008 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26009 to `count', fixing variable shadowing that broke the -c option.
26010
260112010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26012
26013 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26014 in case they contain spaces.
26015
f28a9212
CW
260162010-06-04 Colin Watson <cjwatson@ubuntu.com>
26017
26018 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26019 "part_" to partmap module names, in line with grub-install.
26020 Reported by: Jindřich Makovička (Debian bug #584426).
26021
9cdfe32f
CW
260222010-06-04 Colin Watson <cjwatson@ubuntu.com>
26023
26024 * util/grub-mkimage.c: Make target-related error messages slightly
26025 more helpful; -O talks about "format". Explicitly point to the use
26026 of -O if no target is specified.
26027 Reported by: Didier Raboud (Debian bug #584415).
26028
795b593a
CW
260292010-06-03 Colin Watson <cjwatson@ubuntu.com>
26030
26031 * INSTALL: Document several build requirements for optional features
26032 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26033
9d9b5833
GS
260342010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26035
26036 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26037 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26038 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26039
0819fec8
CW
260402010-06-02 Colin Watson <cjwatson@ubuntu.com>
26041
26042 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26043 Thanks to Jordan Uggla for spotting this.
26044
49396b4f
VS
260452010-06-02 Aleš Nesrsta <starous@volny.cz>
26046
26047 Finally make USB usable.
26048
26049 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26050 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26051 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26052 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26053 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26054 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26055 (GRUB_OHCI_FSMPS): Likewise.
26056 (GRUB_OHCI_PERIODIC_START): Likewise.
26057 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26058 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26059 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26060 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26061 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26062 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26063 (grub_ohci_transaction): Likewise.
26064 (grub_ohci_transfer): Improve condition detection algorithms.
26065 Handle toggle property. Program the transactions correctly.
26066 Improve error handling. Various important fixups.
26067 (grub_ohci_portstatus): Put register writes in right order.
26068 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26069 (grub_uhci_transfer): Don't show "failed" message on success.
26070 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26071 array.
26072 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26073 determine its size.
26074 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26075 before initialization is completed. Use IN direction for empty
26076 transfers. Use last_trans and compute toggle.
26077 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26078 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26079 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26080 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26081 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26082 (grub_usb_device): Increase toggle to 256.
26083 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26084 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26085 GRUB_USBMS_SUBCLASS_SFF8070.
26086 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26087 (grub_scsi_inquiry): New member page and alloc_length.
26088 (grub_scsi_request_sense): New structure.
26089 (grub_scsi_request_sense_data): Likewise.
26090 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26091 control.
26092 * disk/scsi.c (grub_scsi_request_sense): New function.
26093 (grub_scsi_test_unit_ready): Likewise.
26094 (grub_scsi_inquiry): Fill new fields.
26095 (grub_scsi_read_capacity): Likewise.
26096 (grub_scsi_read10): Add request sense at the end.
26097 (grub_scsi_read12): Likewise.
26098 (grub_scsi_write10): Likewise.
26099 (grub_scsi_write12): Likewise.
26100 (grub_scsi_open): Add Test Unit Ready.
26101 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26102 Support additional subclasses. Con't clear halt yet. Activate the
26103 proper config. Calculate LUNs correctly.
26104 (grub_usbms_transfer): Various important fixups.
26105
261062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26107
26108 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26109 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26110 (grub_ohci_fini_hw): New function.
26111 (grub_ohci_restore_hw): Likewise.
26112 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26113 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26114 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26115
261162010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26117
26118 Dedicated DMA allocations.
26119
26120 * bus/pci.c (grub_memalign_dma32): New function
26121 (grub_dma_free): Likewise.
26122 (grub_dma_get_virt): Likewise.
26123 (grub_dma_get_phys): Likewise.
26124 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26125 (grub_ohci_pci_iter): Use dma32_alloc.
26126 (grub_ohci_transfer): Likewise.
26127 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26128 (grub_usb_bulk_readwrite): Likewise.
26129 * include/grub/pci.h: Add declarations.
26130
261312010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 CS5536 support.
26134
26135 * bus/cs5536.c: New file.
26136 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26137 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26138 (cs5536_mod_SOURCES): New variable.
26139 (cs5536_mod_CFLAGS): Likewise.
26140 (cs5536_mod_LDFLAGS): Likewise.
26141 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26142 machine/pci.h.
26143 (kernel_img_SOURCES): Add bus/cs5536.c.
26144 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26145 usb_keyboard.mod.
26146 (usb_mod_SOURCES): New variable.
26147 (usb_mod_CFLAGS): New variable.
26148 (usb_mod_LDFLAGS): New variable.
26149 (usbtest_mod_SOURCES): New variable.
26150 (usbtest_mod_CFLAGS): New variable.
26151 (usbtest_mod_LDFLAGS): New variable.
26152 (ohci_mod_SOURCES): New variable.
26153 (ohci_mod_CFLAGS): New variable.
26154 (ohci_mod_LDFLAGS): New variable.
26155 (usbms_mod_SOURCES): New variable.
26156 (usbms_mod_CFLAGS): New variable.
26157 (usbms_mod_LDFLAGS): New variable.
26158 (usb_keyboard_mod_SOURCES): New variable.
26159 (usb_keyboard_mod_CFLAGS): New variable.
26160 (usb_keyboard_mod_LDFLAGS): New variable.
26161 * include/grub/smbus.h: New file.
26162 * include/grub/cs5536.h: New file.
26163
0b35b2a9
CW
261642010-06-02 Colin Watson <cjwatson@ubuntu.com>
26165
26166 * util/grub.d/00_header.in: Add safety check to make sure that
26167 ${locale_dir} exists before trying to probe it.
26168
ca0afd5b
CW
261692010-06-02 Colin Watson <cjwatson@ubuntu.com>
26170
26171 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26172 per the GNU Coding Standards; this is now too obscure to be worth
26173 documenting.
26174 (QNX): Likewise.
26175 (chainloader): Remove cross-reference to `SCO UnixWare'.
26176
1c41aa78
CW
261772010-06-02 Colin Watson <cjwatson@ubuntu.com>
26178
26179 * docs/grub.texi (Chain-loading): New section.
26180 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26181 adjusted for GRUB 2.
26182 (SCO UnixWare): Likewise.
26183 (QNX): Likewise.
26184 (chainloader): Add reference to `Block list syntax'.
26185 (drivemap): New section.
26186 (parttool): New section.
26187
bb8ea0f5
CW
261882010-06-02 Colin Watson <cjwatson@ubuntu.com>
26189
26190 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26191 the grub shell'.
26192 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26193 (Installing GRUB using grub-install): Remove reference to the grub
26194 shell; mention `grub-mkimage' and `grub-setup' instead.
26195 (Invoking grub-install): Likewise.
26196 (Interface): Add reference to `Menu entry editor'.
26197 (serial): Remove `--device' option.
26198
288dd6ed
CW
261992010-06-02 Colin Watson <cjwatson@ubuntu.com>
26200
26201 * docs/grub.texi (Configuration): New section, documenting
26202 configuration file generation using grub-mkconfig. I've left a slot
26203 for documenting the full shell scripting format but have not yet
26204 started on writing that up.
26205 (Invoking grub-mkconfig): New section.
26206
34c9f0e9
CW
262072010-06-02 Colin Watson <cjwatson@ubuntu.com>
26208
26209 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26210 (GNU GRUB manual): Likewise.
26211 (General commands): Update description of `terminfo' for GRUB 2.
26212
9121567e
CW
262132010-06-02 Colin Watson <cjwatson@ubuntu.com>
26214
26215 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26216 (GRUB_MOD_INIT): Fix capitalisation.
26217 * docs/grub.texi (Command-line and menu entry commands): Document
26218 gettext and gptsync commands.
26219
ab631611
CW
262202010-06-02 Colin Watson <cjwatson@ubuntu.com>
26221
26222 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26223 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26224
bde4a9ac
CW
262252010-06-01 Colin Watson <cjwatson@ubuntu.com>
26226
26227 Add btrfs probing support, currently only in the single-device case.
26228
26229 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26230 function.
26231 (grub_guess_root_device): Call find_root_device_from_mountinfo
26232 before looking in /dev.
26233
b1d17e10
VS
262342010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26237 GRUB_DISK_SIZE_UNKNOWN.
26238 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26239
dfbfe004
JS
262402010-05-31 Jiro SEKIBA <jir@unicus.jp>
26241
26242 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26243 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26244 corrupted or not synced properly.
26245
c2ffc8e9
VS
262462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26247
26248 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26249 Reported by: Seth Goldberg.
26250
56293166
VS
262512010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26252
26253 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26254 addition of dest.
26255 Reported by: Seth Goldberg.
26256
7620e7de
VS
262572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26260 Reported by: Seth Goldberg.
26261
c837af3f
VS
262622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26265 64-bit address as signed on MIPS.
26266
c7c75cf4
CW
262672010-05-28 Colin Watson <cjwatson@ubuntu.com>
26268
26269 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26270 to the empty string.
26271
fa4b8490
BC
262722010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26273
26274 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26275
26276 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26277 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26278 * kern/misc.c (__enable_execute_stack): Disable on
26279 GRUB_MACHINE_EMU.
26280
a33075b9
CW
262812010-05-28 Colin Watson <cjwatson@ubuntu.com>
26282
26283 Make grub-probe work with symbolic links under /dev/mapper as well
26284 as with real block devices. The Linux world seems to be (at best)
26285 in transition here, and GRUB shouldn't get caught in the middle.
26286
26287 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26288 /dev/mapper.
26289
d8708134
CW
262902010-05-27 Colin Watson <cjwatson@ubuntu.com>
26291
26292 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26293 input files (in which case exit zero).
26294
db2102a0
CW
262952010-05-27 Colin Watson <cjwatson@ubuntu.com>
26296
26297 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26298 return NULL for various reasons even if it has a maximum-length
26299 buffer: for example, there might be a symlink loop, or the path
26300 might exceed PATH_MAX. If this happens, return NULL.
26301
5fdba519
RM
263022010-05-27 Robert Millan <rmh@gnu.org>
26303
26304 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26305 partmap module to handle cross-partmap setups.
26306 Reported by Orestes Mas. Gràcies!
26307
d1d368e4
CW
263082010-05-27 Colin Watson <cjwatson@ubuntu.com>
26309
26310 * util/grub-mkrescue.in: Initialise override_dir rather than
26311 assuming that it's unset or empty in the environment.
26312
95ac3c73
GS
263132010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26314
26315 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26316 variable index into p_index to suppress a warning with -Wshadow.
26317
7d8c0213
BC
263182010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26319
26320 * INSTALL: Added flex >= 2.5.35 requirement.
26321
db4d5813
VS
263222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26323
26324 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26325
f24f4300
VS
263262010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26327
26328 cmostest support.
26329
26330 * commands/i386/cmostest.c: New file.
26331 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26332 (cmostest_mod_SOURCES): New variable.
26333 (cmostest_mod_CFLAGS): Likewise.
26334 (cmostest_mod_LDFLAGS): Likewise.
26335 * conf/i386-pc.rmk: Likewise.
26336 * docs/grub.texi (Vendor power-on keys): New section.
26337 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26338 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26339 and GRUB_BUTTON_CMOS_ADDRESS.
26340 * util/grub.d/00_header.in: Handle powering-on by separate button.
26341
ad603f61
VS
263422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26345 Removed drawing_scrollbar argument. All users updated
26346 Fixes #29792.
26347 Reported by Jo Shields
26348
3ecb080a
VS
263492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26350
26351 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26352 buffer since gfxterm handles double repaint.
26353
5f2316c1
VS
263542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26355
26356 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26357 * term/gfxterm.c (real_scroll): Likewise.
26358
9a25f885
VS
263592010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26360
26361 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26362 before calling BIOS.
26363
39fbb79a
VS
263642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26365
26366 * include/grub/i18n.h: Always enable grub_gettext.
26367
228cfa97
VS
263682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26369
26370 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26371 partition naming style.
26372
21717c8f
CW
263732010-05-21 Colin Watson <cjwatson@ubuntu.com>
26374
26375 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26376 not the first option.
26377
c0f48e65
CW
263782010-05-20 Colin Watson <cjwatson@ubuntu.com>
26379
26380 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26381
96779aec
CW
263822010-05-20 Colin Watson <cjwatson@ubuntu.com>
26383
26384 * util/misc.c: Move inclusion of <limits.h> to ...
26385 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26386
fa9d256e
GS
263872010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26388
26389 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26390 Fix merge error in NetBSD code.
26391 (find_partition_start) [__NetBSD__]: Likewise.
26392
123b7a85
BC
263932010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26394
26395 Fix grub-mkrescue usage unit testing.
26396
26397 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26398
74276c0d
CF
263992010-05-18 Christian Franke <franke@computer.org>
26400
26401 * util/grub.d/10_windows.in: Use path names instead of
26402 drive letters to prevent warning from Cygwin 1.7.
26403 Add drivemap command to menuentry if needed.
26404
c4f7b523
ST
264052010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26406
26407 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26408 gnumach and gnumach.gz.
26409
95b97950
VS
264102010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26411
26412 * include/grub/i18n.h (gettext): Inline instead of using #define.
26413 (grub_gettext): Likewise.
26414 (_): Likewise.
26415
01b8d2d7
VS
264162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26417
26418 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26419 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26420 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26421 (main): Add a slash after pkglibdirroot.
26422
654e1d1e
VS
264232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26424
26425 * util/grub-install.in: Add missing "in" keyword.
26426
26966aeb
VS
264272010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26428
26429 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26430 Reported by: Seth Goldberg.
26431
75006747
VS
264322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26433
26434 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26435
74cbf5bd
CW
264362010-05-18 Colin Watson <cjwatson@ubuntu.com>
26437
26438 * configure.ac: Check for Linux device-mapper support.
26439
26440 * util/hostdisk.c (device_is_mapped): New function.
26441 (find_partition_start): New function, partly broken out from
26442 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26443 device-mapper support added.
26444 (linux_find_partition): Use find_partition_start.
26445 (convert_system_partition_to_system_disk): Add `st' argument.
26446 Support Linux /dev/mapper/* devices if device-mapper support is
26447 available; only DM-RAID devices are understood at present.
26448 (find_system_device): Add `st' argument. Pass it to
26449 convert_system_partition_to_system_disk.
26450 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26451 find_system_device and convert_system_partition_to_system_disk. Use
26452 find_partition_start.
26453
26454 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26455 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26456 * util/deviceiter.c [__linux__]: Define MINOR.
26457 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26458 * util/mkdevicemap.c (grub_putchar): New function.
26459 (grub_getkey): New function.
26460 (grub_refresh): New function.
26461 (main): Set debug=all if -v -v is used.
26462
355b51e9
CW
264632010-05-18 Colin Watson <cjwatson@ubuntu.com>
26464
26465 Fix build with non-GNU libcs.
26466
26467 * util/misc.c (canonicalize_file_name): Move to ...
26468 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26469 grub_make_system_path_relative_to_its_root.
26470
7fb5c25f
CW
264712010-05-18 Colin Watson <cjwatson@ubuntu.com>
26472
26473 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26474 we handle finding grub-mkimage. Default to finding grub-mkimage in
26475 ${bindir} with program_transform_name applied, and provide a
26476 --grub-mkimage option to override this.
26477
1d3293d6
VS
264782010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26479
26480 Remove grub-mkisofs.
26481
26482 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26483 (grub_mkisofs_SOURCES): Removed.
26484 (grub_mkisofs_CFLAGS): Removed.
26485 * util/mkisofs/defaults.h: Removed.
26486 * util/mkisofs/eltorito.c: Likewise.
26487 * util/mkisofs/exclude.h: Likewise.
26488 * util/mkisofs/hash.c: Likewise.
26489 * util/mkisofs/include/: Likewise.
26490 * util/mkisofs/include/fctldefs.h: Likewise.
26491 * util/mkisofs/include/mconfig.h: Likewise.
26492 * util/mkisofs/include/prototyp.h: Likewise.
26493 * util/mkisofs/include/statdefs.h: Likewise.
26494 * util/mkisofs/iso9660.h: Likewise.
26495 * util/mkisofs/joliet.c: Likewise.
26496 * util/mkisofs/match.c: Likewise.
26497 * util/mkisofs/match.h: Likewise.
26498 * util/mkisofs/mkisofs.c: Likewise.
26499 * util/mkisofs/mkisofs.h: Likewise.
26500 * util/mkisofs/msdos_partition.h: Likewise.
26501 * util/mkisofs/multi.c: Likewise.
26502 * util/mkisofs/name.c: Likewise.
26503 * util/mkisofs/rock.c: Likewise.
26504 * util/mkisofs/tree.c: Likewise.
26505 * util/mkisofs/write.c: Likewise.
26506
5dde9afe
VS
265072010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26508
26509 Unify grub-mkimage accross platforms.
26510
26511 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26512 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26513 (grub_mkelfimage_SOURCES): Removed.
26514 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26515 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26516 (bin_UTILITIES): Add grub-mkimage.
26517 (grub_mkimage_SOURCES): New variable.
26518 (kernel_img_HEADERS): Remove machine/kernel.h.
26519 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26520 (pkglib_PROGRAMS): Add kernel.img.
26521 (kernel_img_HEADERS): Add machine/kernel.h.
26522 (kernel_img_FORMAT): Removed.
26523 (bin_UTILITIES): Remove grub-mkimage.
26524 (grub_mkimage_SOURCES): Removed.
26525 (grub_mkimage_CFLAGS): Likewise.
26526 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26527 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26528 (pkglib_PROGRAMS): Add kernel.img.
26529 (bin_UTILITIES): Remove grub-mkimage.
26530 (grub_mkimage_SOURCES): Removed.
26531 (grub_mkimage_CFLAGS): Likewise.
26532 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26533 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26534 (pkglib_PROGRAMS): Add kernel.img.
26535 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26536 (pkglib_PROGRAMS): Add kernel.img.
26537 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26538 (grub_mkimage_SOURCES): Removed.
26539 (grub_mkimage_CFLAGS): Likewise.
26540 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26541 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26542 (pkglib_PROGRAMS): Add kernel.img.
26543 (bin_UTILITIES): Remove grub-mkimage.
26544 (grub_mkimage_SOURCES): Removed.
26545 (grub_mkimage_CFLAGS): Likewise.
26546 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26547 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26548 (grub_mkimage_SOURCES): Removed.
26549 (grub_mkimage_CFLAGS): Likewise.
26550 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26551 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26552 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26553 (grub_pe32_optional_header): ... this.
26554 (grub_pe64_optional_header): ... and this. All users updated.
26555 (GRUB_PE32_PE32_MAGIC): Split into ..
26556 (GRUB_PE32_PE32_MAGIC): .. this.
26557 (GRUB_PE32_PE64_MAGIC): .. and this.
26558 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26559 * include/grub/elf.h (PT_GNU_STACK): New definition.
26560 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26561 * include/grub/i386/efi/kernel.h: Likewise.
26562 * include/grub/i386/kernel.h: Likewise.
26563 * include/grub/i386/pc/kernel.h: Likewise.
26564 * include/grub/i386/qemu/boot.h: Likewise.
26565 * include/grub/mips/kernel.h: Likewise.
26566 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26567 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26568 * include/grub/powerpc/kernel.h: Likewise.
26569 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26570 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26571 * include/grub/sparc64/kernel.h: Likewise.
26572 * include/grub/x86_64/efi/kernel.h: Likewise.
26573 * include/grub/x86_64/kernel.h: Likewise.
26574 * include/grub/offsets.h: New file.
26575 * include/grub/kernel.h (grub_module_info): Split into ...
26576 (grub_module_info32): ... this.
26577 (grub_module_info64): ... and this.
26578 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26579 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26580 (grub_boot_blocklist): Moved from here ...
26581 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26582 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26583 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26584 * include/grub/types.h (grub_target_to_host16): Removed.
26585 (grub_target_to_host32): Likewise.
26586 (grub_target_to_host64): Likewise.
26587 (grub_host_to_target16): Likewise.
26588 (grub_host_to_target32): Likewise.
26589 (grub_host_to_target64): Likewise.
26590 (grub_host_to_target_addr): Likewise.
26591
26592 Support grub-mkrescue for efi, coreboot and qemu.
26593
26594 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26595 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26596 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26597 * util/grub-mkrawimage.c: Moved from here ...
26598 * util/grub-mkimage.c: ... here. All users updated.
26599 (ALIGN_ADDR): Use image_target.
26600 (TARGET_NO_FIELD): New const.
26601 (image_target_desc): New type.
26602 (image_targets): New array.
26603 (grub_target_to_host64): Use image_target.
26604 (grub_target_to_host32): Likewise.
26605 (grub_target_to_host16): Likewise.
26606 (grub_host_to_target64): Likewise.
26607 (grub_host_to_target32): Likewise.
26608 (grub_host_to_target16): Likewise.
26609 (grub_host_to_target_addr): Likewise.
26610 (generate_image): Handle multiimage.
26611 (main): Require -O parameter. All users updated.
26612 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26613 util/efi/grub-mkimage.c
26614 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26615 New option --rom-directory.
26616 Use xorriso.
26617 * util/i386/efi/grub-mkimage.c: Removed.
26618 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26619 (grub_target_to_host32): Likewise.
26620 (grub_target_to_host64): Likewise.
26621 (grub_host_to_target16): Likewise.
26622 (grub_host_to_target32): Likewise.
26623 (grub_host_to_target64): Likewise.
26624 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26625 (grub_target_to_host32): Likewise.
26626 (grub_target_to_host64): Likewise.
26627 (grub_host_to_target16): Likewise.
26628 (grub_host_to_target32): Likewise.
26629 (grub_host_to_target64): Likewise.
26630
f4fc97d0
BC
266312010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26632
26633 Source tree is reorganized for emu build.
26634
26635 * include/grub/util/console.h: Move from here...
26636 * include/grub/emu/console.h: ...to here.
26637 * include/grub/util/getroot.h: Move from here...
26638 * include/grub/emu/getroot.h: ...to here.
26639 * include/grub/util/hostdisk.h: Move from here...
26640 * include/grub/emu/hostdisk.h: ...to here.
26641 * util/console.c: Move from here...
26642 * kern/emu/console.c: ...to here.
26643 * util/getroot.c: Move from here...
26644 * kern/emu/getroot.c: ...to here.
26645 * util/grub-emu.c: Move from here...
26646 * kern/emu/main.c: ...to here.
26647 * util/hostdisk.c: Move from here...
26648 * kern/emu/hostdisk.c: ...to here.
26649 * util/hostfs.c: Move from here...
26650 * kern/emu/hostfs.c: ...to here.
26651 * util/mm.c: Move from here...
26652 * kern/emu/mm.c: ...to here.
26653 * util/pci.c: Move from here...
26654 * bus/emu/pci.c: ...to here.
26655 * util/sdl.c: Move from here...
26656 * video/emu/sdl.c: ...to here.
26657 * util/time.c: Move from here...
26658 * kern/emu/time.c: ...to here.
26659 * util/usb.c: Move from here...
26660 * bus/usb/emu/usb.c: ...to here.
26661
26662 * include/grub/emu/misc.h: New header for grub-emu functions.
26663 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26664
26665 * conf/any-emu.rmk: Rule updates for above renames.
26666 * conf/common.rmk: Likewise.
26667 * conf/i386-pc.rmk: Likewise.
26668 * conf/i386-qemu.rmk: Likewise.
26669 * conf/mips.rmk: Likewise.
26670 * conf/sparc64-ieee1275.rmk: Likewise.
26671 * conf/x86-efi.rmk: Likewise.
26672
26673 * disk/lvm.h: #include updates for above renames.
26674 * util/grub-mkrelpath.c: Likewise.
26675 * util/grub-probe.c: Likewise.
26676 * util/i386/pc/grub-setup.c: Likewise.
26677 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26678 * kern/emu/console.c: Likewise.
26679 * kern/emu/getroot.c: Likewise.
26680 * kern/emu/hostdisk.c: Likewise.
26681 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26682
26683 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26684 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26685 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26686 * util/misc.c: Remove grub-emu functions.
26687
cced9145
VS
266882010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26689
26690 Fix gfxmenu crash.
26691 Reported by: Thorsten Grützmacher.
26692
26693 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26694 timeout hook.
26695 (circprog_set_property): Register and unregister timeout hook.
26696 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26697 (label_destroy): Free template. and unregister hook.
26698 (label_set_state): New function.
26699 (label_set_property): Handle templates and hooks.
26700 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26701 timeout hook.
26702 (progress_bar_set_property): Register and unregister timeout hook.
26703 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26704 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26705 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26706 (update_timeout_visit): Removed.
26707 (update_timeouts): New function.
26708 (redraw_timeouts): Likewise.
26709 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26710 (grub_gfxmenu_clear_timeout): Likewise.
26711 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26712 (grub_gfxmenu_timeout_notify): Likewise.
26713 (grub_gfxmenu_timeout_notifications): New external variable.
26714 (grub_gfxmenu_timeout_register): New function.
26715 (grub_gfxmenu_timeout_unregister): Likewise.
26716
c6e5caab
VS
267172010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26718
26719 Transform (broken) vga terminal into (working) vga video driver.
26720
26721 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26722 video/i386/pc/vga.c.
26723 * include/grub/video.h (grub_video_driver_id):
26724 Add GRUB_VIDEO_DRIVER_VGA.
26725 * term/i386/pc/vga.c: Renamed to ...
26726 * video/i386/pc/vga.c: ...this
26727 (DEBUG_VGA): Removed.
26728 (CHAR_WIDTH): Likewise.
26729 (CHAR_HEIGHT): Likewise.
26730 (TEXT_WIDTH): Likewise.
26731 (TEXT_HEIGHT): Likewise.
26732 (DEFAULT_FG_COLOR): Likewise.
26733 (DEFAULT_BG_COLOR): Likewise.
26734 (colored_char): Likewise.
26735 (xpos): Likewise.
26736 (ypos): Likewise.
26737 (cursor_state): Likewise.
26738 (fg_color): Likewise.
26739 (bg_color): Likewise.
26740 (text_buf): Likewise.
26741 (page): Likewise.
26742 (font): Likewise.
26743 (framebuffer): New variable.
26744 (set_read_map): Disabled.
26745 (setup): New variable.
26746 (is_target): Likewise.
26747 (grub_vga_mod_init): Likewise.
26748 (grub_vga_mod_fini): Likewise.
26749 (check_vga_mem): Likewise.
26750 (write_char): Likewise.
26751 (write_cursor): Likewise.
26752 (scroll_up): Likewise.
26753 (grub_vga_putchar): Likewise.
26754 (grub_vga_getcharwidth): Likewise.
26755 (grub_vga_getwh): Likewise.
26756 (grub_vga_getxy): Likewise.
26757 (grub_vga_gotoxy): Likewise.
26758 (grub_vga_cls): Likewise.
26759 (grub_vga_setcolorstate): Likewise.
26760 (grub_vga_setcursor): Likewise.
26761 (grub_video_vga_init): New function.
26762 (grub_video_vga_setup): Likewise.
26763 (grub_video_vga_fini): Likewise.
26764 (update_target): Likewise.
26765 (grub_video_vga_blit_bitmap): Likewise.
26766 (grub_video_vga_blit_render_target): Likewise.
26767 (grub_video_vga_set_active_render_target): Likewise.
26768 (grub_video_vga_get_active_render_target): Likewise.
26769 (grub_video_vga_swap_buffers): Likewise.
26770 (grub_video_vga_set_palette): Likewise.
26771 (grub_video_vga_get_info_and_fini): Likewise.
26772 (grub_vga_term): Removed.
26773 (grub_video_vga_adapter): New variable.
26774 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26775 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26776
2bf61a98
VS
267772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * video/readers/jpeg.c: Indented.
26780
09ddcd11
VS
267812010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26782
26783 Various jpeg cleanups.
26784
26785 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26786 (grub_jpeg_decode_quan_table): Use sizeof.
26787 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26788
e5507505
PH
267892010-05-05 Peter Hurley <No e-mail available> (tiny change)
26790
26791 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26792 tables. Ignore non-last ac bit.
26793 (grub_jpeg_decode_quan_table): Likewise.
26794
7e720a9b
VS
267952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26798 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26799 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26800 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26801 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26802 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26803
a7fc080b
VS
268042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26805
26806 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26807 error.
26808
2bf6012d
VS
268092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26810
26811 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26812
265d68cd
VS
268132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26814
26815 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26816 condition.
26817
268182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26819
26820 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26821 part.
26822
265d68cd 268232010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26824
26825 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26826 pointers.
26827
265d68cd 268282010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26829
26830 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26831
d1b61374
CF
268322010-05-01 Christian Franke <franke@computer.org>
26833
26834 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26835 Remove broken Cygwin path conversion.
26836 * util/misc.c: [__CYGWIN__] Add include and define.
26837 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26838 for Cygwin 1.7.
26839 (make_system_path_relative_to_its_root): Simplify loop, replace early
26840 return by break.
26841 [__CYGWIN__] Add conversion to win32 path.
26842 Include "/" case in trailing slash removal.
26843
3558c6e9
VS
268442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26845
26846 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26847 Reported by: Seth Goldberg
26848
f5f3ff93
VS
268492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 * commands/help.c (grub_cmd_help): Fix a typo.
26852 Reported by: Seth Goldberg
26853
d8b5cd40
VS
268542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26857 name and add N_.
26858 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26859 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26860 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26861 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26862 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26863 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26864 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26865 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26866 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26867 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26868 * normal/context.c (GRUB_MOD_INIT): Likewise.
26869 * normal/main.c (GRUB_MOD_INIT): Likewise.
26870 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26871 * term/serial.c (GRUB_MOD_INIT): Likewise.
26872 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26873
88c14915
VS
268742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26875
26876 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26877 extra == 0.
26878
165134bc
VS
268792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26880
26881 * commands/iorw.c: New file.
26882 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26883 (iorw_mod_SOURCES): New variable.
26884 (iorw_mod_CFLAGS): Likewise.
26885 (iorw_mod_LDFLAGS): Likewise.
26886
c5ac9b32
VS
268872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 Hotkey support
26890
26891 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26892 * normal/main.c (hotkey_aliases): New variable.
26893 (grub_normal_add_menu_entry): Parse "--hotkey".
26894 * normal/menu_text.c (run_menu): Handle hotkeys.
26895
ce60689c
VS
268962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26897
26898 * kern/i386/coreboot/init.c (grub_machine_init): Call
26899 grub_machine_mmap_init on qemu.
26900
0359d006
VS
269012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26902
26903 * boot/i386/qemu/boot.S: Add a missing .code16.
26904
7819a456
VS
269052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26906
26907 Use LBIO on coreboot.
26908
26909 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26910 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26911 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26912 New declaration.
26913 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26914 grub_machine_mmap_init on coreboot.
26915 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26916 GRUB_LINUXBIOS_MEMBER_LINK.
26917 (grub_machine_mmap_iterate): Fix declaration.
26918 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26919
7210dca9
VS
269202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26921
26922 Split coreboot and multiboot ports.
26923
26924 * conf/i386-multiboot.rmk: New file.
26925 * configure.ac: Add multiboot port.
26926 * include/grub/i386/multiboot/boot.h: New file.
26927 * include/grub/i386/multiboot/console.h: Likewise.
26928 * include/grub/i386/multiboot/init.h: Likewise.
26929 * include/grub/i386/multiboot/kernel.h: Likewise.
26930 * include/grub/i386/multiboot/loader.h: Likewise.
26931 * include/grub/i386/multiboot/memory.h: Likewise.
26932 * include/grub/i386/multiboot/serial.h: Likewise.
26933 * include/grub/i386/multiboot/time.h: Likewise.
26934 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26935 * loader/multiboot.c: Likewise.
26936 * loader/multiboot_mbi2.c: Likewise.
26937 * util/grub-mkrescue.in: Generate multiboot rescue.
26938
6f8aaf68
VS
269392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26940
3080f7a7
VS
26941 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26942
269432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26944
26945 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26946
26947 * commands/terminal.c (abstract_terminal): New struct.
26948 (handle_command): New function. Based on grub_cmd_terminal_input.
26949 (grub_cmd_terminal_input): Use handle_command.
26950 (grub_cmd_terminal_output): Use handle_command.
26951
a8ebb841
BC
269522010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26953
26954 Fix comment handling.
26955
26956 * tests/grub_script_comments.in: New testcase.
26957 * conf/tests.rmk: Rules for new testcase.
26958 * script/yylex.l: Updated flex rules.
26959
bb06ba08
ST
269602010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26961
26962 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26963 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26964 if argc is 1.
bb06ba08 26965
cc9d2425
VS
269662010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26967
26968 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26969 autogen issues.
26970
460d8402
CF
269712010-04-26 Christian Franke <franke@computer.org>
26972
26973 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26974 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26975 (grub_get_prefix): Remove function.
26976 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26977 make_system_path_relative_to_its_root ().
26978 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26979
553c01f9
CF
269802010-04-24 Christian Franke <franke@computer.org>
26981
26982 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26983 (kernel_img_LDFLAGS): Remove -static-libgcc.
26984
2aec1692
CF
269852010-04-24 Christian Franke <franke@computer.org>
26986
26987 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26988 and CHECK_END_SYMBOL if grub-emu is built.
26989 Unset TARGET_OBJ2ELF if grub-emu is built
26990 without module support.
26991
f67dc308
JS
269922010-04-24 Jiro SEKIBA <jir@unicus.jp>
26993
26994 Nilfs2 support.
26995
26996 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26997 (grub_fstest_SOURCES): Likewise.
26998 (pkglib_MODULES): Add nilfs2.mod.
26999 (nilfs2_mod_SOURCES): New variable.
27000 (nilfs2_mod_CFLAGS): Likewise.
27001 (nilfs2_mod_LDFLAGS): Likewise.
27002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27003 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27004 * fs/nilfs2.c: New file.
27005
4ba8d354
VS
270062010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27007
27008 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27009 is not supported.
27010
0d2c20c6
GS
270112010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27012
27013 Add grub-mkconfig support for NetBSD.
27014
27015 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27016 * util/grub-mkconfig.in: export new NetBSD specific variables.
27017 * po/POTFILES-shell: added 10_netbsd.in.
27018 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27019
bc4a2d83
BC
270202010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27021
27022 Fix emu build with grub-emu-pci and grub-emu-modules.
27023
27024 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27025 functions.
27026 * include/grub/libpciaccess.h: New file.
27027 * conf/any-emu.rmk: Update kernel headers for emu build.
27028
f48c87aa
VS
270292010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27030
27031 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27032
18959385
VS
270332010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27036
0037de3f
VS
270372010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27040 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27041 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27042 util/ieee1275/ofpath.c.
27043 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27044 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27045 * include/grub/sparc64/ieee1275/boot.h
27046 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27047 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27048 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27049 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27050 const char *.
27051 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27052 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27053 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27054 install.
27055
38e55e90
GS
270562010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27057
27058 * util/grub-mkconfig.in: Corrected two == equality tests.
27059 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27060 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27061 expect a number appended to it.
27062 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27063 expects a number appended to it.
27064
a9e6ff28
VS
270652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27068
0b830b8f
VS
270692010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27070
27071 * util/hostdisk.c (make_device_name): Change to new partition naming.
27072
0973daeb
VS
270732010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27074
27075 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27076
460d8402 270772010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27078
27079 * Makefile.in: Add missing localedir setting.
27080
0b456309
CW
270812010-04-14 Colin Watson <cjwatson@ubuntu.com>
27082
27083 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27084 mistake in r2156. Noticed by Anthony Fok.
27085
27086 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27087 @localedir@.
27088 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27089
08f46d62
BC
270902010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27091
27092 Fix a spurious, uninitialized variable warning.
27093
27094 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27095 Initialize variable, shdr.
27096 (grub_freebsd_load_elfmodule): Likewise.
27097 (grub_freebsd_load_elf_meta): Likewise.
27098
8c4a72d4
BC
270992010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27100
27101 Fix for escaped dollar in double quoted strings.
27102
27103 * script/yylex.l: Updated flex rules.
27104 * conf/tests.rmk: Rule for new testcase.
27105 * tests/grub_script_dollar.in: New testcase.
27106
ce44826e
CPE
271072010-04-13 Carles Pina i Estany <carles@pina.cat>
271082010-04-13 Colin Watson <cjwatson@ubuntu.com>
27109
27110 Enclose all translated strings in grub.cfg in single quotes, and
27111 escape them appropriately (Ubuntu bug #552921).
27112
27113 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27114 * util/grub.d/10_hurd.in: Use it.
27115 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27116 * util/grub.d/10_linux.in (linux_entry): Likewise.
27117
4b0cd8f8
VS
271182010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27119
27120 Fix cygwin compilation.
27121
27122 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27123 * include/grub/misc.h (__register_frame_info)
27124 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27125 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27126 * kern/misc.c (__register_frame_info)
27127 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27128 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27129
01fcf061
VS
271302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27133
5d04b11e
VS
271342010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27135
27136 Unify libgcc processing.
27137
27138 * Makefile.in (kernel_img_LDFLAGS): New variable.
27139 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27140 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27141 overwriting.
27142 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27143 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27144 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27145 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27146 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27147 overwriting. Remove -lgcc and -static-libgcc
27148 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27149 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27150 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27151 (kernel_img_LDFLAGS): Append instead of overwriting.
27152 Remove -lgcc and -static-libgcc
27153 * conf/sparc64-ieee1275.rmk: Likewise.
27154 * include/grub/powerpc/libgcc.h: Move to ...
27155 * include/grub/libgcc.h: .. this.
27156 * include/grub/libgcc.h: Don't export most of the function on x86.
27157 (__bswapsi2): New export.
27158 (__bswapdi2): Likewise.
27159 * include/grub/mips/libgcc.h: Removed.
27160 * include/grub/sparc64/libgcc.h: Likewise.
27161
b7f3ac29
VS
271622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27165 disk_info_msg (conflicts with gettexting into languages with cases).
27166
2c7031b1
GS
271672010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27168
27169 Add grub-probe support for NetBSD.
27170
27171 * util/getroot.c (find_root_device): Convert block device to
27172 character device on NetBSD.
27173 * util/probe.c (probe): Require character device on NetBSD.
27174 * util/hostdisk.c: NetBSD specific headers.
27175 (configure_device_driver): new function to tune device driver
27176 parameters (currently only for NetBSD floppy driver).
27177 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27178 via disklabel ioctl).
27179 (open_device): call configure_device_driver on NetBSD.
27180 (convert_system_partition_to_system_disk): NetBSD specific code.
27181 (device_is_wholedisk): Likewise.
27182 (grub_util_biosdisk_get_grub_dev): Likewise.
27183 (make_device_name): Fixed a typo in bsd_part_str.
27184 * configure.ac: check for opendisk() and getrawpartition() on
27185 NetBSD and set LIBUTIL.
27186 * Makefile.in: add LIBUTIL to LIBS.
27187
f516290c
BC
271882010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27189
27190 Documentation fix.
27191
27192 * util/grub-script-check.c: Better help message.
27193
d8dcc0df
BC
271942010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27195
27196 Fix FreeBSD build.
27197
27198 * configure.ac: Flex version check.
27199 * conf/common.rmk: Add -Wno-error to sh.mod.
27200 * script/yylex.l: Remove all #pragma.
27201
6734334a
VS
272022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27203
27204 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27205 prototype.
27206 Reported by: Seth Goldberg.
27207
daea6abd
VS
272082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27209
27210 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27211 Rename "module" to "module2".
27212 Reported by: Seth Goldberg.
27213
f2fd9d2b
VS
272142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27215
27216 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27217 EXPORT_FUNC.
27218 Reported by: Seth Goldberg.
27219
be124579
VS
272202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27221
27222 * lib/posix_wrap/locale.h: Add missing file.
27223 Reported by: Seth Goldberg.
27224
ef5da797
VS
272252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27226
27227 grub-emu module load support.
27228
27229 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27230 NO_DYNAMIC_MODULES switched to this.
27231 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27232 (CFLAGS): Likewise.
27233 * conf/any-emu.rmk: Generate symlist.
27234 (kernel_img_HEADERS): Add util/datetime.h.
27235 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27236 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27237 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27238 kern/$(target_cpu)/cache.S.
27239 * configure.ac (grub-emu-modules): New option.
27240 * genmk.rb: Handle multiple source lists.
27241 * include/grub/sdl.h: New file.
27242 * include/grub/libusb.h: Likewise.
27243 * util/grub-emu.c (main): Hanle (host) root.
27244 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27245 GRUB_ERR_UNKNOWN_DEVICE.
27246 * util/misc.c: Move mm functions to ...
27247 * util/mm.c: ... here. All users updated.
27248
47822096
VS
272492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27250
27251 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27252 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27253 missing files.
27254 (maintainer-clean): Remove libgcrypt-grub.
27255
5d7e7445
VS
272562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27257
27258 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27259
25f4e252
EC
272602010-04-09 EFI Coder <eficoder@hotmail.com>
27261
27262 * normal/menu_text.c (print_message): Clean up the message and show
27263 the Fn information when on EFI
27264 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27265
027de555
VS
272662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27267
27268 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27269 All users updated.
27270 * normal/crypto.c (read_crypto_list): Likewise.
27271 * normal/dyncmd.c (read_command_list): Likewise.
27272 * normal/term.c (read_terminal_list): Likewise.
27273 * normal/main.c (read_lists): Use explicit prefix.
27274 (read_lists_hook): Use read_lists.
27275 (grub_normal_execute): Likewise.
27276
47779711
VS
272772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27278
27279 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27280 Reported by: Thomas Schmitt.
27281 Add -no-emul-boot to grub-mkisofs parameters.
27282
1118c32e
VS
272832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 * font/font.c: Indented.
27286
7d652447
BC
272872010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27288
27289 Elif support to GRUB script (by Deepak Vankadaru).
27290
27291 * tests/grub_script_if.in: New testcase.
27292 * conf/tests.rmk: Rule for new testcase.
27293 * script/parser.y: Grammar rules for elif.
27294
34bb22df
BC
272952010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27296
27297 While and until loops support to GRUB script.
27298
27299 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27300 (grub_script_create_cmdwhile): New function prototype.
27301 (grub_script_execute_cmdwhile): New function prototype.
27302 * script/execute.c (grub_script_execute_cmdwhile): New function.
27303 * script/parser.y (command): New commands.
27304 (whilecmd): New grammar rule.
27305 (untilcmd): New grammar rule.
27306 * script/script.c (grub_script_create_cmdwhile): New function.
27307 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27308 function.
27309
27310 * tests/grub_script_while1.in: New testcase.
27311 * conf/tests.rmk: Rule for new testcase.
27312
e215d8e0
VS
273132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27314
27315 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27316 as *.jpg.
27317
d7c43ba1
MV
273182010-04-09 Mario Vazquez <mariovazq@gmail.com>
27319
27320 GRUB_BACKGROUND support.
27321
27322 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27323 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27324
d64795c0
VS
273252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27326
27327 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27328 Idea by: Mario Vazquez
d64795c0
VS
27329
27330 * util/grub.d/00_header.in: Load pf2 and image modules.
27331
f267f83a
VS
273322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27333
27334 grub-mkconfig multiple terminal support.
27335
27336 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27337 * util/grub.d/00_header.in: Likewise.
27338
b7841ceb
VS
273392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27340
27341 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27342 we use cd $(srcdir).
27343
df60998c
CW
273442010-04-08 Colin Watson <cjwatson@ubuntu.com>
27345
27346 * util/grub.d/10_linux.in: Only use the first word of
27347 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27348 spaces in GRUB_DISTRIBUTOR.
27349 * util/grub.d/10_kfreebsd.in: Likewise.
27350 * util/grub.d/10_hurd.in: Likewise.
27351
fa09c82e
BC
273522010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27353
14e18ae3 27354 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27355
27356 * tests/util/grub-shell.in: Remove -serial stdio option.
27357
daf892b3
BC
273582010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27359
27360 POSIX header file wrappers.
27361
27362 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27363 equivalents.
27364 * lib/posix_wrap/ctype.h: Likewise.
27365 * lib/posix_wrap/errno.h: Likewise.
27366 * lib/posix_wrap/langinfo.h: Likewise.
27367 * lib/posix_wrap/limits.h: Likewise.
27368 * lib/posix_wrap/localcharset.h: Likewise.
27369 * lib/posix_wrap/stdint.h: Likewise.
27370 * lib/posix_wrap/stdio.h: Likewise.
27371 * lib/posix_wrap/stdlib.h: Likewise.
27372 * lib/posix_wrap/string.h: Likewise.
27373 * lib/posix_wrap/sys/types.h: Likewise.
27374 * lib/posix_wrap/unistd.h: Likewise.
27375 * lib/posix_wrap/wchar.h: Likewise.
27376 * lib/posix_wrap/wctype.h: Likewise.
27377 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27378 (grub_script.yy.h): Likewise.
27379 * script/yylex.l: Remove POSIX emulation #defines.
27380 * Makefile.in (POSIX_CFLAGS): New variable.
27381 (GNULIB_UTIL_CFLAGS): Likewise.
27382
27383 Regexp support.
27384
27385 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27386 (regexp_mod_SOURCES): New variable.
27387 (regexp_mod_CFLAGS): Likewise.
27388 (regexp_mod_LDFLAGS): Likewise.
27389 * commands/regexp.c: New file.
27390 * gnulib/regcomp.c: New file. Imported from gnulib.
27391 * gnulib/regex.c: Likewise.
27392 * gnulib/regex_internal.c: Likewise.
27393 * gnulib/regex_internal.h: Likewise.
27394 * gnulib/regexec.c: Likewise.
27395 * gnulib/regex.h: Likewise.
27396
974ac4f7
VS
273972010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27398
27399 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27400 unsupported video mode types.
27401
2622c3ff
VS
274022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27403
27404 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27405
064cb524
VS
274062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27407
27408 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27409 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27410
a8c3b552
VS
274112010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27412
27413 Remove unused grub_vga_get_font.
27414
27415 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27416 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27417
187bbe3d
GS
274182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27419
27420 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27421 * include/grub/misc.h: Likewise.
27422
b9396631
GS
274232010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27424
27425 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27426 for which failure is fatal.
27427
50479feb
GS
274282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27429
27430 * util/grub-install.in: Use mkdir -p to create grub directory.
27431 * util/i386/efi/grub-install.in: Likewise.
27432 * util/ieee1275/grub-install.in: Likewise.
27433
b1654fdf
GS
274342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27435
27436 * Makefile.in (LEX): new variable.
27437
bd5a6415
GS
274382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27439
27440 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27441 `=' and added double quotes on operands of this equality test.
27442
3db3a82b
VS
274432010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27444
27445 * Makefile.in (uninstall): Remove a leftover debug echo.
27446 Reported by: Grégoire Sutre
27447
38023412
VS
274482010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27449
27450 MIPS multiboot2 support.
27451
27452 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27453 (multiboot2_mod_SOURCES): New variable.
27454 (multiboot2_mod_CFLAGS): Likewise.
27455 (multiboot2_mod_LDFLAGS): Likewise.
27456 (multiboot2_mod_ASFLAGS): Likewise.
27457 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27458 definition.
27459 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27460 (MULTIBOOT_MBI_REGISTER): Likewise.
27461 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27462 (MULTIBOOT_ELF32_MACHINE): Likewise.
27463 (MULTIBOOT_ELF64_MACHINE): Likewise.
27464 * include/grub/mips/multiboot.h: New file.
27465 * include/grub/video.h (grub_video_driver_id): New type
27466 GRUB_VIDEO_DRIVER_SM712.
27467 (grub_video_get_info_and_fini): Export.
27468 (grub_video_get_palette): Likewise.
27469 (grub_video_get_driver_id): Likewise.
27470 * include/multiboot2.h: Resynced with spec.
27471 * loader/i386/multiboot.c: Moved from here ...
27472 * loader/multiboot.c: ... here. All users updated.
27473 (grub_multiboot_boot): Use platform-specific macros.
27474 * loader/i386/multiboot_elfxx.c: Moved from here ...
27475 * loader/multiboot_elfxx.c: ... here. All users updated.
27476 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27477 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27478 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27479
47674667
VS
274802010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27481
27482 Import gnulib argp module.
27483
27484 * gnulib/argp-ba.c: New file.
27485 * gnulib/argp-eexst.c: Likewise.
27486 * gnulib/argp-fmtstream.c: Likewise.
27487 * gnulib/argp-fmtstream.h: Likewise.
27488 * gnulib/argp-fs-xinl.c: Likewise.
27489 * gnulib/argp-help.c: Likewise.
27490 * gnulib/argp-namefrob.h: Likewise.
27491 * gnulib/argp-parse.c: Likewise.
27492 * gnulib/argp-pin.c: Likewise.
27493 * gnulib/argp-pv.c: Likewise.
27494 * gnulib/argp-pvh.c: Likewise.
27495 * gnulib/argp-version-etc.c: Likewise.
27496 * gnulib/argp-version-etc.h: Likewise.
27497 * gnulib/argp-xinl.c: Likewise.
27498 * gnulib/argp.h: Likewise.
27499
495442ed
VS
275002010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27501
27502 * kern/device.c (grub_device_iterate): Clear errors after failed
27503 opening device.
27504
f9fd65df
VS
275052010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27506
27507 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27508 returned by firmware.
27509
af09641e
VS
275102010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27511
27512 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27513 compilation on coreboot and qemu
27514
016883a5
VS
275152010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27516
27517 * include/multiboot2.h: Resync with spec.
27518
f97e1f7d
VS
275192010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27520
27521 Multiboot2 tag support
27522
27523 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27524 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27525 Remove loader/multiboot_loader.c.
27526 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27527 (grub_multiboot2_real_boot): Likewise.
27528 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27529 (grub_get_multiboot_mmap_count): New proto.
27530 (grub_fill_multiboot_mmap): Likewise.
27531 (grub_multiboot_set_video_mode): Likewise.
27532 (grub_multiboot_set_console): Likewise.
27533 (grub_multiboot_load): Likewise.
27534 (grub_multiboot_load_elf): Likewise.
27535 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27536 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27537 * include/multiboot.h: Resynced with specification.
27538 * include/multiboot2.h: Resynced with specification.
27539 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27540 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27541 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27542 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27543 users updated.
27544 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27545 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27546 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27547 Removed.
27548 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27549 Moved from here...
27550 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27551 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27552 Moved from here...
27553 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27554 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27555 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27556 All users updated.
27557 * loader/i386/multiboot_mbi2.c: New file.
27558
3506b90b
VS
275592010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27560
27561 Resync with gnulib.
27562
27563 * Makefile.in (GNULIB_CFLAGS): New variable.
27564 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27565 (grub_script_check_CFLAGS): New variable.
27566 * gnulib/alloca.h: Resync with gnulib.
27567 * gnulib/error.c: Likewise.
27568 * gnulib/error.h: Likewise.
27569 * gnulib/fnmatch.c: Likewise.
27570 * gnulib/fnmatch_loop.c: Likewise.
27571 * gnulib/getdelim.c: Likewise.
27572 * gnulib/getline.c: Likewise.
27573 * gnulib/getopt.c: Likewise.
27574 * gnulib/getopt1.c: Likewise.
27575 * gnulib/getopt_int.h: Likewise.
27576 * gnulib/gettext.h: Likewise.
27577 * gnulib/progname.c: Likewise.
27578 * gnulib/progname.h: Likewise.
27579
394a3120
GS
275802010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27581
27582 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27583 which is the case with --disabled-nls.
27584
27585 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27586 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27587 * util/misc.c: Likewise.
27588 * util/mkisofs/mkisofs.c: Likewise.
27589 * util/mkisofs/mkisofs.h: Likewise.
27590
969d1c78
VS
275912010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 Simplify Apple CC support.
27594
27595 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27596 Add 0 byte at the end not to have a symbol with empty target.
27597 * mmap/i386/pc/mmap_helper.S: Likewise.
27598 * genmk.rb: Ignore errors 2030 and 2050.
27599 * kern/i386/pc/startup.S: Use LOCAL when possible.
27600
8d2977bb
BC
276012010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27602
27603 Testcase and the fix for final semicolon on cmdline.
27604
27605 * tests/grub_script_final_semicolon.in: New testcase.
27606 * conf/tests.rmk: Rules for the new testcase.
27607 * script/parser.y: Grammar fix.
27608
a7bd6915
BC
276092010-03-26 BVK Chaitanya <bvk@localhost>
27610
27611 Blank lines testcase for GRUB script.
27612
27613 * tests/grub_script_blanklines.in: New testcase.
27614 * conf/tests.rmk: Rules for the new testcase.
27615
e4ff6628
VS
276162010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27617
27618 Don't use __FILE__.
27619
27620 * genmk.rb: Add -DGRUB_FILE to all C targets.
27621 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27622 * include/grub/list.h: Likewise.
27623 * include/grub/misc.h: Likewise.
27624 * include/grub/mm.h: Likewise.
27625 * include/grub/test.h: Likewise.
27626 * kern/mm.c: Likewise.
27627 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27628
6a5cf6b6
VS
276292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27630
27631 Sunpc partitions support.
27632
27633 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27634 (grub_fstest_SOURCES): Likewise.
27635 (pkglib_MODULES): Add part_sunpc.mod.
27636 (part_sunpc_mod_SOURCES): New variable.
27637 (part_sunpc_mod_CFLAGS): Likewise.
27638 (part_sunpc_mod_LDFLAGS): Likewise.
27639 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27640 * partmap/sunpc.c: New file.
27641
746d9045
BC
276422010-03-26 BVK Chaitanya <bvk@localhost>
27643
27644 For loop support to GRUB script.
27645
27646 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27647 (grub_script_create_cmdfor): New function prototype.
27648 (grub_script_execute_cmdfor): New function prototype.
27649 * script/execute.c (grub_script_execute_cmdfor): New function.
27650 * script/parser.y (command): New for command.
27651 (forcmd): New grammar rule.
27652 * script/script.c (grub_script_create_cmdfor): New function.
27653 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27654 function.
27655 * tests/grub_script_for1.in: New testcase.
27656 * conf/tests.rmk: Rules for new testcase.
27657
18486b18
VS
276582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27659
27660 Nested partitions
27661
27662 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27663 'partition' is NULL, grub_partition_get_start already does that.
27664 * commands/loadenv.c (check_blocklists): Likewise.
27665 (write_blocklists): Likewise.
27666 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27667 (grub_fstest_SOURCES): Likewise.
27668 (pkglib_MODULES): Add part_bsd.mod.
27669 (part_bsd_mod_SOURCES): New variable.
27670 (part_bsd_mod_CFLAGS): Likewise.
27671 (part_bsd_mod_LDFLAGS): Likewise.
27672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27673 (grub_emu_SOURCES): Likewise.
27674 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27675 * include/grub/bsdlabel.h: New file.
27676 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27677 'get_name'.
27678 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27679 (grub_partition_map_list): New variable.
27680 (grub_partition_map_register): Inline.
27681 (grub_partition_map_unregister): Likewise.
27682 (FOR_PARTITION_MAPS): New macro.
27683 (grub_partition_map_iterate): Removed.
27684 (grub_partition_get_start): Handle nested partitions.
27685 * include/grub/msdos_partition.h: Remove bsd-related entries.
27686 (grub_pc_partition): Remove.
27687 * kern/disk.c (grub_disk_close): Free partition data.
27688 (grub_disk_adjust_range): Handle nested partitions.
27689 * kern/partition.c (grub_partition_map_probe): New function.
27690 (grub_partition_probe): Parse name to number, handle subpartitions.
27691 (get_partmap): New function.
27692 (grub_partition_iterate): Handle subpartitions.
27693 (grub_partition_get_name): Likewise.
27694 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27695 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27696 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27697 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27698 Set 'number'.
27699 (acorn_partition_map_probe): Remove.
27700 (acorn_partition_map_get_name): Likewise.
27701 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27702 Set 'number'.
27703 Set 'index' to 0 since there can be only one partition entry per sector.
27704 (amiga_partition_map_probe): Remove.
27705 (amiga_partition_map_get_name): Likewise.
27706 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27707 Set 'number'.
27708 Set 'offset' and 'index' to real positions of partitions.
27709 (apple_partition_map_probe): Remove.
27710 (apple_partition_map_get_name): Likewise.
27711 * partmap/bsdlabel.c: New file.
27712 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27713 Set 'number'.
27714 Allocate 'data' so it can be correctly freed.
27715 Set 'index' to offset inside sector.
27716 (gpt_partition_map_probe): Remove.
27717 (gpt_partition_map_get_name): Likewise.
27718 * partmap/msdos.c (grub_partition_parse): Remove.
27719 (pc_partition_map_iterate): Don't force raw access.
27720 Set 'number'.
27721 Make 'ext_offset' a local variable.
27722 (pc_partition_map_probe): Remove.
27723 (pc_partition_map_get_name): Remove.
27724 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27725 Set 'number'.
27726 (sun_partition_map_probe): Remove.
27727 (sun_partition_map_get_name): Likewise.
27728 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27729 (grub_pcpart_type): Likewise.
27730 * util/hostdisk.c (open_device): Handle new numbering scheme.
27731 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27732 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27733 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27734 * util/grub-install.in: Insert all subpartition modules.
27735 * util/ieee1275/grub-install.in: Likewise.
27736
a3940f88
AG
277372010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27738
27739 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27740 grammar.
27741
21b99926 277422010-03-24 Colin Watson <cjwatson@ubuntu.com>
27743
27744 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27745
bed1d352
CW
277462010-03-21 Colin Watson <cjwatson@ubuntu.com>
27747
27748 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27749 match where 'make install' puts them.
27750 * util/i386/efi/grub-install.in: Likewise.
27751
c9f58427
CW
277522010-03-19 Colin Watson <cjwatson@ubuntu.com>
27753
27754 * .bzrignore: Add gentrigtables, grub-script-check,
27755 grub_script_check_init.c, grub_script_check_init.h, and
27756 trigtables.c.
27757
f84afb27
VS
277582010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 * kern/parser.c: Indented.
27761
ed0e3d30
VS
277622010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27763
27764 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27765
0ea81d98
VS
277662010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27767
27768 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27769 alpha_mask_size == 0 case.
27770
0cdc2a09
BC
277712010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27772
27773 GRUB shell lexer and parser improvements.
27774
27775 * conf/any-emu.rmk: Build rule updates.
27776 * conf/common.rmk: Likewise.
27777 * conf/i386-coreboot.rmk: Likewise.
27778 * conf/i386-efi.rmk: Likewise.
27779 * conf/i386-ieee1275.rmk: Likewise.
27780 * conf/i386-pc.rmk: Likewise.
27781 * conf/powerpc-ieee1275.rmk: Likewise.
27782 * conf/x86_64-efi.rmk: Likewise.
27783
27784 * configure.ac: Configure check for flex.
27785
27786 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27787 types.
27788 (grub_lexer_param): Struct member updates.
27789 (grub_parser_param): Likewise.
27790 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27791 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27792 (grub_script_lexer_init): Prototype update.
27793 (grub_script_lexer_record_start): Likewise.
27794 (grub_script_lexer_record_stop): Likewise.
27795 (grub_script_lexer_yywrap): New function prototype.
27796 (grub_script_lexer_fini): Likewise.
27797 (grub_script_execute_argument_to_string): Removed by...
27798 (grub_script_execute_argument_to_argv): ...better version.
27799
27800 * script/execute.c (ROUND_UPTO): New macro.
27801 (grub_script_execute_cmdline): Out of memory fixes.
27802 (grub_script_execute_menuentry): Likewise.
27803 (grub_script_execute_argument_to_string): Removed. Update all
27804 users by...
27805 (grub_script_execute_argument_to_argv): ...better version.
27806 * script/function.c (grub_script_function_create): Use
27807 grub_script_execute_argument_to_argv instead of
27808 grub_script_execute_argument_to_string.
27809
27810 * script/lexer.c (check_varstate): Removed.
27811 (check_textstate): Removed.
27812 (grub_script_lexer_record_start): Likewise.
27813 (grub_script_lexer_record_stop): Likewise.
27814 (recordchar): Replaced with...
27815 (grub_script_lexer_record): ...new function.
27816 (nextchar): Removed.
27817 (grub_script_lexer_init): Rewritten.
27818 (grub_script_yylex): Rewritten.
27819 (append_newline): New function.
27820 (grub_script_lexer_yywrap): New function.
27821 (grub_script_lexer_fini): New function.
27822 (grub_script_yyerror): Sets error flag.
27823
27824 * script/yylex.l: New file.
27825 (grub_lexer_yyfree): Wrapper for flex yyffre.
27826 (grub_lexer_yyalloc): Likewise.
27827 (grub_lexer_yyrealloc): Likewise.
27828 * script/parser.y: Refactored.
27829
27830 * script/script.c (grub_script_arg_add): Out of memory fixes.
27831 (grub_script_add_arglist): Likewise.
27832 (grub_script_create_cmdline): Likewise.
27833 (grub_script_create_cmdmenu): Likewise.
27834 (grub_script_add_cmd): Likewise.
27835 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27836 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27837 unnecessary code.
27838
27839 * tests/grub_script_echo1.in: New testcase.
27840 * tests/grub_script_vars1.in: New testcase.
27841 * tests/grub_script_echo_keywords.in: New testcase.
27842
1d63a066
VS
278432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 Remove some redundancy in build system.
27846
27847 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27848 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27849 (TARGET_LDFLAGS): Add -nostdlib.
27850 (TARGET_IMG_LDFLAGS): Likewise.
27851 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27852 anything since mmap isn't available.
27853 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27854 Add util/time.c.
27855 (pkglib_MODULES): Remove reboot.mod.
27856 (reboot_mod_SOURCES): Removed.
27857 (reboot_mod_CFLAGS): Likewise.
27858 (reboot_mod_LDFLAGS): Likewise.
27859 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27860 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27861 (DEFSYMFILES): Add kernel_syms.lst.
27862 (kernel_img_HEADERS): Add common headers.
27863 (symlist.c): New target.
27864 (kernel_syms.lst): Likewise.
27865 (pkglib_MODULES): Add memdisk.mod.
27866 (memdisk_mod_SOURCES): New variable.
27867 (memdisk_mod_CFLAGS): Likewise.
27868 (memdisk_mod_LDFLAGS): Likewise.
27869 (pkglib_MODULES): Add reboot.mod.
27870 (reboot_mod_SOURCES): New variable.
27871 (reboot_mod_CFLAGS): Likewise.
27872 (reboot_mod_LDFLAGS): Likewise.
27873 (pkglib_MODULES): Add date.mod.
27874 (date_mod_SOURCES): New variable.
27875 (date_mod_CFLAGS): Likewise.
27876 (date_mod_LDFLAGS): Likewise.
27877 (pkglib_MODULES): Add datehook.mod.
27878 (datehook_mod_SOURCES): New variable.
27879 (datehook_mod_CFLAGS): Likewise.
27880 (datehook_mod_LDFLAGS): Likewise.
27881 (pkglib_MODULES): Add lsmmap.mod.
27882 (lsmmap_mod_SOURCES): New variable.
27883 (lsmmap_mod_CFLAGS): Likewise.
27884 (lsmmap_mod_LDFLAGS): Likewise.
27885 (pkglib_MODULES): Add boot.mod.
27886 (boot_mod_SOURCES): New variable.
27887 (boot_mod_CFLAGS): Likewise.
27888 (boot_mod_LDFLAGS): Likewise.
27889 * conf/i386-coreboot.rmk: Removed redundant parts.
27890 * conf/i386-ieee1275.rmk: Likewise.
27891 * conf/i386-pc.rmk: Likewise.
27892 * conf/mips-yeeloong.rmk: Likewise.
27893 * conf/mips.rmk: Likewise.
27894 * conf/powerpc-ieee1275.rmk: Likewise.
27895 * conf/sparc64-ieee1275.rmk: Likewise.
27896 * conf/x86_64-efi.rmk: Likewise.
27897 * conf/i386-coreboot.rmk: Moved qemu parts ..
27898 * conf/i386-qemu.rmk: ... here
27899 * conf/i386-efi.rmk: Moved common parts to...
27900 * conf/x86-efi.rmk: ... here.
27901 * conf/i386.rmk: Added modules common to all x86 variants.
27902 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27903 * disk/memdisk.c: Remove grub/machine/kernel.h.
27904 * gensymlist.sh.in: Include symbol.h.
27905 * hook/datehook.c: Correct module name.
27906 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27907 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27908 * include/grub/i386/efi/serial.h: New file.
27909 * include/grub/x86_64/efi/serial.h: Likewise.
27910 * util/time.c: Likewise.
27911 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27912
463ac55f
CK
279132010-03-14 Colin King <colin.king@ubuntu.com>
279142010-03-14 Colin Watson <cjwatson@ubuntu.com>
27915
27916 Shrink the pre-partition-table part of boot.img by eight bytes.
27917
27918 * boot/i386/pc/boot.S (ERR): New macro.
27919 (chs_mode): Use ERR.
27920 (geometry_error): Likewise.
27921 (hd_probe_error): Remove. This is only used once, so we wrwite
27922 it inline instead.
27923 (read_error): Instead of printing read_error_string, just set up
27924 %si and fall through to ...
27925 (error_message): ... this new function, also used by ERR.
27926
08e46ede
CW
279272010-03-14 Colin Watson <cjwatson@ubuntu.com>
27928
27929 Speed up consecutive hostdisk operations on the same device.
27930
27931 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27932 (grub_util_biosdisk_open): Initialise disk->data.
27933 (struct linux_partition_cache): New structure.
27934 (linux_find_partition): Cache partition start positions; these are
27935 expensive to compute on every read and write.
27936 (open_device): Cache open file descriptor in disk->data, so that we
27937 don't have to reopen it and flush the buffer cache for consecutive
27938 operations on the same device.
27939 (grub_util_biosdisk_close): New function.
27940 (grub_util_biosdisk_dev): Set `close' member.
27941
27942 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27943 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27944 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27945 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27946 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27947
4a6d2d06
VS
279482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27949
27950 Compile parts of grub-emu as modules.
27951
27952 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27953 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27954 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27955 (all-local): Add $(GRUB_EMU).
27956 (install-local): Install $(GRUB_EMU).
27957 (uninstall): Uninstall $(GRUB_EMU).
27958 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27959 * kern/dl.c: Likewise.
27960 * commands/sleep.c: Not include machine/time.h.
27961 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27962 (COMMON_CFLAGS): Likewise.
27963 (sbin_UTILITIES): Remove grub-emu.
27964 (grub_emu_SOURCES): Removed.
27965 (kernel_img_RELOCATABLE): New variable.
27966 (pkglib_PROGRAMS): Add kernel.img.
27967 (kernel_img_SOURCES): New variable
27968 (kernel_img_CFLAGS): Likewise.
27969 (kernel_img_LDFLAGS): Likewise.
27970 (TARGET_NO_STRIP): Likewise.
27971 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27972 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27973 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27974 (grub-emu): New target.
27975 (GRUB_EMU): New variable.
27976 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27977 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27978 * loader/xnu.c: Likewise.
27979 * include/grub/pci.h: Likewise.
27980 * genemuinit.sh: New file.
27981 * genemuinitheader.sh: Likewise.
27982 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27983 Support TARGET_NO_DYNAMIC_MODULES.
27984 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27985 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27986 * disk/loopback.c: Likewise.
27987 * font/font_cmd.c: Likewise.
27988 * partmap/acorn.c: Likewise.
27989 * partmap/amiga.c: Likewise.
27990 * partmap/apple.c: Likewise.
27991 * partmap/gpt.c: Likewise.
27992 * partmap/msdos.c: Likewise.
27993 * partmap/sun.c: Likewise.
27994 * parttool/msdospart.c: Likewise.
27995 * term/gfxterm.c: Likewise.
27996 * video/bitmap.c: Likewise.
27997 * video/readers/jpeg.c: Likewise.
27998 * video/readers/png.c: Likewise.
27999 * video/readers/tga.c: Likewise.
28000 * video/video.c: Likewise.
28001 * util/grub-emu.c (read_command_list): Removed.
28002 (main): Don't call util_init_nls.
28003 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28004 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28005
91fdd2ed
VS
280062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28007
28008 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28009 date.mod, datehook.mod.
28010 (datetime_mod_SOURCES): New variable.
28011 (datetime_mod_CFLAGS): Likewise.
28012 (datetime_mod_LDFLAGS): Likewise.
28013 (date_mod_SOURCES): Likewise.
28014 (date_mod_CFLAGS): Likewise.
28015 (date_mod_LDFLAGS): Likewise.
28016 (datehook_mod_SOURCES): Likewise.
28017 (datehook_mod_CFLAGS): Likewise.
28018 (datehook_mod_LDFLAGS): Likewise.
28019 * conf/sparc64-ieee1275.rmk: Likewise.
28020 * lib/ieee1275/datetime.c: New file.
28021
873ccae6
VS
280222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28023
28024 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28025 (ieee1275_fb_mod_SOURCES): New variable.
28026 (ieee1275_fb_mod_CFLAGS): Likewise.
28027 (ieee1275_fb_mod_LDFLAGS): Likewise.
28028 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28029 New proto.
28030 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28031 (HEAP_MAX_ADDR): Likewise.
28032 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28033 type.
28034 Correct stop condition.
28035 (grub_ieee1275_devices_iterate): New function.
28036 * video/ieee1275.c: New file.
28037
601c97c0
VS
280382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28039
28040 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28041
28042 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28043 as scratch.
28044 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28045 SCRATCH_PAD_DISKBOOT as scratch.
28046 (bootit): Pass Openfirmware pointer in %o4.
28047 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28048 of 0x200000.
28049 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28050 with util/grub-mkrawimage.c.
28051 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28052 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28053 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28054 (grub_aout_load) [GRUB_UTIL]: Likewise.
28055 * include/grub/kernel.h (grub_modules_get_end): New proto.
28056 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28057 (SCRATCH_PAD_BOOT): New definition.
28058 (SCRATCH_PAD_DISKBOOT): Likewise.
28059 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28060 * include/grub/sparc64/ieee1275/ieee1275.h
28061 (grub_ieee1275_original_stack): New variable
28062 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28063 New definition
28064 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28065 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28066 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28067 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28068 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28069 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28070 (grub_platform_image_format_t): New type.
28071 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28072 * kern/main.c (grub_modules_get_end)
28073 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28074 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28075 (codestart): Switch stacks.
28076 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28077 variable.
28078 (grub_heap_init): Use grub_modules_get_end.
28079 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28080 stack.
28081 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28082 (main): Likewise.
28083 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28084
d68b491e
TG
280852010-03-14 Thorsten Glaser <tg@mirbsd.org>
28086
28087 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28088
4e02ed50
MK
280892010-03-08 Matt Kraai <kraai@ftbfs.org>
28090
28091 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28092 bug #559005).
28093
1f15fc1e
VS
280942010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28095
28096 * genmoddep.awk: Output all missing symbols and not only first.
28097
fce5d8ff
VS
280982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 * NEWS: Put the date of 1.98 release.
28101
d1e8a02f
VS
281022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28103
28104 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28105 ft2build.h.
28106
696fd607
VS
281072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28108
28109 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28110 completition in the middle of string.
28111
33e2e6f3
VS
281122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28113
28114 * util/grub-mkrescue.in: Use mktemp with explicit template.
28115
b1f6d291
VS
281162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28117
28118 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28119
2ac227c7
VS
281202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28123 right pointer.
28124
8f9a632b
VS
281252010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 Fix FreeBSD compilation.
28128
28129 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28130 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28131
60b03859
VS
281322010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28135
48a5a769
VS
281362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28139
3ab4bd77
VS
281402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28141
28142 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28143
d116e0d8
RM
281442010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28145
28146 Support relative image path in theme file.
28147
28148 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28149 (image_set_property): Handle theme_dir and relative path.
28150
c7ef54aa
VS
281512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 * configure.ac: Alias amd64 to x86_64.
28154
fcee14ed
VS
281552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28156
28157 * NEWS: mention multiboot on EFI.
28158
d0780363
VS
281592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 * kern/main.c (grub_load_modules): Handle errors from init functions of
28162 embeded modules.
28163
41168ea4
VS
281642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28165
28166 * normal/autofs.c (autoload_fs_module): Handle errors.
28167
b54d93ac
VS
281682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28169
28170 Disable linux.mod on qemu-mips since it's not functional and leads
28171 to compilation failure.
28172
28173 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28174 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28175 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28176 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28177 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28178 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28179 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28180 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28181 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28182 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28183 Reported by: BVK Chaitanya
28184
fc8345da
JU
281852010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28186
28187 * INSTALL: Add gettext as a dependency and add qemu to a new section
28188 "Prerequisites for make-check".
28189
4760f979
CF
281902010-03-04 Christian Franke <franke@computer.org>
28191
28192 * util/grub-pe2elf.c: Add missing include "progname.h".
28193
f209b5b2
VS
281942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28195
28196 * normal/crypto.c (read_crypto_list): Fix a typo.
28197 Reported by: Seth Goldberg.
28198
b4b7be98
VS
281992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28200
28201 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28202 Reported by: Seth Goldberg.
b4b7be98 28203
c0ee0385
VS
282042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28205
28206 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28207 ascii.bitmaps.
28208
a8efbf64
VS
282092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28210
28211 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28212 Reported by: Seth Goldberg.
a8efbf64 28213
08dcd913
VS
282142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28215
28216 * util/i386/efi/grub-install.in: Copy gettext files.
28217
c4d0b332
VS
282182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28219
28220 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28221
c6f2fe52
VS
282222010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28223
28224 Wait for user entry basing on presence of output rather than on errors.
28225
28226 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28227 (grub_install_newline_hook): Likewise.
28228 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28229 * normal/menu.c (show_menu): Check line_counter to determine presence
28230 of output.
28231 * normal/term.c (grub_normal_line_counter): New variable.
28232 (grub_normal_get_line_counter): New function.
28233 (grub_install_newline_hook): Likewise.
28234
5382b1e4
VS
282352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28238
5519963b
VS
282392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28240
28241 * configure.ac: Update version to 1.98.
28242
72b28631
VS
282432010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28244
28245 * util/grub.d/10_linux.in (linux_entry): Don't default to
28246 gfxpayload=keep if Linux doesn't support video handover.
28247
c140a180
VS
282482010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28249
28250 Don't compile video modules on yeeloong since video subsystem is part
28251 of kernel.
28252
28253 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28254 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28255 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28256 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28257 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28258 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28259 * include/grub/bitmap_scale.h: Likewise.
28260 * include/grub/bufio.h: Likewise.
28261 * include/grub/font.h: Likewise.
28262 * include/grub/gfxterm.h: Likewise.
28263 * include/grub/video.h: Likewise.
28264 * include/grub/vbe.h: Don't include video_fb.h.
28265 * video/i386/pc/vbe.c: Include video_fb.h.
28266 * commands/i386/pc/vbetest.c: Include video.h.
28267
a0ca21c2
CW
282682010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28269
28270 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28271 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28272 default entry if GRUB_SAVEDEFAULT=true. This allows using
28273 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28274 saving a new default on every boot.
28275
4a8a763c
VS
282762010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28277
28278 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28279 * normal/term.c (read_terminal_list): Likewise.
28280 * normal/main.c (grub_normal_init_page): Likewise.
28281 (grub_normal_read_line_real): Likewise.
28282
607ffde2
VS
282832010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28286 memory leak.
28287 Reported by: Seth Goldberg.
28288
2b8fa975
CW
282892010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28290
28291 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28292 duplicate declaration of `start'.
28293
618307dd
VS
282942010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28295
28296 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28297 filename.
28298 Reported by: Georgy Buranov
28299
7dd05b96 283002010-02-20 Carles Pina i Estany <carles@pina.cat>
28301
28302 * util/grub-mkrawimage.c (usage): Change string formatting to
28303 improve gettext.
28304
d1484a42
MRA
283052010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28306
28307 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28308 backspace keys.
28309
42b1d186
VS
283102010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28313 Reported by: Michael Suchanek.
28314
283152010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28316
28317 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28318 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28319
d9f31a41
VS
283202010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28321
28322 Remove any reference to non-free fonts.
28323
28324 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28325 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28326 uses non-free components.
28327 * font/font.c (grub_font_get_name): Remove example name.
28328 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28329 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28330 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28331 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28332
2793c71e
GB
283332010-02-16 Georgy Buranov <gburanov@gmail.com>
28334
28335 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28336
402e3779
VS
283372010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28338
28339 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28340 Double divisor.
28341 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28342 features.
28343 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28344
0dd1e0dd
VS
283452010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28346
28347 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28348
6fa7cfce
ST
283492010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28350
28351 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28352 * docs/grub.texi (Command-line and menu entry commands): Document play
28353 command.
28354
37c8483b
ST
283552010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28356
28357 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28358 parse arguments as inline tempo and notes. Move code for playing notes
28359 to...
28360 (play): ... new function.
28361
14da0fb7
ST
283622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28363
28364 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28365 grub_uint16_t instead of short.
28366 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28367 disk from little endian to cpu endianness.
28368
04459e70
ST
283692010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28370
28371 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28372 GRUB_TICKS_PER_SECOND instead of 120.
28373
a0876943
VS
283742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28377 escape sequence after \e.
28378
e29f95dc
VS
283792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28380
28381 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28382 non-ASCII characters.
28383
d27859b2
VS
283842010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28385
28386 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28387 set root in single quotes to prevent \, from being unescaped.
28388
bc028f2f
VS
283892010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28390
28391 Prevent unknown commands from stopping menuentry execution.
28392
28393 * script/execute.c (grub_script_execute_cmdline): Print error after
28394 unknown command.
28395
095f5f82
VS
283962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28397
28398 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28399 Reported by: Pavel Pisa.
28400
8c717950
VS
284012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28402
28403 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28404
904935c3
VS
284052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28406
28407 Merge grub_ieee1275_map_physical into grub_map and rename to
28408 grub_ieee1275_map
28409
28410 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28411 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28412 Remove.
28413 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28414 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28415 necessary.
28416 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28417
5b59a4e3
VS
284182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28421 opening and not after.
28422
69e137e8
VS
284232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28424
28425 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28426 constants.
28427
2c0fcc36
VS
284282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28429
28430 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28431 (alloc_phys): Use ALIGN_UP instead of align_addr.
28432
8c6052ce
VS
284332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28434
28435 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28436
17cec782
VS
284372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28438
28439 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28440
e0128bbd
VS
284412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28442
28443 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28444 verbose dprintf.
28445
ca62070b
VS
284462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28447
28448 Fix over-4GiB seek on sparc64.
28449
28450 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28451 Replace pos_i and pos_lo with pos. All users updated.
28452 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28453 New constant.
28454 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28455 Likewise.
28456 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28457 and pos_lo.
28458
bdca2607
VS
284592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 * util/grub-mkrawimage.c (main): Call set_program_name.
28462
da278c4d
VS
284632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28464
28465 Properly align 64-bit targets.
28466
28467 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28468 (generate_image): Use ALIGN_ADDR.
28469
b274d734
VS
284702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28471
28472 Properly create cross-endian images.
28473
28474 * include/grub/types.h (grub_host_to_target_addr): New macro
28475 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28476
82da2062
VS
284772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28478
28479 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28480
7cae4377
VS
284812010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28482
28483 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28484
28485 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28486 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28487 (grub_linux_boot): Divide by 64K when on VESA.
28488
65a533e7
VS
284892010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28490
28491 Support GRUB_GFXPAYLOAD_LINUX.
28492
28493 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28494 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28495
dd01d397
VS
284962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28497
28498 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28499 to show messages instead of discarding them.
28500 Process errors after executing command and not before. Keep old method
28501 too as precaution.
28502
660960d6
VS
285032010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28504
28505 * configure.ac: Check for ft2build.h.
28506
62509f04
VS
285072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28508
28509 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28510
473df63d
VS
285112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 * genkernsyms.sh.in: Use TARGET_CC.
28514
c98d2a13
CW
285152010-02-07 Colin Watson <cjwatson@ubuntu.com>
28516
28517 * NEWS: Update.
28518
6e14234c
VS
285192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28520
28521 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28522 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28523 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28524
b255e9cf
YB
285252010-02-07 Yves Blusseau <blusseau@zetam.org>
28526
6e14234c 28527 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28528
98e6959d
VS
285292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28530
28531 Fix warnings in grub-emu when compiling with maximum warning options.
28532
28533 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28534 (grub_arch_modules_addr): Return 0 and not NULL.
28535 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28536 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28537 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28538 of disk to dsk to avoid shadowing.
74e4934e
VS
28539 (find_free_slot): Fix prototype.
28540 * util/getroot.c (grub_util_is_dmraid): Make static.
28541 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28542 Add missing prototype.
28543 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28544
74e31b5c
VS
285452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28546
28547 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28548 appropriately.
28549
6b2ad14b
VS
285502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28551
28552 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28553 code out.
28554
8f891adc
VS
285552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28556
28557 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28558 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28559 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28560 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28561 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28562 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28563
74b45184
VS
285642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28565
28566 * include/grub/err.h (grub_err_printf): Don't export.
28567
a4bced77
VS
285682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28569
28570 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28571
007d0695
VS
285722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28573
28574 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28575 * kern/misc.c (grub_gettext_dummy): Make static.
28576
b6c0d9c2
VS
285772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28578
28579 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28580 by non-valid ones.
28581 * kern/term.c (grub_putchar): Likewise.
28582
f51a90d0
VS
285832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28584
28585 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28586 buggy hook call and memory leak.
28587
6846cec5
VS
285882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28589
28590 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28591
468d69fe
VS
285922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28593
28594 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28595
51906b8c
VS
285962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28597
28598 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28599 modevar.
28600 Return grub_errno on allocation error.
28601
09706ce5
VS
286022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28603
28604 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28605
911df80c
YB
286062010-02-06 Yves Blusseau <blusseau@zetam.org>
28607
28608 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28609 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28610
3746a6bc
VS
286112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28612
28613 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28614 non-pxe disk.
28615 (grub_pxefs_open): Likewise.
28616
09706ce5
VS
286172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28618
28619 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28620 * util/grub.d/10_kfreebsd.in: Likewise.
28621 * util/grub.d/10_linux.in: Likewise.
28622
7cc192d9
VS
286232010-02-06 Colin D Bennett <colin@gibibit.com>
28624
28625 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28626 (gfxmenu_mod_SOURCES): New variable.
28627 (gfxmenu_mod_CFLAGS): Likewise.
28628 (gfxmenu_mod_LDFLAGS): Likewise.
28629 * include/grub/term.h (grub_term_set_current_output): Declare
28630 argument as const.
28631 * docs/gfxmenu-theme-example.txt: New file.
28632 * gfxmenu/gfxmenu.c: Likewise.
28633 * gfxmenu/gui_box.c: Likewise.
28634 * gfxmenu/gui_canvas.c: Likewise.
28635 * gfxmenu/gui_circular_progress.c: Likewise.
28636 * gfxmenu/gui_image.c: Likewise.
28637 * gfxmenu/gui_label.c: Likewise.
28638 * gfxmenu/gui_list.c: Likewise.
28639 * gfxmenu/gui_progress_bar.c: Likewise.
28640 * gfxmenu/gui_string_util.c: Likewise.
28641 * gfxmenu/gui_util.c: Likewise.
28642 * gfxmenu/icon_manager.c: Likewise.
28643 * gfxmenu/model.c: Likewise.
28644 * gfxmenu/named_colors.c: Likewise.
28645 * gfxmenu/theme_loader.c: Likewise.
28646 * gfxmenu/view.c: Likewise.
28647 * gfxmenu/widget-box.c: Likewise.
28648 * include/grub/gfxmenu_model.h: Likewise.
28649 * include/grub/gfxmenu_view.h: Likewise.
28650 * include/grub/gfxwidgets.h: Likewise.
28651 * include/grub/gui.h: Likewise.
28652 * include/grub/gui_string_util.h: Likewise.
28653 * include/grub/icon_manager.h: Likewise.
28654
286552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28656
28657 Agglomerate scrolling in gfxterm.
28658
28659 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28660 (grub_virtual_screen_setup): Initialise 'total_screen'.
28661 (write_char): Split to ...
28662 (paint_char): ... this ...
28663 (write_char): ... and this.
28664 (paint_char): Handle delayed scrolling.
28665 (draw_cursor): Likewise.
28666 (scroll_up): Split to ...
28667 (real_scroll): ... this ...
28668 (scroll_up): ... and this.
28669 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28670 characters.
28671 (grub_gfxterm_refresh): Call real_scroll.
28672
286732010-02-06 Colin D Bennett <colin@gibibit.com>
28674
28675 * include/grub/misc.h (grub_iscntrl): New inline function.
28676 (grub_isalnum): Likewise.
28677 (grub_strtol): Likewise.
28678
286792010-02-06 Colin D Bennett <colin@gibibit.com>
28680
28681 * normal/menu_text.c (get_entry_number): Move from here ...
28682 * normal/menu.c (get_entry_number): ... moved here.
28683 * include/grub/menu.h (grub_menu_get_default_entry_index):
28684 New prototype.
28685 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28686 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28687 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28688 (grub_menu_viewer_should_return): Likewise.
28689 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28690 * normal/menu_text.c (run_menu): Enable menu switching.
28691 * normal/menu_viewer.c (should_return): New variable.
28692 (menu_viewer_changed): Likewise.
28693 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28694 (grub_menu_viewer_should_return): New function.
28695 (menuviewer_write_hook): Likewise.
28696 (grub_menu_viewer_init): Likewise.
28697
286982010-02-06 Colin D Bennet <colin@gibibit.com>
286992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28700
28701 Support for gfxterm in a window.
28702
28703 * include/grub/gfxterm.h: New file.
28704 * include/grub/video.h (struct grub_video_rect): New declaration.
28705 (grub_video_rect_t): Likewise.
28706 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28707 (refcount): New variable.
28708 (render_target): Likewise.
28709 (window): Likewise.
28710 (repaint_callback): Likewise.
28711 (grub_virtual_screen_setup): Use 'render_target'.
28712 (init_window): New function.
28713 (grub_gfxterm_init_window): Likewise.
28714 (grub_gfxterm_init): Check reference counter.
28715 Use init_window.
28716 (destroy_window): New function.
28717 (grub_gfxterm_destroy_window): Likewise.
28718 (grub_gfxterm_fini): Check reference counter.
28719 Use destroy_window.
28720 (redraw_screen_rect): Restore viewport.
28721 Use 'render_target' and 'window'.
28722 Call 'repaint_callback'.
28723 (write_char): Use 'render_target'.
28724 (draw_cursor): Likewise.
28725 (scroll_up): Restore viewport.
28726 Use 'render_target' and 'window'.
28727 Call 'repaint_callback'.
28728 (grub_gfxterm_cls): Likewise.
28729 (grub_gfxterm_refresh): Use 'window'.
28730 (grub_gfxterm_set_repaint_callback): New function.
28731 (grub_gfxterm_background_image_cmd): Use 'window'.
28732 (grub_gfxterm_get_term): New function.
28733 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28734
287352010-02-06 Colin D Bennett <colin@gibibit.com>
28736
28737 Bitmap scaling support.
28738
28739 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28740 (bitmap_scale_mod_SOURCES): New variable.
28741 (bitmap_scale_mod_CFLAGS): Likewise.
28742 (bitmap_scale_mod_LDFLAGS): Likewise.
28743 * include/grub/bitmap_scale.h: New file.
28744 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28745 (background_image_cmd_options): New variable.
28746 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28747 (cmd): Rename and change type to ...
28748 (background_image_cmd_handle): ... this. All users updated.
28749 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28750 * video/bitmap_scale.c: New file.
28751
287522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28753
28754 SDL support.
28755
28756 * Makefile.in (LIBSDL): New variable.
28757 (enable_grub_emu_sdl): Likewise.
28758 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28759 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28760 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28761 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28762 * util/sdl.c: New file.
28763
287642010-02-06 Colin D Bennett <colin@gibibit.com>
287652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28766
28767 Double buffering support.
28768
28769 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28770 * include/grub/video.h: Update comment.
28771 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28772 New type.
28773 (grub_video_fb_doublebuf_blit_init): New prototype.
28774 * term/gfxterm.c (scroll_up): Support double buffering.
28775 (grub_gfxterm_refresh): Likewise.
28776 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28777 (grub_video_fb_doublebuf_blit_init): Likewise.
28778 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28779 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28780 'displayed_page', 'render_page' and 'update_screen'.
28781 (grub_video_vbe_fini): Free offscreen buffer.
28782 (doublebuf_pageflipping_commit): New function.
28783 (doublebuf_pageflipping_update_screen): Likewise.
28784 (doublebuf_pageflipping_init): Likewise.
28785 (double_buffering_init): Likewise.
28786 (grub_video_vbe_setup): Enable doublebuffering.
28787 (grub_video_vbe_swap_buffers): Implement.
28788 (grub_video_vbe_set_active_render_target): Handle double buffering.
28789 (grub_video_vbe_get_active_render_target): Likewise.
28790 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28791 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28792 (grub_video_vbe_enable_double_buffering): Likewise.
28793 (grub_video_vbe_swap_buffers): Use update_screen.
28794 (grub_video_set_mode): Use double buffering.
28795
287962010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28797
28798 * maintainance/gentrigtables.py: Remove.
28799 * lib/trig.c: Likewise.
28800
28801 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28802
28803 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28804 `trigtables.c'.
28805 (trigtables.c): New rule.
28806 (gentrigtables): Likewise.
28807 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28808
288092010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28810
28811 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28812 integer constants.
28813
288142010-02-06 Colin D Bennet <colin@gibibit.com>
28815
28816 Trigonometry support.
28817
28818 * include/grub/trig.h: New file.
28819 * lib/trig.c: Likewise.
28820 * maintainance/gentrigtables.py: Likewise.
28821 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28822 (trig_mod_SOURCES): New variable.
28823 (trig_mod_CFLAGS): Likewise.
28824 (trig_mod_LDFLAGS): Likewise.
28825
5562834e
VS
288262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28827
28828 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28829 disk devices.
28830
4f8528fc
VS
288312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28832
28833 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28834 error.
28835
2b4068e9
VS
288362010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28837
28838 * util/hostdisk.c (open_device): Don't use partition device when reading
28839 before the partition.
28840 (grub_util_biosdisk_read): Don't read from partition and before the
28841 partition in single operation.
28842 (grub_util_biosdisk_write): Don't write to partition and before the
28843 partition in single operation.
28844
399f6e4d
TL
288452010-02-03 Torsten Landschoff <torsten@debian.org>
28846
28847 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28848 last sectors.
28849
996649b0
VS
288502010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28851
28852 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28853 CDROM reads.
28854 (grub_biosdisk_write): Refuse to write to CDROM.
28855
3b205d4d
VS
288562010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28857
28858 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28859
61e89d9d
VS
288602010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28861
28862 * font/font.c (find_glyph): Check that bmp_idx is available before
28863 using it.
28864 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28865 with (font == NULL).
28866
bf7fcba2
CS
288672010-01-28 Christian Schmitt <chris@ilovelinux.de>
28868
28869 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28870
f45d2663
BC
288712010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28872
28873 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28874 * util/grub-script-check.c (getline): Fix empty lines case.
28875
ec1444e6
RM
288762010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28877
28878 * Makefile.in (check): Exit with fail status when one of the tests
28879 fails.
28880 * tests/example_functional_test.c (example_test): Fix reversed assert.
28881 * tests/example_unit_test.c (example_test): Likewise.
28882
2e1cb9bb
CW
288832010-01-28 Colin Watson <cjwatson@ubuntu.com>
28884
28885 * util/grub.d/10_linux.in: This script does not use any of the
28886 contents of gettext.sh, only the external command `gettext', so stop
28887 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28888 the same prefix as GRUB.)
28889 * util/grub.d/10_kfreebsd.in: Likewise.
28890
63533ab0
VS
288912010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28892
28893 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28894 of the line.
28895
989e1f93
VS
288962010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28897
28898 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28899 last sectors.
28900
e709ebe2
VS
289012010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28902
28903 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28904 having a 4KiB and not 32KiB buffer size.
28905
27dea7ed
RM
289062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28907
28908 * util/hostfs.c: Include `<errno.h>'.
28909 (grub_hostfs_read): Handle errors from fseeko() and fread().
28910
67667b9c
RM
289112010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28912
28913 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28914 loop when using read hooks on files whose size isn't sector-aligned.
28915
c294d9d8
RM
289162010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28917
28918 Remove unused parameter.
28919
28920 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28921 (grub_iso9660_open): Remove initialization of `data->length'.
28922
af75a9f1
RM
289232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28926 memleak conditions.
28927
254e2ce5 289282010-01-27 Carles Pina i Estany <carles@pina.cat>
28929
28930 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28931 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28932
b510928c 289332010-01-26 Carles Pina i Estany <carles@pina.cat>
28934
28935 * util/bin2h.c (usage): Fix warning (space after backslash).
28936
aa2f9dd2 289372010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28938
28939 * font/font.c: Include `grub/fontformat.h.
28940 Remove font file format constants.
28941 (grub_font_load): Use the new macros.
28942 * include/grub/fontformat.h: New file.
28943 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28944 (write_font_pf2): Use the new macros.
28945
94e7e712
RM
289462010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28947
28948 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28949 does.
28950
3973a59a
RM
289512010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28954
28955 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28956 (_start): Macroify `0x7F'.
28957
28958 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28959 (make_install_device): Use "(pxe)" as fallback prefix when booting
28960 via PXE.
28961
42e0cba3
GS
289622010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28963
28964 * configure.ac: Reset LIBS after check for libgcc symbols.
28965
847effd8
CW
289662010-01-25 Colin Watson <cjwatson@ubuntu.com>
28967
28968 * util/hostdisk.c (open_device): Add trailing newline to debug
28969 message.
28970
ea4a7e35
GS
289712010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28972
28973 * configure.ac: Check for `limits.h'.
28974 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28975
67951a53
RM
289762010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28977
28978 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28979 capitalize error strings.
28980
c273d4ce
ST
289812010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28982
28983 * util/grub.d/10_hurd.in: Add a recovery mode.
28984
69be5b74
VS
289852010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28986
28987 * configure.ac: Check for libgcc symbols with -nostdlib.
28988
fc9e5810
BC
289892010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28990
28991 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28992
4b358c0a
VS
289932010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28994
28995 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28996 stack since heap may be unavailable at that point.
28997 (grub_ofconsole_gotoxy): Likewise.
28998
454fcd1c
VS
289992010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29000
29001 * configure.ac: Check for _restgpr_14_x.
29002 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29003 and _savegpr_* prototypes.
29004
566863ca
RM
290052010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29006
29007 Use generic grub_reboot() for i386-efi.
29008
29009 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29010 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29011 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29012
bf86e59a
VS
290132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29014
29015 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29016 presence of "prefix" variable as it breaks when normal.mod is
29017 embedded.
29018
d645e0f8
VS
290192010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29020
29021 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29022 stack since heap is unavailable at that point.
29023
f9ab2e25
VS
290242010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29025
29026 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29027 (grub_freebsd_bootinfo): Rewritten.
29028 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29029
01fc7054
VS
290302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29031
29032 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29033
caab4fd6
RM
290342010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29035
29036 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29037 domain now.
29038
67eb1427
FZ
290392010-01-20 Felix Zielcke <fzielcke@z-51.de>
29040
29041 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29042 around for handling "/" to the correct fix. Fix a memory leak. Use
29043 xstrdup instead of strdup.
29044
a9ed4ff3
VS
290452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29046
29047 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29048
290492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29050
29051 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29052
29053 * font/font.c (struct grub_font): New member 'bmp_idx'.
29054 (font_init): Initialise 'bmp_idx'.
29055 (load_font_index): Fill 'bmp_idx'.
29056 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29057
48209f4f
VS
290582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29061 unnecessary calls.
29062
9f0a4bb7
VS
290632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29064
29065 Move context handling out of the kernel.
29066
29067 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29068 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29069 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29070 * conf/i386-efi.rmk: Likewise.
29071 * conf/i386-ieee1275.rmk: Likewise.
29072 * conf/i386-pc.rmk: Likewise.
29073 * conf/powerpc-ieee1275.rmk: Likewise.
29074 * conf/sparc64-ieee1275.rmk: Likewise.
29075 * conf/x86_64-efi.rmk: Likewise.
29076 * include/grub/env.h: Include grub/menu.h.
29077 (grub_env_var_type): Removed.
29078 (grub_env_var): Replaced field 'type' with 'global'.
29079 (grub_env_find): New prototype.
29080 (grub_env_context_open): Remove EXPORT_FUNC.
29081 (grub_env_context_close): Likewise.
29082 (grub_env_export): Likewise.
29083 (grub_env_set_data_slot): Removed.
29084 (grub_env_get_data_slot): Likewise.
29085 (grub_env_unset_data_slot): Likewise.
29086 (grub_env_unset_menu): New prototype.
29087 (grub_env_set_menu): Likewise.
29088 (grub_env_get_menu): Likewise.
29089 * include/grub/env_private.h: New file.
29090 * include/grub/normal.h (grub_context_init): New prototype.
29091 (grub_context_fini): Likewise.
29092 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29093 * normal/context.c (grub_cmd_export): ... to here.
29094 * kern/env.c: Include env_private.h.
29095 (HASHSZ): Moved to include/grub/env_private.h.
29096 (grub_env_context): Likewise.
29097 (grub_env_sorted_var): Likewise.
29098 (current_context): Renamed from this ...
29099 (grub_current_context): ...to this. 'static' removed. All users updated.
29100 (grub_env_find): Removed 'static'.
29101 (grub_env_context_open): Moved to normal/context.c.
29102 (grub_env_context_close): Likewise.
29103 (grub_env_export): Likewise.
29104 (mangle_data_slot_name): Removed.
29105 (grub_env_set_data_slot): Likewise.
29106 (grub_env_get_data_slot): Likewise.
29107 (grub_env_unset_data_slot): Likewise.
29108 * kern/main.c (grub_set_root_dev): Don't export root.
29109 It will be done later.
29110 (grub_main): Don't export prefix.
29111 It will be done later.
29112 * normal/context.c: New file.
29113 * normal/main.c (free_menu): Use grub_env_unset_menu.
29114 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29115 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29116 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29117 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29118
8dd35b8c
VS
291192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29120
29121 setpci support.
29122
29123 * commands/setpci.c: New file.
29124 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29125 (setpci_mod_SOURCES): New variable.
29126 (setpci_mod_CFLAGS): Likewise.
29127 (setpci_mod_LDFLAGS): Likewise.
29128
449193d5
VS
291292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29130
29131 Byte-addressable PCI configuration space.
29132
29133 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29134 dword address.
29135 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29136 GRUB_PCI_REG_CACHELINE.
29137 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29138 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29139 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29140 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29141 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29142 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29143 grub_pci_make_address.
29144 (lock_rom_area): Likewise.
29145 * commands/lspci.c (grub_lspci_iter): Use macroses
29146 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29147 of grub_pci_make_address.
29148 * disk/ata.c (grub_ata_pciinit): Likewise.
29149 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29150 (GRUB_PCI_REG_VENDOR): Likewise.
29151 (GRUB_PCI_REG_DEVICE): Likewise.
29152 (GRUB_PCI_REG_COMMAND): Likewise.
29153 (GRUB_PCI_REG_STATUS): Likewise.
29154 (GRUB_PCI_REG_REVISION): Likewise.
29155 (GRUB_PCI_REG_CLASS): Likewise.
29156 (GRUB_PCI_REG_CACHELINE): Likewise.
29157 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29158 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29159 (GRUB_PCI_REG_BIST): Likewise.
29160 (GRUB_PCI_REG_ADDRESSES): Likewise.
29161 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29162 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29163 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29164 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29165 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29166 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29167 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29168 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29169 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29170 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29171 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29172 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29173 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29174 (GRUB_PCI_REG_MIN_GNT): Likewise.
29175 (GRUB_PCI_REG_MAX_LAT): Likewise.
29176 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29177 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29178 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29179 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29180 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29181 space.
29182
96d73208
RM
291832010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29184
29185 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29186 can be reliably determined to be supported.
29187
d4484482
RM
291882010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29189
29190 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29191 that VESA is supported.
29192 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29193 supported.
29194
00308ecf
VS
291952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29196
29197 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29198
f66924a4
RM
291992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29200
29201 * util/misc.c (make_system_path_relative_to_its_root): Work around
29202 special-casing of "/", as previous incarnation of this routine did.
29203
cbca0ada
VS
292042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29205
29206 Fix any-emu compilation.
29207
29208 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29209 * grub_bin2h_SOURCES: New variable.
29210
34a66d99
RM
292112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29212
29213 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29214
94fabf58
RM
292152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29216
29217 * util/grub.d/00_header.in: Fix handling of locale_dir.
29218
02cf98ca
VS
292192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29220
29221 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29222 as possible unifont location (Gentoo).
29223 Reported by: Alexander Brüning
29224
327dbcd7
VS
292252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29226
29227 Don't try to generate lists for kernel.img.
29228
29229 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29230 (pkglib_MODULES): Remove kernel.img.
29231 (kernel_img_EXPORTS): Removed.
29232 (kernel_img_RELOCATABLE): New variable.
29233 * conf/x86_64-efi.rmk: Likewise.
29234 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29235
ca467290
VS
292362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29237
29238 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29239 grub_xasprintf or grub_snprintf.
29240 (grub_vsprintf): Likewise.
29241 (grub_snprintf): New proto.
29242 (grub_vsnprintf): Likewise.
29243 (grub_xasprintf): Likewise.
29244 (grub_xvasprintf): Likewise.
29245 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29246 (grub_sprintf): Removed.
29247 (grub_vsnprintf): New function.
29248 (grub_snprintf): Likewise.
29249 (grub_xvasprintf): Likewise.
29250 (grub_xasprintf): Likewise.
29251 (grub_vsprintf): Renamed to ...
29252 (grub_vsnprintf_real): ...this. New argument max_len.
29253
aca655fd
BC
292542010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29255
29256 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29257 fix grub-script-check warning.
29258
7ee92c32
VS
292592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 * include/grub/font.h (grub_font_load): Fix prototype.
29262
f80927ca
VS
292632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29266
119c50ea
VS
292672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * include/grub/x86_64/at_keyboard.h: New file.
29270
47d5f3c1
VS
292712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29272
29273 * loader/mips/linux.c: Include missing grub/i18n.h.
29274
55ff5266
RM
292752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29276
29277 * normal/menu.c (notify_execution_failure): Clarify error message.
29278
c893cc87
RM
292792009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29280
29281 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29282 return value (and revert all return statements). Update users.
29283
917dd370
CW
292842010-01-20 Dan Merillat <debian@dan.merillat.org>
29285
29286 * kern/device.c (grub_device_iterate): Allocate new part_ent
29287 structure based on sizeof (*p) rather than sizeof (p->next), to
29288 account for structure padding.
29289
29290 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29291 disk is NULL, which might happen for LVM physical volumes with no
29292 LVM signature.
29293
d4a4ee57
RM
292942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29295
29296 * loader/mips/linux.c (grub_cmd_initrd)
29297 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29298
292992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29300
29301 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29302 (grub_video_video_init, grub_video_bitmap_init)
29303 (grub_font_manager_init, grub_term_gfxterm_init)
29304 (grub_at_keyboard_init): New extern declarations.
29305 (grub_machine_init): Initialize gfxterm and at_keyboard.
29306
29307 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29308
29309 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29310 `gfxterm.mod' into core image.
29311
29312 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29313 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29314 (kernel_img_FORMAT): Copy to ...
29315
29316 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29317 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29318 (kernel_img_FORMAT): ... here, and ...
29319
29320 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29321 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29322 (kernel_img_FORMAT): ... here.
29323
29324 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29325 and input (at_keyboard) terminals in kernel.
29326 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29327
29328 (pkglib_MODULES): Remove `pci.mod'.
29329 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29330 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29331 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29332 (at_keyboard_mod_LDFLAGS): Remove variables.
29333
293342010-01-11 Felix Zielcke <fzielcke@z-51.de>
29335
29336 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29337
293382009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29339
29340 * include/grub/mips/libgcc.h: Only export symbols for functions
29341 that libgcc provides.
29342
293432009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29344
29345 MIPS support.
29346
29347 * bus/bonito.c: New file.
29348 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29349 GRUB_PCI_NUM_DEVICES.
29350 * term/i386/pc/serial.c: Move to ...
29351 * term/serial.c: ... here. All users updated.
29352 * util/i386/pc/grub-mkimage.c: Move to ...
29353 * util/grub-mkrawimage.c: ... here. All users updated.
29354 * term/i386/pc/at_keyboard.c: Move to ...
29355 * term/at_keyboard.c: ... here. All users updated.
29356 * conf/mips-qemu-mips.rmk: New file.
29357 * conf/mips-yeeloong.rmk: Likewise.
29358 * conf/mips.rmk: Likewise.
29359 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29360 mipsel-qemu-mips.
29361 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29362 to port addresses.
29363 (grub_ata_pciinit): Support CS5536.
29364 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29365 * font/font_cmd.c (loadfont_command): Open file before passing it to
29366 grub_font_load.
29367 (pseudo_file_read): New function.
29368 (pseudo_file_close): Likewise.
29369 (pseudo_fs): New structure.
29370 (load_font_module): New function.
29371 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29372 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29373 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29374 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29375 * include/grub/i386/at_keyboard.h: Split into ...
29376 * include/grub/at_keyboard.h: ... this ...
29377 * include/grub/i386/at_keyboard.h: ... and this.
29378 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29379 New prototype.
29380 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29381 updated.
29382 (grub_elf64_size): Likewise.
29383 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29384 filename.
29385 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29386 * include/grub/i386/coreboot/serial.h: Rewritten.
29387 * include/grub/i386/ieee1275/serial.h: Include
29388 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29389 * include/grub/i386/pc/serial.h: Moved from here ...
29390 * include/grub/serial.h: ... to here. All users updated.
29391 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29392 (GRUB_PCI_NUM_BUS): Likewise.
29393 (GRUB_PCI_NUM_DEVICES): Likewise.
29394 (grub_pci_device_map_range): Add missing volatile keyword.
29395 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29396 * include/grub/mips/at_keyboard.h: New file.
29397 * include/grub/mips/cache.h: Likewise.
29398 * include/grub/mips/io.h: Likewise.
29399 * include/grub/mips/kernel.h: Likewise.
29400 * include/grub/mips/libgcc.h: Likewise.
29401 * include/grub/mips/pci.h: Likewise.
29402 * include/grub/mips/qemu-mips/boot.h: Likewise.
29403 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29404 * include/grub/mips/qemu-mips/loader.h: Likewise.
29405 * include/grub/mips/qemu-mips/memory.h: Likewise.
29406 * include/grub/mips/qemu-mips/serial.h: Likewise.
29407 * include/grub/mips/qemu-mips/time.h: Likewise.
29408 * include/grub/mips/relocator.h: Likewise.
29409 * include/grub/mips/time.h: Likewise.
29410 * include/grub/mips/types.h: Likewise.
29411 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29412 * include/grub/mips/yeeloong/boot.h: Likewise.
29413 * include/grub/mips/yeeloong/kernel.h: Likewise.
29414 * include/grub/mips/yeeloong/loader.h: Likewise.
29415 * include/grub/mips/yeeloong/memory.h: Likewise.
29416 * include/grub/mips/yeeloong/pci.h: Likewise.
29417 * include/grub/mips/yeeloong/serial.h: Likewise.
29418 * include/grub/mips/yeeloong/time.h: Likewise.
29419 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29420 * kern/elf.c (grub_elf32_size): New parameter. All users
29421 updated.
29422 (grub_elf64_size): Likewise.
29423 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29424 Load modules before saying "Welcome to GRUB!".
29425 Call grub_refresh after saying "Welcome to GRUB!".
29426 * kern/mips/cache.S: New file.
29427 * kern/mips/cache_flush.S: Likewise.
29428 * kern/mips/dl.c: Likewise.
29429 * kern/mips/init.c: Likewise.
29430 * kern/mips/qemu-mips/init.c: Likewise.
29431 * kern/mips/startup.S: Likewise.
29432 * kern/mips/yeeloong/init.c: Likewise.
29433 * kern/term.c (grub_putcode): Handle NULL terminal.
29434 (grub_getcharwidth): Likewise.
29435 (grub_getkey): Likewise.
29436 (grub_checkkey): Likewise.
29437 (grub_getkeystatus): Likewise.
29438 (grub_getxy): Likewise.
29439 (grub_getwh): Likewise.
29440 (grub_gotoxy): Likewise.
29441 (grub_cls): Likewise.
29442 (grub_setcolorstate): Likewise.
29443 (grub_setcolor): Likewise.
29444 (grub_getcolor): Likewise.
29445 (grub_refresh): Likewise.
29446 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29447 (write_jump): Add hatch nop.
29448 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29449 * lib/mips/setjmp.S: New file.
29450 * loader/mips/linux.c: Likewise.
29451 * term/i386/pc/at_keyboard.c: Move from here ...
29452 * term/at_keyboard.c: ... to here.
29453 * term/i386/pc/serial.c: Moved from here ...
29454 * term/serial.c: ... to here. All users updated.
29455 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29456 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29457 (serial_translate_key_sequence): Avoid deadlock.
29458 (grub_serial_getkey): Handle backspace.
29459 (grub_serial_putchar): Fix newline handling.
29460 * util/i386/pc/grub-mkimage.c: Move from here ...
29461 * util/grub-mkrawimage.c: ... to here. All users updated.
29462 (generate_image): New parameters 'font_path' and 'format'.
29463 Support embedding font.
29464 Use grub_host_to_target* instead of grub_cpu_to_le*.
29465 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29466 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29467 (options): New option "--font".
29468 (usage): Likewise.
29469 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29470 (main): Handle "--font".
29471 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29472 (grub_virtual_screen_setup): Set bg_color_display.
29473 (redraw_screen_rect): Use bg_color_display instead of incorrect
29474 bg_color.
29475 (grub_gfxterm_cls): Likewise.
29476 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29477 Support embedding config file.
29478 (add_segments): Likewise.
29479 (options): New option "--config".
29480 (main): Handle "--config".
29481 * video/sm712.c: New file.
29482
25c2b5b3
RM
294832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29484
29485 Fix parallel builds.
29486
29487 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29488 font.c depend on ascii.h).
29489
294902010-01-12 Carles Pina i Estany <carles@pina.cat>
29491
29492 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29493
294942010-01-11 Carles Pina i Estany <carles@pina.cat>
29495
29496 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29497 By default: disabled.
29498 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29499 parameter.
29500
295012010-01-10 Carles Pina i Estany <carles@pina.cat>
29502
29503 * font/font.c: Update copyright years.
29504 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29505
295062010-01-10 Carles Pina i Estany <carles@pina.cat>
29507
29508 * font/font.c: Include `ascii.h'.
29509 (ASCII_BITMAP_SIZE): New macro.
29510 (ascii_font_glyph): Define.
29511 (ascii_glyph_lookup): New function.
29512 (grub_font_get_string_width): Change comment. If glyph not found, use
29513 ascii_glyph_lookup.
29514 (grub_font_get_glyph_with_fallback): If glyph not available returns
29515 ascii_glyph_lookup.
29516 * util/grub-mkfont.c (file_formats): New enum.
29517 (options): Add `ascii-bitmaps' new option.
29518 (usage): Add `asii-bitmaps' new option.
29519 (write_font_ascii_bitmap): New function.
29520 (write_font): Rename to ...
29521 (write_font_p2): ... this. Remove print_glyphs call.
29522 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29523 used. Call print_glyphs.
29524 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29525
295262010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29529 (grub_bin2h_SOURCES): New variable.
29530 * util/bin2h.c: New file.
29531
915fc1b8
VS
295322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29533
29534 * include/multiboot.h: Resynced with spec.
29535 * include/multiboot2.h: Likewise.
29536 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29537 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29538
9444b678
RM
295392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 * include/grub/term.h (grub_term_register_input,
29542 grub_term_register_output): Check return of terminal init()
29543 routines, and abort if errors are raised.
29544
29545 * commands/terminal.c: Update copyright year.
29546
cba98e8d
RM
295472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29548
29549 * commands/terminal.c (grub_cmd_terminal_input)
29550 (grub_cmd_terminal_output): Check return of terminal init()
29551 routines, and abort if errors are raised.
29552
6f7db5d6
VS
295532010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29554
29555 * include/grub/i386/bsd.h: Fix include pathes.
29556
262bff8d
VS
295572010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29558
29559 Add missing *BSD copyright headers.
29560
29561 * include/grub/aout.h: Add BSD licence.
29562 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29563 * include/grub/i386/freebsd_linker.h: ... here,
29564 * include/grub/i386/freebsd_reboot.h: ... here,
29565 * include/grub/i386/netbsd_bootinfo.h: ... here,
29566 * include/grub/i386/netbsd_reboot.h: ... here,
29567 * include/grub/i386/openbsd_bootarg.h: ... here,
29568 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29569 licence to each file.
29570
b2cab848
RM
295712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29572
29573 * acinclude.m4: Remove `nop' assembly instruction; it's not
29574 implemented by all architectures.
29575
2cb6be4b
RM
295762010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29577
29578 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29579 ELILO. This is no longer necessary.
29580
a2eaee15
BC
295812010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29582
29583 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29584
29585 * util/grub-script-check.c: grub-script-check tool.
29586 * conf/common.rmk: Make rules for grub-script-check.
29587
88d17012
RM
295882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29589
29590 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29591 spotting it back in 2008. Shame on me for forgetting he did.
29592
29593 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29594
8040619d
RM
295952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29596
29597 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29598 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29599 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29600 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29601 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29602 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29603
a0c2a0f6
RM
296042010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29605
29606 * include/grub/test.h: Add license header.
29607 * tests/example_functional_test.c: Likewise.
29608 * tests/example_unit_test.c: Likewise.
29609 * tests/lib/functional_test.c: Likewise.
29610 * tests/lib/test.c: Likewise.
29611 * tests/lib/unit_test.c: Likewise.
29612
b0b13907
VS
296132010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Use flag-based instead of hook-based video mode selection and "auto"
29616 keyword.
29617
29618 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29619 (grub_video_set_mode): Changed prototype. All users updated.
29620 (grub_video_check_mode_flag): New inline function.
29621 * video/video.c (parse_modespec): New function.
29622 (grub_video_set_mode): Parse flags and keywords.
29623
ea379330 296242010-01-17 Carles Pina i Estany <carles@pina.cat>
29625
29626 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29627 fprintf call.
29628
e15c215e
FZ
296292010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29630
29631 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29632
409ae1c9 296332010-01-16 Carles Pina i Estany <carles@pina.cat>
29634
29635 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29636 string.
29637 * util/grub-emu.c (usage): Likewise.
29638 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29639 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29640 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29641 * util/i386/pc/grub-setup.c (usage): Likewise.
29642
70a14d3d 296432010-01-16 Carles Pina i Estany <carles@pina.cat>
29644
29645 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29646 the message.
29647 (grub_util_info): Likewise.
29648 (grub_util_error): Likewise.
29649 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29650 and/or new lines in `grub_util_warna', `grub_util_info',
29651 `grub_util_error' calls.
29652 * util/getroot.c: Likewise.
29653 * util/grub-editenv.c: Likewise.
29654 * util/grub-emu.c: Likewise.
29655 * util/grub-fstest.c: Likewise.
29656 * util/grub-mkdevicemap.c: Likewise.
29657 * util/grub-mkfont.c: Likewise.
29658 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29659 * util/grub-mkrelpath.c: Likewise.
29660 * util/grub-pe2elf.c: Likewise.
29661 * util/grub-probe.c: Likewise.
29662 * util/hostdisk.c: Likewise.
29663 * util/i386/efi/grub-mkimage.c: Likewise.
29664 * util/i386/pc/grub-mkimage.c: Likewise.
29665 * util/i386/pc/grub-setup.c: Likewise.
29666 * util/ieee1275/ofpath.c: Likewise.
29667 * util/mkisofs/eltorito.c: Likewise.
29668 * util/mkisofs/rock.c: Likewise.
29669 * util/mkisofs/write.c: Likewise.
29670 * util/raid.c: Likewise.
29671 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29672 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29673
a0b766fc
VS
296742010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29675
29676 Enable multiboot on non-pc.
29677
29678 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29679 multiboot.mod and multiboot2.mod to ...
29680 * conf/i386.rmk (pkglib_MODULES): ... here.
29681 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29682 Moved to ...
29683 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29684 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29685 Moved to ...
29686 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29687 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29688 Moved to ...
29689 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29690 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29691 Moved to ...
29692 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29693 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29694 relocator.mod.
29695 (ata_mod_SOURCES): Removed.
29696 (ata_mod_CFLAGS): Likewise.
29697 (ata_mod_LDFLAGS): Likewise.
29698 (relocator_mod_SOURCES): Removed.
29699 (relocator_mod_CFLAGS): Likewise.
29700 (relocator_mod_ASFLAGS): Likewise.
29701 (relocator_mod_LDFLAGS): Likewise.
29702 Include i386.mk.
29703 * include/grub/x86_64/multiboot.h: New file.
29704 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29705 Terminate EFI.
29706
884ade56
VS
297072010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29708
29709 Video multiboot support.
29710
29711 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29712 New prototype.
29713 * include/multiboot.h: Resynced with multiboot specification.
29714 * include/multiboot2.h: Likewise.
29715 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29716 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29717 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29718 (HAS_VGA_TEXT): Likewise.
29719 (accepts_video): New variable.
29720 (grub_multiboot_set_accepts_video): New function.
29721 (grub_multiboot_get_mbi_size): Account for video structures.
29722 (set_video_mode): New function.
29723 (retrieve_video_parameters): Likewise.
29724 (grub_multiboot_make_mbi): Fill video fields.
29725
0d90e8a6
VS
297262010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29727
29728 Video driver ids.
29729
29730 * include/grub/video.h (grub_video_driver_id): New type.
29731 (grub_video_adapter): New member 'id'. All users updated.
29732 (grub_video_get_driver_id): New proto.
29733 * video/video.c (grub_video_get_driver_id): New function.
29734
5c71db1b 297352010-01-14 Carles Pina i Estany <carles@pina.cat>
29736
29737 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29738 `var=val'.
29739
cca15b52 297402010-01-14 Carles Pina i Estany <carles@pina.cat>
29741
29742 * normal/cmdline.c (print_completion): Gettextizze.
29743
c586fbb2 297442001-01-14 Carles Pina i Estany <carles@pina.cat>
29745
29746 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29747
ba2f6848 297482010-01-14 Carles Pina i Estany <carles@pina.cat>
29749
29750 * gettext/gettext.c (grub_gettext_translate): Push and pop
29751 grub_errno.
29752 (grub_gettext_delete_list): Change comment style.
29753 * kern/err.c (grub_error): Gettextizze.
29754 (grub_fatal): Gettextizze.
29755
0a46429a
RM
297562010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29757
29758 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29759 (grub_linux16_real_boot): ... this.
29760 * kern/i386/loader.S: Likewise.
29761 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29762 (grub_linux16_boot): New function. Switches to text mode and calls
29763 grub_linux16_real_boot().
29764
29765 * loader/i386/bsd.c: Include `<grub/video.h>'.
29766 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29767 text mode before calling grub_unix_real_boot().
29768
29769 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29770 (grub_multiboot_boot): Switch to text mode before calling
29771 grub_relocator32_boot().
29772
29773 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29774 (grub_chainloader_boot): Switch to text mode before calling
29775 grub_chainloader_real_boot().
29776
d6f93a66
RM
297772010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
297782010-01-05 Colin Watson <cjwatson@ubuntu.com>
29779
29780 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29781 non-empty value.
29782
297832010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
297842010-01-05 Colin Watson <cjwatson@ubuntu.com>
29785
29786 * util/grub.d/00_header.in: Define a "savedefault" function for use
29787 in menu entries.
29788 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29789
297902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
297912010-01-05 Colin Watson <cjwatson@ubuntu.com>
29792
29793 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29794 saved_entry if boot_once is unset.
29795 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29796 previous saved entry (i.e. grub-reboot).
29797
297982009-12-08 Colin Watson <cjwatson@ubuntu.com>
29799
29800 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29801
298022009-12-08 Colin Watson <cjwatson@ubuntu.com>
29803
29804 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29805 `var=val'.
29806 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29807
298082009-12-08 Colin Watson <cjwatson@ubuntu.com>
29809
29810 * util/grub-reboot.in: Fix --version output.
29811 * util/grub-set-default.in: Likewise.
29812
298132009-12-08 Colin Watson <cjwatson@ubuntu.com>
29814
29815 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29816 blocks.
29817
298182009-12-08 Colin Watson <cjwatson@ubuntu.com>
29819
29820 * util/grub.d/00_header.in: Quote the value assigned to `default',
29821 in case it contains spaces.
29822
298232009-12-08 Colin Watson <cjwatson@ubuntu.com>
29824
29825 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29826 `save_default_entry' call from the macosx case to the linux case.
29827
298282009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
298292009-10-25 Colin Watson <cjwatson@ubuntu.com>
29830
29831 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29832 in `chosen' environment variable.
29833 * normal/menu_text.c (get_entry_number): Check if the variable
29834 matches the title of a menu entry.
29835 (run_menu): Pass menu to get_entry_number.
29836
29837 * util/grub-reboot.in: New file.
29838 * util/grub-set-default.in: New file.
29839 * conf/common.rmk (grub-reboot): New utility.
29840 (grub-set-default): New utility.
29841
29842 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29843 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29844 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29845 move it to `saved_entry' for the next boot. Load environment on
29846 initialisation.
29847 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29848 * util/grub.d/10_hurd.in: Likewise.
29849 * util/grub.d/10_linux.in (linux_entry): Likewise.
29850 * util/grub.d/10_windows.in: Likewise.
29851 * util/grub.d/30_os-prober.in: Likewise.
29852
29853 * util/grub-install.in: Create environment block.
29854 * util/i386/efi/grub-install.in: Likewise.
29855 * util/ieee1275/grub-install.in: Likewise.
29856 * util/sparc64/ieee1275/grub-install.in: Likewise.
29857
0934d184
BC
298582010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29859
29860 Unit testing framework for GRUB.
29861
29862 * Makefile.in: Test framework build rules for 'make check'.
29863 * conf/tests.rmk: Build rules for individual tests and framework.
29864
29865 * include/grub/test.h: Header file for whitebox tests.
29866 * tests/lib/functional_test.c: Framework support for whitebox
29867 functional tests.
29868 * tests/lib/test.c: Common whitebox testing code for unit and
29869 functional tests.
29870 * tests/lib/unit_test.c: Framework support for whitebox unit
29871 tests.
29872
29873 * tests/util/grub-shell-tester.in: Support utility for grub-script
29874 tests.
29875 * tests/util/grub-shell.in: Utility to execute grub-script
29876 commands in a Qemu instance.
29877
29878 * tests/example_functional_test.c: Example whitebox functional
29879 test.
29880 * tests/example_grub_script_test.in: Example grub-script test.
29881 * tests/example_scripted_test.in: Example scripted test.
29882 * tests/example_unit_test.c: Example whitebox unit test.
29883
9c4ffeeb
VS
298842010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29885
29886 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29887 Add loader/i386/multiboot_mbi.c.
29888 (multiboot2_mod_SOURCES): Likewise.
29889 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29890 (multiboot2_mod_SOURCES): Likewise.
29891 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29892 (grub_multiboot_make_mbi): Likewise.
29893 (grub_multiboot_free_mbi): Likewise.
29894 (grub_multiboot_init_mbi): Likewise.
29895 (grub_multiboot_add_module): Likewise.
29896 (grub_multiboot_set_bootdev): Likewise.
29897 * loader/i386/multiboot.c (mbi): Removed.
29898 (mbi_dest): Likewise.
29899 (alloc_mbi): New variable.
29900 (grub_multiboot_payload_size): Removed. All users updated.
29901 (grub_multiboot_pure_size): New variable.
29902 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29903 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29904 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29905 (grub_fill_multiboot_mmap): Likewise.
29906 (grub_multiboot_get_bootdev): Likewise.
29907 (grub_multiboot): Use multiboot_mbi functions.
29908 * loader/i386/multiboot_mbi.c: New file.
29909
17383dfe
VS
299102010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29911
29912 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29913 it would result in module crash.
29914
c1f28820
VS
299152010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29916
29917 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29918 (grub_ofconsole_getwh): Split to ...
29919 (grub_ofconsole_getwh): ... this.
29920 (grub_ofconsole_dimensions): ...and this.
29921 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29922
58655a16
RM
299232010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29926
10891398
VS
299272010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 * loader/i386/pc/multiboot2.c: Removed stalled file.
29930
0b8a223c
VS
299312010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29932
29933 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29934 Reported by: Grégoire Sutre
29935
92ab12b0
RM
299362010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29937
29938 * util/misc.c (canonicalize_file_name): New function.
29939 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29940 instead of realpath().
29941
a788afb6
CW
299422010-01-11 Colin Watson <cjwatson@ubuntu.com>
29943
29944 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29945 and make it clearer that it's optional. Based on confusion
29946 witnessed on IRC.
29947
ffa8e3d2
VS
299482010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29949
29950 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29951 in premature implicit newline.
29952
e9060a9d
VS
299532010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29954
29955 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29956 which resulted in garbled command line at the end of screen.
29957
f0d0c0b7
RM
299582010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29959
29960 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29961 initialization with similar approach as with other Linux loaders.
29962
0e60bae7
RM
299632010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29964
29965 Fix i386-ieee1275 build.
29966
29967 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29968 and grub_term_height() for video_{width,height} initialization.
29969
299702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29971
29972 Fix grub-emu build.
29973
29974 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29975
cdb3f378
RM
299762010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
299772010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29978
29979 Support for multiple terminals.
29980
29981 * Makefile.in (pkglib_DATA): terminal.lst.
29982 (terminal.lst): New target.
29983 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29984 (GRUB_MOD_INIT(handler)): Likewise.
29985 (GRUB_MOD_FINI(handler)): Likewise.
29986 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29987 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29988 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29989 (grub_cmd_sleep): Use grub_term_save_pos.
29990 * commands/terminal.c: New file.
29991 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29992 commands/terminal.c and lib/charset.c.
29993 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29994 (pkglib_MODULES): Add terminal.mod.
29995 (terminal_mod_SOURCES): New variable.
29996 (terminal_mod_CFLAGS): Likewise.
29997 (terminal_mod_LDFLAGS): Likewise.
29998 * genhandlerlist.sh: Don't handle terminals.
29999 * genmk.rb: Generate terminal-*.lst.
30000 * genterminallist.sh: New file.
30001 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30002 (grub_is_valid_utf8): Likewise.
30003 (grub_utf8_to_ucs4_alloc): Likewise.
30004 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30005 (grub_menu_register_viewer): Changed argument.
30006 (grub_menu_try_text): New proto.
30007 (grub_gfxmenu_try_hook): New declaration.
30008 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30009 (grub_menu_init_page): Additional argument term.
30010 (grub_normal_init_page): Likewise.
30011 (grub_cmdline_get): Arguments simplified.
30012 (grub_utf8_to_ucs4_alloc): Removed.
30013 (grub_print_ucs4): Additional argument term.
30014 (grub_getstringwidth): Likewise.
30015 (grub_print_message_indented): Likewise.
30016 (grub_menu_text_register_instances): New proto.
30017 (grub_show_menu): Likewise.
30018 (read_terminal_list): Likewise.
30019 (grub_set_more): Likewise.
30020 * include/grub/parser.h: Include handler.h.
30021 * include/grub/reader.h: Rewritten.
30022 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30023 (GRUB_TERM_WIDTH): Changed to function.
30024 (GRUB_TERM_HEIGHT): Likewise.
30025 (GRUB_TERM_BORDER_WIDTH): Likewise.
30026 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30027 (GRUB_TERM_NUM_ENTRIES): Likewise.
30028 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30029 (GRUB_TERM_CURSOR_X): Likewise.
30030 (grub_term_input_class): Likewise.
30031 (grub_term_output_class): Likewise.
30032 (grub_term_outputs_disabled): New declaration.
30033 (grub_term_inputs_disabled): Likewise.
30034 (grub_term_outputs): Likewise.
30035 (grub_term_inputs): Likewise.
30036 (grub_term_register_input): Rewritten.
30037 (grub_term_register_output): Likewise.
30038 (grub_term_unregister_input): Likewise.
30039 (grub_term_unregister_output): Likewise.
30040 (FOR_ACTIVE_TERM_INPUTS): New macro.
30041 (FOR_DISABLED_TERM_INPUTS): Likewise.
30042 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30043 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30044 * include/grub/terminfo.h: Add oterm argument to all protypes.
30045 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30046 Use grub_rescue_run.
30047 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30048 All users updated.
30049 * kern/reader.c: Removed. All users updated.
30050 * kern/rescue_reader.c (grub_rescue_init): Removed.
30051 (grub_rescue_reader): Likewise.
30052 (grub_register_rescue_reader): Likewise.
30053 (grub_rescue_run): New function based on kern/reader.c.
30054 * kern/term.c: Adapted for multiterm.
30055 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30056 (grub_is_valid_utf8): Likewise.
30057 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30058 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30059 right terminal.
30060 * loader/i386/linux.c (grub_linux_boot): Likewise.
30061 * normal/auth.c (grub_username_get): New function.
30062 (grub_auth_check_authentication): Use grub_username_get.
30063 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30064 * normal/color.c: Adapt for multiterm.
30065 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30066 (grub_normal_init_page): Additional argument term.
30067 (read_lists): Call read_terminal_lists.
30068 (grub_enter_normal_mode): Call grub_cmdline_run.
30069 Handle grub_normal_exit_level.
30070 (grub_cmd_normal): Make reentrant.
30071 (grub_cmd_normal_exit): New function.
30072 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30073 * normal/menu.c: Adapt for multiterm.
30074 * normal/menu_entry.c: Likewise.
30075 * normal/menu_text.c: Likewise.
30076 * normal/menu_viewer.c: Removed. All users updated.
30077 * normal/term.c: New file.
30078 * util/console.c: Change order of includes to workaround a bug in
30079 ncurses headers.
30080 * term/terminfo.c: New argument oterm on all exported functions.
30081 All users updated.
30082 * util/grub-editenv.c (grub_term_input_class): Removed.
30083 (grub_term_output_class): Likewise.
30084
1a064917
RM
300852010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30086
30087 Make loader output a bit more user-friendly.
30088
30089 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30090 is being loaded. Likewise for the Hurd.
30091
30092 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30093 that kernel of FreeBSD ${version} is being loaded.
30094
30095 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30096 grub_dprintf().
30097 (grub_cmd_initrd): Likewise.
30098 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30099 that Linux ${version} is being loaded. Likewise for initrd.
30100
5ce0a83a 301012010-01-09 Carles Pina i Estany <carles@pina.cat>
30102
30103 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30104
809bbfeb 301052010-01-08 Carles Pina i Estany <carles@pina.cat>
30106
30107 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30108 (GRUB_MOD_INIT): Gettextizze.
30109 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30110 (GRUB_MOD_INIT): Gettextizze.
30111 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30112 (grub_cmd_linux): Capitalise Linux.
30113 (GRUB_MOD_INIT): Gettextizze.
30114 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30115 (grub_cmd_linux): Capitalise Linux.
30116 (GRUB_MOD_INIT): Gettextizze.
30117 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30118 (grub_cmd_linux): Capitalise Linux.
30119 (GRUB_MOD_INIT): Gettextizze.
30120 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30121 (GRUB_MOD_INIT): Gettextizze.
30122 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30123 (grub_cmd_linux): Capitalise Linux.
30124 (GRUB_MOD_INIT): Gettextizze.
30125 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30126 (grub_cpu_xnu_init): Gettextizze.
30127 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30128 (GRUB_MOD_INIT): Gettextizze.
30129 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30130 (GRUB_MOD_INIT): Gettextizze.
30131 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30132 (grub_linux_load64): Capitalise Linux.
30133 (GRUB_MOD_INIT): Gettextizze.
30134 * loader/xnu.c: Include `<grub/i18n.h>'.
30135 (GRUB_MOD_INIT): Gettextizze.
30136 * po/POTFILES: Add `loader/efi/appleloader.c',
30137 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30138 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30139 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30140 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30141 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30142 and `loader/xnu.c'.
30143
b394b2ca
RM
301442010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30145
30146 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30147
301482010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30149
30150 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30151 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30152 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30153
bc8b32b3
RM
301542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30155
30156 Reset Multiboot 2 support. New loader implements the draft in
30157 /branches/multiboot2 and shares as much code as possible with the
30158 production Multiboot 1 implementation.
30159
30160 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30161 * loader/multiboot2.c: Likewise.
30162 * loader/i386/multiboot_helper.S: Likewise.
30163 * include/multiboot2.h: Replace with latest version from the draft
30164 in /branches/multiboot2.
30165
30166 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30167 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30168 and `loader/multiboot2.c'.
30169 (pkglib_MODULES): Add `multiboot2.mod'.
30170 (multiboot2_mod_SOURCES): New variable.
30171 (multiboot2_mod_LDFLAGS): Likewise.
30172 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30173
30174 * conf/i386-pc.rmk: Likewise.
30175
30176 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30177 (multiboot_mod_SOURCES): Remove variable.
30178 (multiboot_mod_LDFLAGS): Likewise.
30179 (multiboot_mod_CFLAGS): Likewise.
30180
30181 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30182 `<multiboot2.h>' instead of `<multiboot.h>'.
30183 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30184 (MULTIBOOT_HEADER_MAGIC): New macros.
30185
30186 * loader/multiboot_loader.c (module_version_status): Remove variable.
30187 (find_multi_boot2_header): Remove function.
30188 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30189 logic. Always check for the Multiboot version we're compiling for.
30190 (grub_cmd_module_loader): Likewise.
30191 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30192 command instead of `multiboot'.
30193
5d2c52b8
RM
301942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30195
30196 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30197 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30198 all users.
30199
53108d92
RM
302002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
302012010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30202
30203 Fix breakage introduced with previous commit.
30204
30205 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30206 commands.
30207 * normal/handler.c (read_handler_list): Revert part of previous commit
30208 affecting this file.
30209 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30210 (grub_normal_execute): ... here.
30211
e2e936b2
RM
302122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30213
30214 Merge prefix-redefinition-fix branch.
30215
30216 * normal/autofs.c (read_fs_list): Make function capable of being
30217 run multiple times, gracefuly replacing the previous data
30218 structures.
30219 * normal/dyncmd.c (read_command_list): Likewise.
30220 * normal/handler.c (read_handler_list): Likewise.
30221 * normal/main.c (read_lists): New function. Calls all the
30222 list reading functions.
30223 (grub_normal_execute): Use read_lists() instead of calling all
30224 list reading functions explicitly. Register read_lists() as a
30225 variable hook attached to ${prefix}.
30226
607a3701
VS
302272010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30228
30229 Merge crypto branch.
30230
30231 * Makefile.in (pkglib_DATA): Add crypto.lst.
30232 (crypto.lst): New target.
30233 * commands/hashsum.c: New file.
30234 * commands/password.c (check_password): Use grub_crypto_memcmp.
30235 * commands/password_pbkdf2.c: New file.
30236 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30237 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30238 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30239 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30240 -I$(srcdir)/lib/libgcrypt_wrap.
30241 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30242 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30243 password_pbkdf2.mod.
30244 (crypto_mod_SOURCES): New variable.
30245 (crypto_mod_CFLAGS): Likewise.
30246 (crypto_mod_LDFLAGS): Likewise.
30247 (hashsum_mod_SOURCES): New variable.
30248 (hashsum_mod_CFLAGS): Likewise.
30249 (hashsum_mod_LDFLAGS): Likewise.
30250 (pbkdf2_mod_SOURCES): New variable.
30251 (pbkdf2_mod_CFLAGS): Likewise.
30252 (pbkdf2_mod_LDFLAGS): Likewise.
30253 (password_pbkdf2_mod_SOURCES): New variable.
30254 (password_pbkdf2_mod_CFLAGS): Likewise.
30255 (password_pbkdf2_mod_LDFLAGS): Likewise.
30256 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30257 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30258 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30259 Include conf/gcry.rmk.
30260 * include/grub/auth.h: Rewritten.
30261 * include/grub/crypto.h: New file.
30262 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30263 * include/grub/normal.h (read_crypto_list): New prototype.
30264 * lib/crypto.c: New file.
30265 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30266 * lib/pbkdf2.c: Likewise.
30267 * normal/auth.c (grub_auth_strcmp): Removed.
30268 (grub_iswordseparator): Likewise.
30269 (grub_auth_strword): Likewise.
30270 (is_authenticated): Use grub_strword.
30271 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30272 and grub_strword. Pass entered password to authentication callback.
30273 * normal/crypto.c: New file.
30274 * normal/main.c: Call read_crypto_list.
30275 * util/grub-mkpasswd-pbkdf2.c: New file.
30276 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30277
42841caa
VS
302782010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30279
30280 Fix descent and ascent calculation.
30281
30282 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30283 (options): New option "asce".
30284 (usage): Likewise.
30285 (add_char): Ignore invalid glyphs for descent calculation.
30286 Calculate ascent from actual content.
30287 (print_glyphs): Use 'asce'.
30288 (write_font): Likewise. Allow ascent override.
30289 (main): Handle "asce" option.
30290
e7730de7 302912010-01-06 Carles Pina i Estany <carles@pina.cat>
30292
30293 * kern/err.c: Include `<grub/i18n.h>'.
30294 (grub_print_error): Add full stop. Gettextizze.
30295 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30296 (grub_bsd_load_elf): Capitalise ELF.
30297 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30298 (grub_cmd_freebsd_module): Likewise.
30299 (grub_cmd_freebsd_module_elf): Likewise.
30300 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30301
40e3a41f 303022010-01-06 Carles Pina i Estany <carles@pina.cat>
30303
30304 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30305 * commands/search_file.c (HELP_MESSAGE): New macro.
30306 * commands/search_label.c (HELP_MESSAGE): Likewise.
30307 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30308 * po/POTFILES: Add `commands/search_file.c',
30309 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30310 `commands/search.c'.
30311
83507e68
RM
303122010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30313
30314 * config.rpath: Update from Gnulib.
30315
465c787b
YB
303162010-01-05 Yves Blusseau <blusseau@zetam.org>
30317
30318 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30319
6581dd3a
YB
303202010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30321
30322 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30323
3bff18c5
CW
303242010-01-05 Colin Watson <cjwatson@ubuntu.com>
30325
30326 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30327 arguments to fread so that we get a return value in bytes, rather
30328 than something that will normally be rounded down to 0.
30329 Adjust error handling to avoid producing garbage when size_t is not
30330 the same size as long long.
30331
a1368118
CW
303322010-01-05 Colin Watson <cjwatson@ubuntu.com>
30333
30334 * util/mkisofs/write.c (padblock_write): Check return value of
30335 fread.
30336
7c302978
RM
303372010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30338
30339 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30340 floppy images now.
30341
30342 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30343
e33ace06
RM
303442010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30345
30346 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30347 instead of manual alignment.
30348 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30349 verbose). Avoid attempts to read past end of the device
30350 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30351 but GRUB_DISK_CACHE_SIZE may exceed that).
30352
4b856776
RM
303532010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30354
30355 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30356 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30357 it to upper layer.
30358
52c2d97f
VS
303592010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30360
30361 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30362 New constant.
30363 (grub_efi_piwg_device_path): New structure
30364 (grub_efi_piwg_device_path_t): New type.
30365 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30366 (devpath_1): Transform to a structure. All users updated.
30367 (devpath_2): Likewise.
30368 (devpath_3): Likewise.
30369 (devpath_4): Likewise.
30370 (devpath_5): Likewise.
30371
98ff6a54
VS
303722010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30373
30374 * loader/efi/appleloader.c: Restored. Update all users.
30375
3a73dcb6
RM
303762010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30377
30378 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30379
30380 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30381 (struct boot_blocklist): Move from here ...
30382 * include/grub/i386/pc/boot.h [ASM_FILE]
30383 (struct grub_boot_blocklist): ... to here. Update all users.
30384 (setup): Only initialize `start' member of `first_block'
30385 structure. Add assert() calls to verify the other members.
30386
30387 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30388 (generate_image): Fix broken blocklist length initialization.
30389 Add assert() call to verify blocklist `segment' field.
30390
ab0eeb0c
RM
303912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30392
30393 * loader/efi/appleloader.c: Remove. Update all users.
30394
58bc8bd5
RM
303952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30396
30397 * boot/i386/pc/boot.S: Update copyright year.
30398 * boot/i386/pc/cdboot.S: Likewise.
30399 * boot/i386/pc/diskboot.S: Likewise.
30400 * boot/i386/pc/lnxboot.S: Likewise.
30401 * boot/i386/pc/pxeboot.S: Likewise.
30402 * bus/pci.c: Likewise.
30403 * commands/cmp.c: Likewise.
30404 * commands/help.c: Likewise.
30405 * commands/hexdump.c: Likewise.
30406 * commands/i386/pc/halt.c: Likewise.
30407 * commands/i386/pc/play.c: Likewise.
30408 * commands/i386/pc/vbeinfo.c: Likewise.
30409 * commands/ls.c: Likewise.
30410 * commands/test.c: Likewise.
30411 * disk/dmraid_nvidia.c: Likewise.
30412 * disk/i386/pc/biosdisk.c: Likewise.
30413 * disk/ieee1275/nand.c: Likewise.
30414 * disk/ieee1275/ofdisk.c: Likewise.
30415 * disk/lvm.c: Likewise.
30416 * disk/raid.c: Likewise.
30417 * disk/raid6_recover.c: Likewise.
30418 * disk/scsi.c: Likewise.
30419 * fs/affs.c: Likewise.
30420 * fs/cpio.c: Likewise.
30421 * fs/ext2.c: Likewise.
30422 * fs/hfs.c: Likewise.
30423 * fs/iso9660.c: Likewise.
30424 * fs/ntfs.c: Likewise.
30425 * fs/sfs.c: Likewise.
30426 * fs/udf.c: Likewise.
30427 * fs/ufs.c: Likewise.
30428 * fs/xfs.c: Likewise.
30429 * gencmdlist.sh: Likewise.
30430 * genmk.rb: Likewise.
30431 * include/grub/disk.h: Likewise.
30432 * include/grub/efi/api.h: Likewise.
30433 * include/grub/efi/efi.h: Likewise.
30434 * include/grub/efi/pe32.h: Likewise.
30435 * include/grub/elf.h: Likewise.
30436 * include/grub/fs.h: Likewise.
30437 * include/grub/i386/at_keyboard.h: Likewise.
30438 * include/grub/i386/pc/memory.h: Likewise.
30439 * include/grub/i386/pc/vbe.h: Likewise.
30440 * include/grub/i386/pci.h: Likewise.
30441 * include/grub/i386/tsc.h: Likewise.
30442 * include/grub/ieee1275/ieee1275.h: Likewise.
30443 * include/grub/ntfs.h: Likewise.
30444 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30445 * include/grub/sparc64/libgcc.h: Likewise.
30446 * include/grub/symbol.h: Likewise.
30447 * include/grub/types.h: Likewise.
30448 * include/multiboot2.h: Likewise.
30449 * io/gzio.c: Likewise.
30450 * kern/device.c: Likewise.
30451 * kern/disk.c: Likewise.
30452 * kern/efi/efi.c: Likewise.
30453 * kern/efi/mm.c: Likewise.
30454 * kern/elf.c: Likewise.
30455 * kern/file.c: Likewise.
30456 * kern/i386/dl.c: Likewise.
30457 * kern/i386/pc/init.c: Likewise.
30458 * kern/i386/pc/startup.S: Likewise.
30459 * kern/ieee1275/ieee1275.c: Likewise.
30460 * kern/ieee1275/init.c: Likewise.
30461 * kern/main.c: Likewise.
30462 * kern/mm.c: Likewise.
30463 * kern/powerpc/dl.c: Likewise.
30464 * kern/sparc64/dl.c: Likewise.
30465 * kern/x86_64/dl.c: Likewise.
30466 * lib/hexdump.c: Likewise.
30467 * loader/efi/appleloader.c: Likewise.
30468 * loader/i386/ieee1275/linux.c: Likewise.
30469 * loader/i386/pc/chainloader.c: Likewise.
30470 * loader/i386/pc/linux.c: Likewise.
30471 * loader/i386/pc/multiboot2.c: Likewise.
30472 * loader/ieee1275/multiboot2.c: Likewise.
30473 * loader/multiboot2.c: Likewise.
30474 * loader/multiboot_loader.c: Likewise.
30475 * loader/powerpc/ieee1275/linux.c: Likewise.
30476 * normal/completion.c: Likewise.
30477 * normal/menu_entry.c: Likewise.
30478 * partmap/apple.c: Likewise.
30479 * util/grub.d/10_hurd.in: Likewise.
30480 * util/hostfs.c: Likewise.
30481 * video/readers/png.c: Likewise.
30482
e2d70b5c
CW
304832010-01-03 Colin Watson <cjwatson@ubuntu.com>
30484
30485 * include/grub/misc.h (GNUC_PREREQ): New macro.
30486 (ATTRIBUTE_ERROR): New macro.
30487 * include/grub/list.h (grub_bad_type_cast_real): Use
30488 ATTRIBUTE_ERROR.
30489
a173283f 304902010-01-03 Carles Pina i Estany <carles@pina.cat>
30491
30492 * normal/menu_text.c (print_message): Change messages.
30493
7fa7ff74 304942010-01-03 Carles Pina i Estany <carles@pina.cat>
30495
30496 * normal/menu_entry.c (store_completion): Gettextizze.
30497
136d24f6 304982010-01-03 Carles Pina i Estany <carles@pina.cat>
30499
30500 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30501
f936862e 305022010-01-03 Carles Pina i Estany <carles@pina.cat>
30503
30504 * po/POTFILES: Sort correctly.
30505
29c44ad1 305062010-01-03 Carles Pina i Estany <carles@pina.cat>
30507
30508 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30509 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30510 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30511 full stop.
30512 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30513 summary. Gettextizze the strings.
30514 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30515 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30516 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30517 full stop.
30518 (GRUB_MOD_INIT): Remove command name from summary.
30519 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30520 summary.
30521 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30522 * term/i386/pc/serial.c (options): Add full stops.
30523 (GRUB_MOD_INIT): Remove command name from the summary.
30524
77a79592 305252010-01-03 Carles Pina i Estany <carles@pina.cat>
30526
30527 * commands/acpi.c: Gettextizze help strings and/or options. Include
30528 `grub/i18n.h' if needed.
30529 * commands/blocklist.c: Likewise.
30530 * commands/boot.c: Likewise.
30531 * commands/cat.c: Likewise.
30532 * commands/cmp.c: Likewise.
30533 * commands/configfile.c: Likewise.
30534 * commands/crc.c: Likewise.
30535 * commands/date.c: Likewise.
30536 * commands/echo.c: Likewise.
30537 * commands/efi/fixvideo.c: Likewise.
30538 * commands/efi/loadbios.c: Likewise.
30539 * commands/gptsync.c: Likewise.
30540 * commands/halt.c: Likewise.
30541 * commands/handler.c: Likewise.
30542 * commands/hdparm.c: Likewise.
30543 * commands/hexdump.c: Likewise.
30544 * commands/i386/cpuid.c: Likewise.
30545 * commands/i386/pc/drivemap.c: Likewise.
30546 * commands/i386/pc/halt.c: Likewise.
30547 * commands/i386/pc/pxecmd.c: Likewise.
30548 * commands/i386/pc/vbeinfo.c: Likewise.
30549 * commands/i386/pc/vbetest.c: Likewise.
30550 * commands/ieee1275/suspend.c: Likewise.
30551 * commands/keystatus.c: Likewise.
30552 * commands/loadenv.c: Likewise.
30553 * commands/ls.c: Likewise.
30554 * commands/lsmmap.c: Likewise.
30555 * commands/lspci.c: Likewise.
30556 * commands/memrw.c: Likewise.
30557 * commands/minicmd.c: Likewise.
30558 * commands/parttool.c: Likewise.
30559 * commands/password.c: Likewise.
30560 * commands/probe.c: Likewise.
30561 * commands/read.c: Likewise.
30562 * commands/reboot.c: Likewise.
30563 * commands/search.c: Likewise.
30564 * commands/sleep.c: Likewise.
30565 * commands/test.c: Likewise.
30566 * commands/true.c: Likewise.
30567 * commands/usbtest.c: Likewise.
30568 * commands/videotest.c: Likewise.
30569 * commands/xnu_uuid.c: Likewise.
30570 * disk/loopback.c: Likewise.
30571 * hello/hello.c: Likewise.
30572 * loader/i386/bsd.c: Likewise.
30573 * term/i386/pc/serial.c: Likewise.
30574 * po/POTFILES: Add new files.
30575
da8d5c53
CW
305762010-01-02 Colin Watson <cjwatson@ubuntu.com>
30577
30578 * term/i386/pc/at_keyboard.c
30579 (keyboard_controller_wait_untill_ready): Rename to ...
30580 (keyboard_controller_wait_until_ready): ... this. Update all users.
30581
33937904 305822010-01-01 Carles Pina i Estany <carles@pina.cat>
30583
30584 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30585 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30586 string using string width.
30587 * normal/menu_text.c (grub_print_message_indented): Use
30588 grub_print_spaces and not print_spaces.
30589 (print_timeout): Likewise.
30590 (print_spaces): Move to...
30591 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30592
3fd3b8d8
RM
305932010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30594
30595 Import from Gnulib.
30596
30597 * gnulib/getdelim.c: New file.
30598 * gnulib/getline.c: Likewise.
30599
33433555
VS
306002009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30601
30602 * include/grub/list.h (grub_assert_fail): Removed.
30603 (grub_bad_type_cast_real): New function.
30604 (grub_bad_type_cast): New macro.
30605 (GRUB_AS_LIST): Use grub_bad_type_cast.
30606 (GRUB_AS_LIST_P): Likewise.
e44721e8 30607 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30608 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30609 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30610 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30611 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30612
f5a51306
VS
306132009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30614
30615 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30616 Fix syntax error.
30617
90d1e879
RM
306182009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30619
30620 * configure.ac: Check for TARGET_CFLAGS initialization before we
30621 initialize it ourselves (sigh).
30622 Move a few modifications to TARGET_CFLAGS to be unconditional
30623 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30624 eh_frame)
30625
30626 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30627 * term/i386/pc/at_keyboard.c
30628 (keyboard_controller_wait_untill_ready): Likewise.
30629 (keyboard_controller_led): Rename `led_status' paramter to avoid
30630 name conflict.
30631
465b5a81 306322009-12-28 Carles Pina i Estany <carles@pina.cat>
30633
30634 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30635 quotes.
30636
c181849b
VS
306372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30638
30639 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30640
9c8739a4
VS
306412009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30642
30643 * normal/menu_text.c (grub_print_message_indented): Prevent
30644 past-the-end-of-array dereference.
30645
3e74249c
VS
306462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30647
30648 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30649 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30650
64fd18ed 306512009-12-27 Carles Pina i Estany <carles@pina.cat>
30652
30653 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30654 * normal/main.c (grub_normal_read_line): Remove a space from the
30655 default prompt.
30656
714af9b9 306572009-12-27 Carles Pina i Estany <carles@pina.cat>
30658
30659 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30660 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30661 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30662 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30663 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30664 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30665 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30666
82f3e412 306672009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30668
30669 * video/readers/jpeg.c (cmd): Declare.
30670 (grub_cmd_jpegtest): Use `grub_command_t' type.
30671 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30672 Assign to `cmd'.
30673 (GRUB_MOD_FINI): Use `cmd' to unregister.
30674 * video/readers/png.c (cmd): Declare.
30675 (grub_cmd_pngtest): Use `grub_command_t' type.
30676 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30677 Assign to `cmd'.
30678 (GRUB_MOD_FINI): Use `cmd' to unregister.
30679 * video/readers/tga.c (cmd): Declare.
30680 (grub_cmd_tgatest): Use `grub_command_t' type.
30681 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30682 Assign to `cmd'.
30683 (GRUB_MOD_FINI): Use `cmd' to unregister.
30684
82f3e412 306852009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30686
30687 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30688 stops.
30689 * kern/corecmd.c (grub_register_core_commands): Likewise.
30690 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30691 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30692 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30693 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30694 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30695 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30696 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30697 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30698 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30699 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30700 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30701 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30702 * normal/handler.c (insert_handler): Likewise.
30703 * normal/main.c (GRUB_MOD_INIT): Likewise.
30704 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30705
fdcdbb66 307062009-12-26 Carles Pina i Estany <carles@pina.cat>
30707
30708 * commands/help.c (grub_cmd_help): Print the command name before the
30709 summary.
30710 (GRUB_MOD_INIT): Remove command name from the summary.
30711 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30712 string as summary.
fdcdbb66 30713 * lib/arg.c (find_long): Print the command name before the summary.
30714 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30715 summary.
30716 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30717 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30718 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30719 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30720 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30721 * commands/date.c (GRUB_MOD_INIT): Likewise.
30722 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30723 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30724 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30725 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30726 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30727 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30728 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30729 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30730 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30731 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30732 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30733 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30734 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30735 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30736 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30737 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30738 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30739 * commands/password.c (GRUB_MOD_INIT): Likewise.
30740 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30741 * commands/read.c (GRUB_MOD_INIT): Likewise.
30742 * commands/search.c (GRUB_MOD_INIT): Likewise.
30743 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30744 * commands/test.c (GRUB_MOD_INIT): Likewise.
30745 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30746 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30747 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30748 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30749 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30750 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30751 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30752 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30753 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30754 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30755 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30756 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30757 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30758 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30759
9c288be2
VS
307602009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30761
30762 Use search command for preliminar UUID search.
30763
30764 * commands/search.c: Split into ...
30765 * commands/search_wrap.c: ...this
30766 * commands/search.c: ...and this.
30767 * commands/search_file.c: New file.
30768 * commands/search_label.c: New file.
30769 * commands/search_uuid.c: New file.
30770 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30771 Add commands/search_wrap.c, commands/search_file.c,
30772 commands/search_label.c and commands/search_uuid.c.
30773 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30774 (search_mod_SOURCES): Set to commands/search_wrap.c.
30775 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30776 search_label.mod.
30777 (search_fs_file_mod_SOURCES): New variable.
30778 (search_fs_file_mod_CFLAGS): Likewise.
30779 (search_fs_file_mod_LDFLAGS): Likewise.
30780 (search_label_mod_SOURCES): Likewise.
30781 (search_label_mod_CFLAGS): Likewise.
30782 (search_label_mod_LDFLAGS): Likewise.
30783 (search_fs_uuid_mod_SOURCES): New variable.
30784 (search_fs_uuid_mod_CFLAGS): Likewise.
30785 (search_fs_uuid_mod_LDFLAGS): Likewise.
30786 (fs_file_mod_SOURCES): Removed.
30787 (fs_file_mod_CFLAGS): Likewise.
30788 (fs_file_mod_LDFLAGS): Likewise.
30789 (fs_uuid_mod_SOURCES): Removed.
30790 (fs_uuid_mod_CFLAGS): Likewise.
30791 (fs_uuid_mod_LDFLAGS): Likewise.
30792 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30793 Set to util/grub-install.in.
30794 * disk/fs_file.c: Removed.
30795 * disk/fs_uuid.c: Likewise.
30796 * include/grub/search.h: New file.
30797 * util/grub-install.in: Handle sparc64.
30798 Create and use load.cfg.
30799 * util/sparc64/ieee1275/grub-install.in: Removed.
30800
db943399
VS
308012009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30802
30803 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30804 Ignore return status if CF is cleared.
30805 (grub_biosdisk_get_diskinfo_standard): Likewise.
30806
3fdae612
RM
308072009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30808
30809 * term/i386/pc/at_keyboard.c
30810 (keyboard_controller_wait_untill_ready): New function.
30811 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30812 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30813 for keyboard polling, rather than duplicate the same loop. This
30814 saves a few bytes in code size.
30815
7ebaa2b4
VS
308162009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30817
30818 Support for (pxe[:server[:gateway]]) syntax and
30819 use environment variable for PXE.
30820
30821 * commands/i386/pc/pxecmd.c (options): Removed.
30822 (print_ip): Removed.
30823 (grub_cmd_pxe): Removed
30824 (grub_cmd_pxe_unload): New function.
30825 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30826 (grub_pxe_your_ip): Made static.
30827 (grub_pxe_default_server_ip): Likewise.
30828 (grub_pxe_default_gateway_ip): Likewise.
30829 (grub_pxe_blksize): Likewise.
30830 (parse_ip): New function.
30831 (grub_pxe_open): Support server and gateway specification.
30832 (grub_pxe_close): Free disk->data.
30833 (grub_pxefs_open): Use disk->data.
30834 (grub_pxefs_read): Likewise.
30835 (grub_env_write_readonly): New function.
30836 (set_mac_env): Likewise.
30837 (set_env_limn_ro): Likewise.
30838 (parse_dhcp_vendor): Likewise.
30839 (grub_pxe_detect): Set the environment variables.
30840 (set_ip_env): New function.
30841 (write_ip_env): Likewise.
30842 (grub_env_write_pxe_default_server): Likewise.
30843 (grub_env_write_pxe_default_gateway): Likewise.
30844 (grub_env_write_pxe_blocksize): Likewise.
30845 (GRUB_MOD_INIT(pxe)): Set environment variables.
30846 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30847 (grub_pxe_mac_addr_t): ... this. All users updated.
30848 (grub_pxe_your_ip): Removed.
30849 (grub_pxe_server_ip): Likewise.
30850 (grub_pxe_gateway_ip): Likewise.
30851 (grub_pxe_blksize): Likewise.
30852
ec5f98ab 308532009-12-25 Carles Pina i Estany <carles@pina.cat>
30854
30855 * commands/help.c: Include `<grub/i18n.h>'.
30856 (grub_cmd_help): Gettextizze.
30857 (GRUB_MOD_INIT): Likewise.
30858 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30859 (GRUB_MOD_INIT): Gettextizze.
30860 * commands/search.c: Include `<grub/i18n.h>'.
30861 (options): Gettextizze.
30862 (GRUB_MOD_INIT): Gettextizze.
30863 * lib/arg.c: Include `<grub/i18n.h>'.
30864 (help_options): Gettextizze.
30865 (find_long): Likewise.
30866 (grub_arg_show_help): Likewise.
30867 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30868 (read_command_list): Gettextizze.
30869 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30870 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30871
22815526
RM
308722009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30873
30874 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30875 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30876 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30877 (led_status): New variable.
30878 (keyboard_controller_led): New function.
30879 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30880 update led status for caps lock, num lock and scroll lock.
30881
0ad46fd7
FZ
308822009-12-25 Felix Zielcke <fzielcke@z-51.de>
30883
30884 * util/hostdisk.c (open_device): Fix a comment.
30885
d0e158c2
RM
308862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30887
30888 * util/grub-install.in (host_os): New variable.
30889 * util/i386/efi/grub-install.in (host_os): Likewise.
30890
401c0ad6
RM
308912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30892
30893 * util/mkisofs/write.c (padblock_write): Abort when given an
30894 excedingly large embed image, instead of silently truncating it.
30895
d14d3370
RM
308962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30897
30898 * include/multiboot.h: Indentation fixes.
30899
eeed10b4
RM
309002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30901
30902 * include/multiboot.h (struct multiboot_aout_symbol_table)
30903 (struct multiboot_elf_section_header_table): New structure
30904 declarations (stolen from GRUB Legacy).
30905 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30906 table information.
30907
30908 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30909 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30910 type aliases.
30911
681c70ab
RM
309122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30913
30914 * include/multiboot.h: Make comments src2texi-friendly.
30915
e4d47d8d
RM
309162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30917
30918 For consistency with [multiboot]/docs/boot.S.
30919
30920 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30921 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30922 (MULTIBOOT_MAGIC2): Rename from this ...
30923 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30924
a0b70bda
RM
309252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30926
30927 * include/multiboot.h: Remove `<grub/types.h>'.
30928 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30929 types. Update all users.
30930
61ba42be 309312009-12-25 Carles Pina i Estany <carles@pina.cat>
30932
30933 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30934 `couldn't' and `can not' by `cannot'.
30935 * commands/i386/pc/drivemap.c: Likewise.
30936 * disk/ata.c: Likewise.
30937 * disk/ieee1275/nand.c: Likewise.
30938 * fs/affs.c: Likewise.
30939 * fs/fat.c: Likewise.
30940 * fs/hfs.c: Likewise.
30941 * fs/hfsplus.c: Likewise.
30942 * fs/iso9660.c: Likewise.
30943 * fs/jfs.c: Likewise.
30944 * fs/minix.c: Likewise.
30945 * fs/reiserfs.c: Likewise.
30946 * fs/sfs.c: Likewise.
30947 * fs/udf.c: Likewise.
30948 * fs/ufs.c: Likewise.
30949 * fs/xfs.c: Likewise.
30950 * loader/powerpc/ieee1275/linux.c: Likewise.
30951 * loader/sparc64/ieee1275/linux.c: Likewise.
30952 * util/grub-probe.c: Likewise.
30953 * util/misc.c: Likewise.
30954
7fd0baee 309552009-12-24 Carles Pina i Estany <carles@pina.cat>
30956
30957 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30958 grub_errno calls.
30959 * commands/acpi.c: Likewise.
30960 * commands/blocklist.c: Likewise.
30961 * commands/efi/loadbios.c: Likewise.
30962 * commands/i386/pc/drivemap.c: Likewise.
30963 * commands/loadenv.c: Likewise.
30964 * commands/memrw.c: Likewise.
30965 * commands/password.c: Likewise.
30966 * commands/videotest.c: Likewise.
30967 * disk/ata.c: Likewise.
30968 * disk/ata_pthru.c: Likewise.
30969 * disk/dmraid_nvidia.c: Likewise.
30970 * disk/ieee1275/nand.c: Likewise.
30971 * disk/ieee1275/ofdisk.c: Likewise.
30972 * disk/loopback.c: Likewise.
30973 * disk/lvm.c: Likewise.
30974 * disk/mdraid_linux.c: Likewise.
30975 * disk/raid.c: Likewise.
30976 * disk/raid6_recover.c: Likewise.
30977 * disk/scsi.c: Likewise.
30978 * efiemu/main.c: Likewise.
30979 * efiemu/mm.c: Likewise.
30980 * efiemu/pnvram.c: Likewise.
30981 * efiemu/symbols.c: Likewise.
30982 * font/font.c: Likewise.
30983 * fs/cpio.c: Likewise.
30984 * fs/hfsplus.c: Likewise.
30985 * fs/iso9660.c: Likewise.
30986 * fs/jfs.c: Likewise.
30987 * fs/minix.c: Likewise.
30988 * fs/ntfs.c: Likewise.
30989 * fs/ntfscomp.c: Likewise.
30990 * fs/reiserfs.c: Likewise.
30991 * fs/ufs.c: Likewise.
30992 * fs/xfs.c: Likewise.
30993 * gettext/gettext.c: Likewise.
30994 * include/grub/auth.h: Likewise.
30995 * kern/elf.c: Likewise.
30996 * kern/file.c: Likewise.
30997 * kern/ieee1275/init.c: Likewise.
30998 * kern/ieee1275/mmap.c: Likewise.
30999 * kern/ieee1275/openfw.c: Likewise.
31000 * kern/powerpc/dl.c: Likewise.
31001 * kern/sparc64/dl.c: Likewise.
31002 * lib/arg.c: Likewise.
31003 * loader/i386/bsd.c: Likewise.
31004 * loader/i386/bsdXX.c: Likewise.
31005 * loader/i386/efi/linux.c: Likewise.
31006 * loader/i386/efi/xnu.c: Likewise.
31007 * loader/i386/ieee1275/linux.c: Likewise.
31008 * loader/i386/linux.c: Likewise.
31009 * loader/i386/multiboot.c: Likewise.
31010 * loader/i386/pc/linux.c: Likewise.
31011 * loader/i386/pc/multiboot2.c: Likewise.
31012 * loader/i386/xnu.c: Likewise.
31013 * loader/ieee1275/multiboot2.c: Likewise.
31014 * loader/macho.c: Likewise.
31015 * loader/machoXX.c: Likewise.
31016 * loader/multiboot2.c: Likewise.
31017 * loader/multiboot_loader.c: Likewise.
31018 * loader/powerpc/ieee1275/linux.c: Likewise.
31019 * loader/sparc64/ieee1275/linux.c: Likewise.
31020 * loader/xnu.c: Likewise.
31021 * loader/xnu_resume.c: Likewise.
31022 * mmap/i386/pc/mmap.c: Likewise.
31023 * normal/menu_viewer.c: Likewise.
31024 * partmap/acorn.c: Likewise.
31025 * partmap/amiga.c: Likewise.
31026 * partmap/apple.c: Likewise.
31027 * script/lexer.c: Likewise.
31028 * term/gfxterm.c: Likewise.
31029 * term/i386/pc/serial.c: Likewise.
31030 * term/i386/pc/vga.c: Likewise.
31031 * term/ieee1275/ofconsole.c: Likewise.
31032 * term/terminfo.c: Likewise.
31033 * video/bitmap.c: Likewise.
31034 * video/efi_gop.c: Likewise.
31035 * video/efi_uga.c: Likewise.
31036 * video/fb/video_fb.c: Likewise.
31037 * video/i386/pc/vbe.c: Likewise.
31038 * video/readers/tga.c: Likewise.
31039 * video/video.c: Likewise.
31040
0ad46fd7 310412009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31042
31043 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31044 * commands/lspci.c: Likewise.
31045 * commands/probe.c: Likewise.
31046 * commands/xnu_uuid.c: Likewise.
31047 * conf/i386-coreboot.rmk: Likewise.
31048 * conf/i386-efi.rmk: Likewise.
31049 * conf/i386-ieee1275.rmk: Likewise.
31050 * conf/i386-pc.rmk: Likewise.
31051 * conf/powerpc-ieee1275.rmk: Likewise.
31052 * conf/sparc64-ieee1275.rmk: Likewise.
31053 * conf/x86_64-efi.rmk: Likewise.
31054 * fs/i386/pc/pxe.c: Likewise.
31055 * gettext/gettext.c: Likewise.
31056 * include/grub/efi/graphics_output.h: Likewise.
31057 * include/grub/i386/pc/memory.h: Likewise.
31058 * kern/env.c: Likewise.
31059 * kern/i386/qemu/startup.S: Likewise.
31060 * lib/i386/pc/biosnum.c: Likewise.
31061 * lib/i386/relocator.c: Likewise.
31062 * lib/i386/relocator_asm.S: Likewise.
31063 * lib/relocator.c: Likewise.
31064 * loader/i386/bsd.c: Likewise.
31065 * loader/i386/multiboot.c: Likewise.
31066 * loader/i386/pc/chainloader.c: Likewise.
31067 * loader/i386/xnu.c: Likewise.
31068 * loader/xnu.c: Likewise.
31069 * normal/main.c: Likewise.
31070 * normal/menu_text.c: Likewise.
31071 * util/getroot.c: Likewise.
31072 * util/grub-mkconfig_lib.in: Likewise.
31073 * util/grub.d/00_header.in: Likewise.
31074 * util/i386/pc/grub-mkimage.c: Likewise.
31075 * util/mkisofs/eltorito.c: Likewise.
31076 * util/mkisofs/exclude.h: Likewise.
31077 * util/mkisofs/hash.c: Likewise.
31078 * util/mkisofs/iso9660.h: Likewise.
31079 * util/mkisofs/joliet.c: Likewise.
31080 * util/mkisofs/mkisofs.c: Likewise.
31081 * util/mkisofs/mkisofs.h: Likewise.
31082 * util/mkisofs/multi.c: Likewise.
31083 * util/mkisofs/name.c: Likewise.
31084 * util/mkisofs/rock.c: Likewise.
31085 * util/mkisofs/tree.c: Likewise.
31086 * util/mkisofs/write.c: Likewise.
31087 * video/efi_gop.c: Likewise.
31088
009ec743
VS
310892009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31090
31091 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31092 size counting.
31093
0ad46fd7 310942009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31095
31096 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31097 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31098
d3d30ea0
VS
310992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31100
31101 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31102 (GRUB_MOD_INIT(memrw)): Update help line.
31103
a34f5c70
VS
311042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31105
31106 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31107 Use grub_extcmd_t. All users updated.
31108 (options): New variable.
31109 (grub_cmd_read): Restructure for readability. Support "-v" option.
31110 (grub_cmd_write): Restructure for readability.
31111
0ad46fd7 311122009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31113
31114 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31115
0ad46fd7 311162009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31117
31118 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31119 with the actual contents of the correspondending make variable.
31120 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31121 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31122 specifying `*.lst' and `efiemu??.o'
31123
0ad46fd7 311242009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31125
31126 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31127 after function name.
31128 Noticed by Rene Engelhard <rene@debian.org>.
31129
dc77a799
VS
311302009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31131
31132 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31133 (options): New variable.
31134 (iospace): Likewise.
31135 (grub_lspci_iter): List IO spaces if "-i" was given.
31136 (grub_cmd_lspci): Parse options.
31137 (GRUB_MOD_INIT(lspci)): Use extcmd.
31138 (GRUB_MOD_FINI(lspci)): Likewise.
31139
0ad46fd7 311402009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31141
31142 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31143 `function' keyword.
31144 Patch by Tony Mancill <tmancill@debian.org>.
31145
b5d5993b
VS
311462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31149 (grub_uhci_portstatus): Likewise.
31150 (grub_uhci_portstatus): Add necessary delay.
11d18281 31151 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31152
941903f2 311532009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31154
941903f2 31155 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31156 (GRUB_MOD_INIT): Likewise.
31157 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31158 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31159 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31160 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31161 (enable_rom_area): Likewise.
31162 (GRUB_MOD_INIT): Likewise.
31163 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31164 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31165 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31166 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31167 * commands/hexdump.c (options): Likewise.
31168 * commands/i386/cpuid.c (options): Likewise.
31169 (GRUB_MOD_INIT): Likewise.
31170 * commands/i386/pc/drivemap.c (options): Likewise.
31171 (GRUB_MOD_INIT): Likewise.
31172 * commands/i386/pc/halt (options): Likewise.
31173 (GRUB_MOD_INIT): Likewise.
31174 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31175 * commands/i386/pc/pxecmd.c (options): Likewise.
31176 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31177 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31178 * commands/keystatus.c (options): Likewise.
31179 (GRUB_MOD_INIT): Likewise.
31180 * commands/loadenv.c (options): Likewise.
31181 * commands/ls.c (options): Likewise.
31182 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31183 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31184 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31185 * commands/parttool.c (helpmsg): Likewise.
31186 * commands/probe.c (options): Likewise.
31187 * commands/read.c (GRUB_MOD_INIT): Likewise.
31188 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31189 * commands/search.c (options): Likewise.
31190 * commands/sleep.c (options): Likewise.
31191 * commands/test.c (GRUB_MOD_INIT): Likewise.
31192 * commands/true.c (GRUB_MOD_INIT): Likewise.
31193 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31194 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31195 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31196 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31197 `$(XGETTEXT)'.
98a50553 31198 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31199
0ad46fd7 312002009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31201
ef3c2c3a 31202 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31203 instead of specifying them explicit.
31204
7922f68b
RM
312052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31206
31207 * NEWS: Add grub-probe support for GNU/Hurd.
31208
537ce47f
RM
312092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31210
31211 * NEWS: gettext was added after 1.97.
31212
9b214e3a
RM
312132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31214
31215 * util/mkisofs/msdos_partition.h: New file (based on
31216 include/grub/msdos_partition.h).
31217 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31218 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31219 (ld_options, main): Recognize --protective-msdos-label.
31220 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31221 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31222 (padblock_write): If `use_protective_msdos_label' is set, patch a
31223 protective DOS-style label in the output image.
31224
31225 * util/grub-mkrescue.in: Use --protective-msdos-label.
31226
e9309813
RM
312272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31228
31229 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31230 boot.
31231
0ae56929
RM
312322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31233
31234 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31235 variables.
31236 (ld_options, main): Recognize `--embedded-boot'.
31237 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31238 declarations.
31239 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31240 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31241 (padblock_write): Likewise. Rewrite to support embedded boot image.
31242
31243 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31244 for BIOS-based disk boot instead of only ElTorito.
31245
b15937b1
RM
312462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31247
31248 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31249 build (not needed for bootstrap).
31250
52cc3ce0
RM
312512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31252
31253 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31254 from i386-pc build (not needed for bootstrap).
31255 Rewrite a pair of strings.
31256
36f5ff04
RM
312572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31258
31259 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31260
973c6c85 312612009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31262
31263 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31264
05d21547
AB
312652009-12-21 Andreas Born <futur.andy@googlemail.com>
31266
31267 * kern/env.c (grub_env_context_open): Mark exported variable for
31268 reexport.
31269
0175d51f
AB
312702009-12-21 Andreas Born <futur.andy@googlemail.com>
31271
31272 * kern/env.c (grub_env_export): Create nonexistent variables before
31273 exporting.
31274
7f39d92f 312752009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31276
7f39d92f 31277 * include/grub/auth.h: Include `<grub/i18n.h>'.
31278 (GRUB_GET_PASSWORD): Gettextizze string.
31279 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31280 menu_text.c.
31281 (grub_utf8_to_ucs4_alloc): Fix indentation.
31282 (grub_print_ucs4): Likewise.
31283 (grub_getstringwidth): Likewise.
31284 (print_message_indented): New declaration.
31285 * normal/auth.c: Include `<grub/i18n.h>'.
31286 (grub_auth_check_authentication): Gettexttize string.
31287 * normal/cmdline.c: Include `<grub/i18n.h>'.
31288 (grub_cmdline_get): Gettextizze.
31289 * normal/color.c: Include `<grub/i18n.h>'.
31290 (grub_parse_color_name_pair): Gettexttize strings.
31291 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31292 string (use `print_message_indented').
31293 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31294 `include/grub/normal.h'.
31295 (print_message_indented): Renamed to ...
31296 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31297 used in normal/main.c).
31298 (print_message): Use `grub_print_message_indented' instead of
31299 `print_message_indented'.
31300 (print_timeout): Likewise.
31301 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31302 (grub_normal_print_device_info): Gettexttize strings.
31303 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31304
3041d898
VS
313052009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31306
31307 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31308 of arguments. Return number of tokens and not arguments. All users
31309 updated.
31310
de15bf8e
VS
313112009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31312
31313 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31314 non-MSDOS paritions.
31315
e0a6ca52
VS
313162009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31317
31318 * include/grub/types.h (UNUSED): Removed since it conflicts with
31319 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31320 Reported by Grégoire Sutre.
31321
b99518d1 313222009-12-19 Carles Pina i Estany <carles@pina.cat>
31323
31324 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31325 (grub_print_ucs4_alloc): Likewise.
31326 (grub_getstringwidth): Likewise.
31327 * normal/main.c (grub_normal_init_page): Gettextize version string.
31328 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31329 (getstringwidth): Renamed to ...
31330 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31331 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31332 (grub_print_ucs4): Remove `static' qualifer (now used in
31333 normal/main.c).
31334 * po/POTFILES: Add normal/main.c.
31335
bfd5e52b 313362009-12-19 Carles Pina i Estany <carles@pina.cat>
31337
31338 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31339 (print_message_indented): Add `margin_left' and `margin_right'
31340 parameters.
31341 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31342 strings.
31343 (print_timeout): Use `print_message_indented' to print the message.
31344 Deletes `second_stage' parameter.
31345 (run_menu): Update `print_timeout' calls.
31346
5a1ad2b9
VS
313472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31348
31349 Fix console palette on OpenFirmware.
31350
31351 * term/ieee1275/ofconsole.c (MAX): Removed.
31352 (colors): Redone based on VGA palette.
31353 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31354 colors are supported.
31355 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31356
b045f00a
VS
313572009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31358
31359 Fix potential EfiEmu double prepare.
31360
31361 * efiemu/main.c (prepared): New variable
31362 (grub_efiemu_unload): Set prepare to '0'.
31363 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31364
31365 set_virtual_address_map support.
31366
31367 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31368 prototype.
31369 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31370 prototype.
31371 (grub_efiemu_crc32): Likewise.
31372 (grub_efiemu_crc64): Likewise.
31373 (grub_efiemu_set_virtual_address_map): Likewise.
31374 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31375 New definition.
31376 (grub_autoefi_set_virtual_address_map): Likewise.
31377 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31378 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31379 Restructure flow to accomodate it.
31380 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31381 (grub_efiemu_crc): Recompute CRC32.
31382 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31383 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31384 * efiemu/symbols.c (relocated_handle): New variable.
31385 (grub_efiemu_free_syms): Free relocated_handle.
31386 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31387 (grub_efiemu_write_sym_markers): New function.
31388 (grub_efiemu_set_virtual_address_map): Likewise.
31389
31390 Newer XNU parameters.
31391
31392 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31393 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31394 (grub_xnu_fill_devicetree): New prototype.
31395 (grub_xnu_heap_real_start): New variable.
31396 * loader/xnu.c (get_name_ptr): New function.
31397 (grub_xnu_load_driver): Fill namelen and name.
31398
31399 64-bit xnu support.
31400
31401 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31402 and 'loader/macho64.c'.
31403 * conf/i386-pc.rmk: Likewise.
31404 * conf/x86_64-efi.rmk: Likewise.
31405 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31406 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31407 * include/grub/macho.h (grub_macho_segment64): New structure.
31408 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31409 (grub_macho_size32): ... to this.
31410 (grub_macho32_get_entry_point): Renamed from ...
31411 (grub_macho_get_entry_point32): ... to this.
31412 (grub_macho_contains_macho64): New prototype.
31413 (grub_macho_size64): Likewise.
31414 (grub_macho_get_entry_point64): Likewise.
31415 (grub_macho32_load): Renamed from ...
31416 (grub_macho_load32): ... to this.
31417 (grub_macho32_filesize): Renamed from ...
31418 (grub_macho_filesize32): ... to this.
31419 (grub_macho32_readfile): Renamed from ...
31420 (grub_macho_readfile32): ... to this.
31421 (grub_macho_filesize64): New prototype.
31422 (grub_macho_readfile64): Likewise.
31423 (grub_macho_parse32): Likewise.
31424 (grub_macho_parse64): Likewise.
31425 * loader/macho.c: Split into ...
31426 * loader/machoXX.c: ... and this. Replace 32 with XX.
31427 * loader/macho32.c: New file.
31428 * loader/macho64.c: Likewise.
31429 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31430 (grub_cmd_xnu_kernel): Make 32-bit only.
31431 (grub_cmd_xnu_kernel64): New function.
31432 (grub_xnu_load_driver): Support Mach-O 64.
31433 (grub_cmd_xnu_mkext): Likewise.
31434 * util/grub.d/30_os-prober.in (osx_entry): New function.
31435 Generate entries for 64-bit boot too.
31436
31437 Eliminate ad-hoc tree format in XNU and EfiEmu.
31438
31439 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31440 * efiemu/pnvram.c: Rewritten to use environment variables.
31441 All users updated.
31442
31443 Inline utf16_to_utf8.
31444
31445 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31446 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31447 All users updated.
31448 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31449
31450 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31451 * commands/usbtest.c (grub_usb_get_string): ... move here.
31452 (usb_print_str): Fix error handling.
31453 * include/grub/usb.h (grub_usb_get_string): Remove.
31454
31455 UTF-8 to UTF-16 transformation.
31456
31457 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31458 (charset_mod_SOURCES): New variable.
31459 (charset_mod_CFLAGS): Likewise.
31460 (charset_mod_LDFLAGS): Likewise.
31461 * include/grub/utf.h: New file.
31462 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31463
31464 Support for device properties.
31465
31466 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31467 (grub_xnu_devprop_device_header): Likewise.
31468 (grub_xnu_devprop_device_descriptor): Likewise.
31469 (grub_xnu_devprop_add_device): New prototype.
31470 (grub_xnu_devprop_remove_device): Likewise.
31471 (grub_xnu_devprop_remove_property): Likewise.
31472 (grub_xnu_devprop_add_property_utf8): Likewise.
31473 (grub_xnu_devprop_add_property_utf16): Likewise.
31474 (grub_cpu_xnu_init): Likewise.
31475 (grub_cpu_xnu_fini): Likewise.
31476 (grub_cpu_xnu_unload): Likewise.
31477 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31478 (property_descriptor): Likewise.
31479 (devices): New variable.
31480 (grub_xnu_devprop_remove_property): New function.
31481 (grub_xnu_devprop_add_device): Likewise.
31482 (grub_xnu_devprop_remove_device): Likewise.
31483 (grub_xnu_devprop_add_property): Likewise.
31484 (grub_xnu_devprop_add_property_utf8): Likewise.
31485 (grub_xnu_devprop_add_property_utf16): Likewise.
31486 (hextoval): Likewise.
31487 (grub_cpu_xnu_fill_devprop): Likewise.
31488 (grub_cmd_devprop_load): Likewise.
31489 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31490 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31491 (cmd_devprop_load): New variable.
31492 (grub_cpu_xnu_init): New function.
31493 (grub_cpu_xnu_fini): Likewise.
31494 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31495 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31496 (grub_cmd_xnu_devtree): Likewise.
31497 (hextoval): New function.
31498 (unescape): Likewise.
31499 (grub_xnu_fill_devicetree): Likewise.
31500
31501 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31502 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31503
0945f181
VS
315042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31505
31506 Workaround for broken ATI VBE.
31507
31508 * video/i386/pc/vbe.c (last_set_mode): New variable.
31509 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31510 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31511 (grub_video_vbe_setup): Don't check for reserved flag.
31512
0ad46fd7 315132009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31514
31515 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31516 the `find' command.
31517
c179ebe4
VS
315182009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31519
31520 UUID support for HFS.
31521
31522 * fs/hfs.c (grub_hfs_uuid): New function.
31523 (grub_hfs_fs): New value .uuid.
31524 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31525
0ad46fd7 315262009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31527
31528 Fix a segfault with parsing unknown long options.
31529
31530 * util/grub-mkrelpath.c (options): Zero terminate it.
31531
c4a3e41a
CPE
315322009-12-13 Carles Pina i Estany <carles@pina.cat>
31533
31534 * include/grub/misc.h (grub_puts): New declaration.
31535 (grub_puts_): Likewise.
a22008a6 31536 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31537 (grub_puts_): Likewise.
31538
2e8a7602
RM
315392009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31540
31541 * util/grub-probe.c (probe): Improve error message.
31542
b50b77b9
RM
315432009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31544
31545 * loader/i386/multiboot_elfxx.c
31546 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31547 initialization.
31548
315492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31550
31551 Relocator framework
31552
31553 * loader/i386/xnu_helper.S: Removed. All users updated.
31554 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31555 (relocator_mod_SOURCES): New variable.
31556 (relocator_mod_CFLAGS): Likewise.
31557 (relocator_mod_LDFLAGS): Likewise.
31558 (relocator_mod_ASFLAGS): Likewise.
31559 * conf/x86_64.rmk: Likewise.
31560 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31561 (grub_multiboot_payload_entry_offset): Likewise.
31562 (grub_multiboot_forward_relocator): Likewise.
31563 (grub_multiboot_forward_relocator_end): Likewise.
31564 (grub_multiboot_backward_relocator): Likewise.
31565 (grub_multiboot_backward_relocator_end): Likewise.
31566 (grub_multiboot_payload_eip): New variable.
31567 (grub_multiboot_payload_orig): Likewise.
31568 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31569 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31570 * include/grub/i386/memory.h
31571 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31572 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31573 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31574 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31575 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31576 * include/grub/i386/relocator.h: New file.
31577 * include/grub/x86_64/relocator.h: Likewise.
31578 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31579 (XNU_RELOCATOR): New macro.
31580 (grub_xnu_launcher_start): Remove.
31581 (grub_xnu_launcher_end): Likewise.
31582 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31583 (grub_xnu_heap_real_start): Remove.
31584 (grub_xnu_heap_start): Change to void *. All users updated.
31585 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31586 * lib/i386/relocator.c: New file.
31587 * lib/i386/relocator_asm.S: Likewise.
31588 * lib/i386/relocator_backward.S: Likewise.
31589 * lib/mips/relocator.c: Likewise.
31590 * lib/mips/relocator_asm.S: Likewise.
31591 * lib/relocator.c: Likewise.
31592 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31593 (entry): Removed.
31594 (playground): Likewise.
31595 (grub_multiboot_payload_orig): New variable.
31596 (grub_multiboot_payload_dest): Likewise.
31597 (grub_multiboot_payload_size): Likewise.
31598 (grub_multiboot_payload_eip): Likewise.
31599 (grub_multiboot_payload_esp): Likewise.
31600 (grub_multiboot_boot): Use grub_relocator32_boot.
31601 (grub_multiboot_unload): Free relocators.
31602 (grub_multiboot): Setup stack. Use relocators.
31603 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31604 (grub_multiboot_load_elfXX): Use relocators.
31605 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31606 (grub_multiboot_payload_size): Likewise.
31607 (grub_multiboot_payload_dest): Likewise.
31608 (grub_multiboot_payload_entry_offset): Likewise.
31609 (grub_multiboot_forward_relocator): Likewise.
31610 (grub_multiboot_backward_relocator): Likewise.
31611 (grub_multiboot_real_boot): Likewise.
31612 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31613 (grub_xnu_entry_point): Likewise.
31614 (grub_xnu_arg1): Likewise.
31615 (grub_xnu_stack): Likewise.
31616 (grub_xnu_launch): Removed.
31617 (grub_xnu_boot_resume): New function.
31618 (grub_xnu_boot): Use relocators.
31619 * loader/i386/xnu_helper.S: Removed.
31620 * loader/xnu.c (grub_xnu_heap_start): New variable.
31621 (grub_xnu_heap_size): Likewise.
31622 (grub_xnu_heap_malloc): Use relocators.
31623 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31624
29eb90c6
VS
316252009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31626
31627 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31628 anything.
31629
31027430
CPE
316302009-12-13 Carles Pina i Estany <carles@pina.cat>
31631
31632 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31633 GRUB_ERR_NONE before calling grub_env_set.
31634
dc0c71d9
RM
316352009-12-12 Robert Millan <rmh@aybabtu.com>
31636
31637 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31638 * genmk.rb (video): New variable.
31639 (CLEANFILES, VIDEOFILES): Add #{video}.
31640 (#{video}): New target rule.
31641 * genvideolist.sh: New file.
31642 * Makefile.in (pkglib_DATA): Add video.lst.
31643 (video.lst): New target rule.
31644 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31645 `video.lst'.
31646 * util/grub.d/30_os-prober.in: Replace `vbe' with
31647 ${GRUB_VIDEO_BACKEND}.
31648
2a4bfcf0
RM
316492009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31650
31651 * THANKS: Add David Miller.
31652
2a3aa4d5
RM
316532009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31654
31655 libpciaccess support.
31656
31657 * Makefile.in (LIBPCIACCESS): New variable.
31658 (enable_grub_emu_pci): Likewise.
31659 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31660 util/pci.c and commands/lspci.c.
31661 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31662 * configure.ac (grub-emu-pci): New option.
31663 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31664 (grub_pci_device_unmap_range): Likewise.
31665 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31666 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31667 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31668 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31669 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31670 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31671 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31672 * include/grub/pciutils.h: New file.
31673 * util/pci.c: Likewise.
31674
0ad46fd7 316752009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31676
31677 * util/misc.c: Don't include <errno.h> twice.
31678
0ad46fd7 316792009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31680
31681 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31682 name in an error message.
31683 (grub_biosdisk_rw): Likewise.
31684
2e59983c
VS
316852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31686
31687 Eliminate NTFS 4Gib barrier.
31688
31689 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31690 (read_run_data): Likewise.
31691 (grub_ntfs_read_run_list): Likewise.
31692 (grub_ntfs_read_block): Likewise.
31693 (grub_ntfs_iterate_dir): Likewise.
31694 (read_mft): Likewise.
31695 (read_data): Likewise.
31696 Use COM_LOG_LEN.
31697 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31698 to avoid 64-bit division
31699 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31700 (grub_ntfs_rlst): Use grub_disk_addr_t.
31701
71ee178a
VS
317022009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31703
31704 Eliminate grub-fstest 4Gib barrier.
31705
31706 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31707 (read_file): Fix error reporting.
31708
2520d4b8
VS
317092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31710
31711 Eliminate hexdump 4Gib barrier.
31712
31713 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31714 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31715
e1f27065
VS
317162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31717
31718 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31719 Fixes amarsh bug.
31720
1a0f7f45
RM
317212009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31722
31723 Remove miscellaneous files in distclean target.
31724
31725 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31726
c631d9fb
CW
317272009-12-09 Colin Watson <cjwatson@ubuntu.com>
31728
31729 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31730 if they're already set. This resolves the conflict between my
31731 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31732 fixing the --grub-probe option again.
31733 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31734 change on 2009-10-06, so that we now once again source
31735 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31736
7c7b6106
RM
317372009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31738
31739 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31740 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31741 `util/devicemap.c'.
31742
e3069ec1
CPE
317432009-12-08 Carles Pina i Estany <carles@pina.cat>
31744
31745 * include/grub/misc.h (grub_printf_): New declaration.
31746 * kern/misc.c (grub_printf_): New definition.
31747 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31748 instead of `grub_printf' and `_'.
31749 * normal/menu_entry.c (store_completion): Likewise.
31750 (run): Likewise.
31751 (grub_menu_entry_run): Likewise.
31752 * normal/menu_text.c (grub_wait_after_message): Likewise.
31753 (notify_booting): Likewise.
31754 (notify_fallback): Likewise.
31755 (notify_execution_failure): Likewise.
31756
d6ceebf1
CW
317572009-12-07 Colin Watson <cjwatson@ubuntu.com>
31758
31759 * configure.ac: Check for vasprintf.
31760 * util/misc.c (asprintf): Move allocation from here ...
31761 (vasprintf): ... to here. New function.
31762 (xasprintf): New function.
31763 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31764 prototypes.
31765 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31766 * util/grub-mkfont.c (write_font): Likewise.
31767 * util/grub-probe.c (probe): Likewise.
31768 * util/hostdisk.c (make_device_name): Likewise.
31769
de6daa8b
DM
317702009-12-06 David S. Miller <davem@sunset.davemloft.net>
31771
31772 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31773 anything even prefixed with 'cdrom' as a cdrom.
31774
0ad46fd7 317752009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31776
31777 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31778 mount points.
31779
98d3dc02
CPE
317802009-12-05 Carles Pina i Estany <carles@pina.cat>
31781
31782 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31783 grub_gettext_msg_list.
31784 (grub_gettext_gettranslation_from_position): Return const char *
31785 and not char *.
a2c1332b 31786 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31787 returns from the list if existing there.
31788 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31789 (grub_gettext_delete_list): Delete the list.
31790 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31791 lang environment variable is changed.
31792 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31793
b283f108
VS
317942009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31795
31796 Rename kernel.mod to kernel.img.
31797
31798 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31799 (kernel_mod_EXPORTS): Rename to ...
31800 (kernel_img_EXPORTS): ... this.
31801 (kernel_mod_SOURCES): Rename to ...
31802 (kernel_img_SOURCES): ... this.
31803 (kernel_mod_HEADERS): Rename to ...
31804 (kernel_img_HEADERS): ... this. All users updated.
31805 (kernel_mod_CFLAGS): Rename to ...
31806 (kernel_img_CFLAGS): ... this.
31807 (kernel_mod_ASFLAGS): Rename to ...
31808 (kernel_img_ASFLAGS): ... this.
31809 (kernel_mod_LDFLAGS): Rename to ...
31810 (kernel_img_LDFLAGS): ... this.
31811 * conf/x86_64-efi.rmk: Likewise.
31812 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31813 (read_kernel_image): ... this. All users updated.
31814 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31815
69055f8a
CPE
318162009-12-05 Carles Pina i Estany <carles@pina.cat>
31817
31818 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31819 (print_spaces): New function.
31820 (grub_print_ucs4): New function.
31821 (getstringwidth): New function.
31822 (print_message_indented): New function.
31823 (print_message): Gettexttize strings using print_message_indented.
31824 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31825 width.
31826 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31827 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31828 Gettextize.
31829 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31830 string.
31831 (run): Likewise.
31832 (grub_menu_entry_run): Likewise.
31833 * PO/POTFILES: Add normal/menu_entry.c.
31834
f616f51c
VS
318352009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31836
31837 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31838
57bbe3be
CPE
318392009-12-05 Carles Pina i Estany <carles@pina.cat>
31840
31841 * util/grub-install.in: Install gettext .mo files.
31842 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31843
013d67a1
CPE
318442009-12-05 Carles Pina i Estany <carles@pina.cat>
31845
31846 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31847 grub_dprintf.
31848
fb954db0
RM
318492009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31850
31851 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31852 non-firmware-dependant one in realmode.S takes precedence.
31853
6b8474f8
RM
318542009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31855
31856 * commands/halt.c: Replace misc arch-specific headers with
31857 `<grub/misc.h>'.
31858 * commands/reboot.c: Likewise.
31859 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31860 `<grub/misc.h>'.
31861 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31862 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31863 (kernel_img_SOURCES): ... to here.
31864
31865 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31866 * include/grub/i386/pc/init.h: Likewise.
31867 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31868 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31869
31870 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31871
31872 * include/grub/i386/halt.h: Remove.
31873 * include/grub/i386/reboot.h: Likewise.
31874
31875 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31876
4b2e6ca2
DM
318772009-12-03 David S. Miller <davem@sunset.davemloft.net>
31878
31879 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31880 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31881 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31882 "progname.h"
31883 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31884 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31885 (usage): Add missing comma in printf.
31886
5239348f
RM
318872009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31888
31889 Use the same reboot approach on i386 coreboot and qemu as we do on
31890 BIOS.
31891
31892 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31893 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31894 * kern/i386/reboot.c: Remove.
31895 * include/grub/i386/reboot.h (grub_reboot): Export function.
31896 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31897 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31898 0xf000:0xfff0 instead of 0xffff:0x0000.
31899 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31900 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31901
ef34cbd4
RM
319022009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31903
31904 Fix $srcdir != $objdir build.
31905
31906 * Makefile.in (po/%.po): Rewrite as ...
31907 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31908
dc9837ea
ST
319092009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31910
31911 Fix GNU/Hurd grub-install crash.
31912 * util/grub-probe.c (probe): Try to access `path' only when it is not
31913 NULL.
31914
2f857f98
VS
319152009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31916
31917 Correct module naming.
31918
31919 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31920 (GRUB_MOD_INIT(efi_uga)): ... to this
31921 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31922 (GRUB_MOD_FINI(efi_uga)): ... to this
31923 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31924 (GRUB_MOD_INIT(efi_gop)): ... to this
31925 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31926 (GRUB_MOD_FINI(efi_gop)): ... to this
31927
c5448046
RM
319282009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31929
31930 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31931 translatable.
31932 (usage): Translate `arg' strings using gettext().
31933 Thanks to Jordi Mallach for the suggestion.
31934
c85184ad
VS
319352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31936
31937 GOP support. Based on patch from Bean
31938 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31939
31940 * video/efi_gop.c: New file.
31941 * include/grub/efi/graphics_output.h: Likewise.
31942 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31943 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31944 variables.
31945 * conf/x86_64-efi.rmk: Likewise.
31946
8a4c48d8
VS
319472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31948
31949 Rename efi_fb to efi_uga.
31950
31951 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31952 'efi_uga.mod'.
31953 (efi_fb_mod_SOURCES): Rename this ...
31954 (efi_uga_mod_SOURCES): ... to this.
31955 (efi_fb_mod_CFLAGS): Rename this ...
31956 (efi_uga_mod_CFLAGS): ... to this.
31957 (efi_fb_mod_LDFLAGS): Rename this ...
31958 (efi_uga_mod_LDFLAGS): ... to this.
31959 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31960 'efi_uga.mod'.
31961 (efi_fb_mod_SOURCES): Rename this ...
31962 (efi_uga_mod_SOURCES): ... to this.
31963 (efi_fb_mod_CFLAGS): Rename this ...
31964 (efi_uga_mod_CFLAGS): ... to this.
31965 (efi_fb_mod_LDFLAGS): Rename this ...
31966 (efi_uga_mod_LDFLAGS): ... to this.
31967 * video/efi_fb.c: Move this ...
31968 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31969
fb6c1a7b
RM
319702009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31971
31972 * po/README: New file. Explain our PO file workflow.
31973
3bc7896c
RM
319742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31975
31976 * po/ChangeLog: Remove. Move relevant entries back to ...
31977 * ChangeLog: ... here.
31978 * po/ca.po: Remove (now handled by TLP).
31979 * po/id.po: Likewise.
31980 * po/zh_CN.po: Likewise.
31981 * Makefile.in (LINGUAS): Initialize in a way that supports
31982 empty set.
31983
9ed4841d
RM
319842009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31985
31986 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31987 reliing on po/LINGUAS.
31988 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31989 (po/%.po): ... this.
31990
0ad46fd7 319912009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31992
31993 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31994 (main): Use `program_name' instead of nonexistent `progname'.
31995
e30dd392
FZ
319962009-11-26 Felix Zielcke <fzielcke@z-51.de>
31997
31998 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31999 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32000
7656de4f
RM
320012009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32002
32003 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32004 commit.
32005 * conf/i386-efi.rmk: Likewise.
32006 * conf/i386-ieee1275.rmk: Likewise.
32007 * conf/powerpc-ieee1275.rmk: Likewise.
32008 * conf/sparc64-ieee1275.rmk: Likewise.
32009 * conf/x86_64-efi.rmk: Likewise.
32010
db77c4d4
FZ
320112009-11-26 Felix Zielcke <fzielcke@z-51.de>
32012
32013 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32014
a755bb04
FZ
320152009-11-26 Felix Zielcke <fzielcke@z-51.de>
32016
32017 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32018
8a4c07fd
RM
320192009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32020
32021 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32022 (grub_mkdevicemap_SOURCES): New variable.
32023 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32024 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32025 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32026 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32027 (grub_mkdevicemap_SOURCES): Remove.
32028 * conf/i386-efi.rmk: Likewise.
32029 * conf/i386-ieee1275.rmk: Likewise.
32030 * conf/i386-pc.rmk: Likewise.
32031 * conf/powerpc-ieee1275.rmk: Likewise.
32032 * conf/sparc64-ieee1275.rmk: Likewise.
32033 * conf/x86_64-efi.rmk: Likewise.
32034 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32035 (usage): Fix strings to use `program_name'.
32036 (main): Initialize gettext.
32037 * util/grub-editenv.c: Likewise.
32038 * util/grub-emu.c: Likewise.
32039 * util/grub-fstest.c: Likewise.
32040 * util/grub-mkdevicemap.c: Likewise.
32041 * util/grub-mkfont.c: Likewise.
32042 * util/grub-mkrelpath.c: Likewise.
32043 * util/grub-pe2elf.c: Likewise.
32044 * util/grub-probe.c: Likewise.
32045 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32046 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32047 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32048
32049 * util/misc.c: Include `"progname.h"'.
32050 (progname): Remove variable.
32051 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32052
6f61ed55
FZ
320532009-11-25 Felix Zielcke <fzielcke@z-51.de>
32054
32055 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32056 printf and print a newline after the menuentry header line.
32057 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32058
f022876b
FZ
320592009-11-25 Felix Zielcke <fzielcke@z-51.de>
32060
32061 autoconf >= 2.60 support $(localedir).
32062
32063 * INSTALL: Note that autoconf 2.60 is required.
32064 * configure.ac (AC_PREREQ): Bump to 2.60.
32065 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32066 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32067
6717926e
YB
320682009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32069
32070 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32071 aclocal is run.
32072
08806a54
RM
320732009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32074
32075 * normal/main.c (grub_normal_read_line): Fix off-by-one
32076 buffer overflow.
32077
13b33fba
RM
320782009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32079
32080 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32081 "parser.grub" in grub_command_execute() call.
32082
4a8572e9
CPE
320832009-11-24 Carles Pina i Estany <carles@pina.cat>
32084
32085 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32086 * conf/i386-efi.rmk: Likewise.
32087 * conf/i386-ieee1275.rmk: Likewise.
32088 * conf/i386-pc.rmk: Likewise.
32089 * conf/powerpc-ieee1275.rmk: Likewise.
32090 * conf/sparc64-ieee1275.rmk: Likewise.
32091 * conf/x86_64-efi.rmk: Likewise.
32092 * gettext/gettex.c: Include <grub/i18n.h>.
32093 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32094 here ...
32095 * include/grub/i18n.h: ... to here
32096 * include/grub/i18n.h: ... to here.
32097 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32098 (grub_gettext_dummy): Move above user.
4a8572e9 32099
bee48093
FZ
321002009-11-24 Felix Zielcke <fzielcke@z-51.de>
32101
32102 * util/Makefile.in (install-local): Convert a `for' into a normal
32103 shell expansion.
32104
a031e91c
RM
321052009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32106
32107 * autogen.sh: Add automake call.
32108 * config.guess: Remove.
32109 * config.sub: Likewise.
32110 * install-sh: Likewise.
32111
26bec39d
FZ
321122009-11-24 Felix Zielcke <fzielcke@z-51.de>
32113
32114 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32115
8e2532fd
FZ
321162009-11-24 Felix Zielcke <fzielcke@z-51.de>
32117
32118 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32119 function to a normal shell `for'.
32120
fefa1b7d
FZ
321212009-11-24 Felix Zielcke <fzielcke@z-51.de>
32122
32123 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32124
4501250b
FZ
321252009-11-24 Felix Zielcke <fzielcke@z-51.de>
32126
32127 * util/grub-mkrelpath.c: New file.
32128 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32129 (grub_mkrelpath_SOURCES): New variable.
32130 * include/grub/util/misc.h: New function prototype.
32131 * util/misc.c (make_system_path_relative_to_its_root): New function.
32132
32133 * util/grub-mkconfig_lib.in (bindir): New variable.
32134 (grub_mkrelpath): Likewise.
32135 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32136
32137 * util/probe.c (probe): Make the file path relative to its root.
32138 Change a info message to use the GRUB path. Enable again the
32139 check if we can read the file with GRUB facilities.
32140
32141 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32142 to its root.
32143
11d9778b
FZ
321442009-11-24 Felix Zielcke <fzielcke@z-51.de>
32145
32146 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32147 platform.
32148
4465287d
FZ
321492009-11-24 Felix Zielcke <fzielcke@z-51.de>
32150
32151 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32152 strncmp().
32153
62b47f22
FZ
321542009-11-24 Felix Zielcke <fzielcke@z-51.de>
32155
32156 * util/getroot.c (grub_util_is_dmraid): New function.
32157 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32158 devices as normal ones, not as LVM.
32159
1eafb9b9 321602009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32161
32162 * conf/common.rmk: Add grub-gettext_lib target and updates
32163 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32164 LDFLAGS.
32165 * gettext/gettext.c: New file. (Reads mo files).
32166 * include/grub/file.h (grub_file_pread): New prototype.
32167 * include/grub/i18n.h (_): New prototype.
32168 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32169 prototypes.
32170 * kern/misc.c (grub_gettext_dummy): New function.
32171 * normal/menu_text.c: Include <grub/i18n.h>.
32172 * normal/menu_text.c (print_timeout): Gettexttize string.
32173 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32174 * po/POTFILES: Add `normal/menu_text.c'.
32175 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32176 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32177 gettext module and defines locale_dir and lang in grub.cfg.
32178 * NEWS: Add gettext support.
32179
0fdb2568
RM
321802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32181
32182 * util/hostdisk.c: Include `<grub/i18n.h>'.
32183 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32184 (make_device_name): Rewrite using asprintf.
32185 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32186 (find_system_device): If a device is not found, generate one just
32187 by reusing the OS path name.
32188 (read_device_map): Make it permissible for device.map not to exist.
32189
f515aa62
RM
321902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32191
32192 * script/sh/execute.c: Move from here ...
32193 * script/execute.c: ... to here. Update all users.
32194 * script/sh/function.c: Move from here ...
32195 * script/function.c: ... to here. Update all users.
32196 * script/sh/lexer.c: Move from here ...
32197 * script/lexer.c: ... to here. Update all users.
32198 * script/sh/main.c: Move from here ...
32199 * script/main.c: ... to here. Update all users.
32200 * script/sh/parser.y: Move from here ...
32201 * script/parser.y: ... to here. Update all users.
32202 * script/sh/script.c: Move from here ...
32203 * script/script.c: ... to here. Update all users.
32204
f84b481b
RM
322052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32206
32207 * configure.ac: Detect all `emu' platforms. Define
32208 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32209 --enable-grub-emu logic. Disable include/grub/machine
32210 symlink on `emu' platforms.
32211
32212 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32213 * gensymlist.sh.in: Likewise.
32214
32215 * include/grub/i386/coreboot/machine.h: Remove file.
32216 * include/grub/i386/efi/machine.h: Likewise.
32217 * include/grub/i386/ieee1275/machine.h: Likewise.
32218 * include/grub/i386/pc/machine.h: Likewise.
32219 * include/grub/i386/qemu/machine.h: Likewise.
32220 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32221 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32222 * include/grub/x86_64/efi/machine.h: Likewise.
32223
32224 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32225 * commands/halt.c: Likewise.
32226 * commands/reboot.c: Likewise.
32227 * include/grub/autoefi.h: Likewise.
32228 * include/grub/i386/at_keyboard.h: Likewise.
32229 * include/grub/i386/kernel.h: Likewise.
32230 * include/grub/i386/loader.h: Likewise.
32231 * include/grub/i386/pc/memory.h: Likewise.
32232 * kern/dl.c: Likewise.
32233 * kern/i386/coreboot/init.c: Likewise.
32234 * loader/i386/bsd.c: Likewise.
32235 * loader/i386/linux.c: Likewise.
32236 * loader/multiboot_loader.c: Likewise.
32237 * term/i386/pc/serial.c: Likewise.
32238 * term/usb_keyboard.c: Likewise.
32239
32240 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32241 `<grub/machine/machine.h>'
32242 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32243 * util/misc.c: Remove `<grub/machine/machine.h>' and
32244 `<grub/machine/time.h>'.
32245
32246 * Makefile.in (enable_grub_emu): Remove variable.
32247 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32248
32249 * conf/any-emu.rmk: New file.
32250 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32251 (grub_emu_init.c): Move from here ...
32252 * conf/any-emu.rmk: ... to here.
32253
32254 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32255 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32256 * conf/any-emu.rmk: ... to here.
32257
4efeab03
RM
322582009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32259
32260 * include/grub/parser.h (grub_parser_register): Document need
32261 of `name' parameter.
32262 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32263 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32264 "sh" to "grub".
32265
ea1dd8bf
RM
322662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32267
32268 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32269 `$(XGETTEXT)'.
32270 * include/grub/i18n.h (N_): New macro.
32271 * util/mkisofs/mkisofs.h: Likewise.
32272 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32273 around N_().
32274 (usage): Use gettext() to translate help strings when printing them.
32275
0c140626
RM
322762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32277
32278 Based on patch from Bean
32279 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32280
32281 * video/efi_fb.c: New file.
32282 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32283 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32284 variables.
32285 * conf/x86_64-efi.rmk: Likewise.
32286
87d58298
RM
322872009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32288
32289 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32290 * util/i386/pc/grub-setup.c: Likewise.
32291
994cc3a3
ST
322922009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32293
32294 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32295 <hurd/fs.h>
32296 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32297 file_get_storage_info to implement grub_guess_root_device.
32298
26a61d6a
FZ
322992009-11-21 Felix Zielcke <fzielcke@z-51.de>
32300
32301 * Makefile.in (target): Use make's builtin $(shell) function
32302 instead of calling directly $(SHELL) to create the locale directories,
32303 inside the $(foreach) function.
32304
74ff1dd5
FZ
323052009-11-21 Felix Zielcke <fzielcke@z-51.de>
32306
32307 * util/grub-mkrescue.in: Print an error and usage if output option
32308 has not been given.
32309
0b787d0e
FZ
323102009-11-21 Felix Zielcke <fzielcke@z-51.de>
32311
32312 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32313 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32314 root and /boot are on different devices.
32315
1164b270
RM
323162009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32317
32318 Fix build for srcdir != objdir.
32319
32320 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32321 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32322 $(srcdir).
32323 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32324 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32325 reference for input.
32326
13774a2f
RM
323272009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32328
32329 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32330 or hardlinking it). Remove -J option, Joliet is not compatible with
32331 multiple source directories.
32332
efda854e
RM
323332009-11-21 Carles Pina i Estany <carles@pina.cat>
323342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32335
32336 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32337 (process_input_dir): New function. Process an arbitrary input
32338 directory.
32339 Misc adjustments to support both "override mode" and system-wide mode.
32340
6c09890c
FZ
323412009-11-20 Felix Zielcke <fzielcke@z-51.de>
32342
32343 * configure.ac (UNIFONT_BDF): Rename to ...
32344 (FONT_SOURCE): ... this. Update all users.
32345
a797824f
FZ
323462009-11-20 Felix Zielcke <fzielcke@z-51.de>
32347
32348 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32349 to the list of unifont files to look for.
32350
cd4f42b0
RM
323512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32352
32353 Patch from Joe Auricchio <jauricchio@gmail.com>
32354 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32355 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32356 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32357
393c783d
FZ
323582009-11-19 Felix Zielcke <fzielcke@z-51.de>
32359
32360 * Makefile.in (install-local): Add a missing backslash.
32361
b2f1e327
FZ
323622009-11-19 Felix Zielcke <fzielcke@z-51.de>
32363
32364 * include/grub/x86_64/io.h: New file.
32365
f577f7a0
RM
323662009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32367
32368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32369 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32370 Include `"progname.h"'.
32371 (main): Initialize gettext.
32372 * util/i386/pc/grub-setup.c: Gettexttize.
32373 * util/i386/pc/grub-mkimage.c: Likewise.
32374
32375 * Makefile.in (po/*.po): Redefine as ...
32376 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32377
3bc7896c
RM
32378 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32379
c37943b6
RM
323802009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32381
32382 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32383 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32384 (program_name): Remove.
32385 (main): Initialize gettext support.
6323f705
RM
32386 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32387 Include `<libintl.h>'.
32388 (_): New macro.
c37943b6
RM
32389
32390 * util/mkisofs/eltorito.c: Gettexttize.
32391 * util/mkisofs/joliet.c: Likewise.
32392 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32393 * util/mkisofs/multi.c: Likewise.
32394 * util/mkisofs/rock.c: Likewise.
32395 * util/mkisofs/tree.c: Likewise.
32396 * util/mkisofs/write.c: Likewise.
32397
3bc7896c
RM
32398 * po/POTFILES: Update with new files.
32399
5ce77c6e
RM
324002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32401
32402 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32403 * util/mkisofs/iso9660.h: Likewise.
32404 * util/mkisofs/joliet.c: Likewise.
32405 * util/mkisofs/mkisofs.c: Likewise.
32406 * util/mkisofs/mkisofs.h: Likewise.
32407 * util/mkisofs/rock.c: Likewise.
32408 * util/mkisofs/tree.c: Likewise.
32409 * util/mkisofs/write.c: Likewise.
32410
32411 * util/mkisofs/eltorito.c (rcsid): Remove.
32412 * util/mkisofs/hash.c: Likewise.
32413 * util/mkisofs/joliet.c: Likewise.
32414 * util/mkisofs/name.c: Likewise.
32415 * util/mkisofs/rock.c: Likewise.
32416 * util/mkisofs/tree.c: Likewise.
32417 * util/mkisofs/write.c: Likewise.
32418
1dabbc77
RM
324192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32420
32421 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32422 instead of static allocation.
32423 * util/mkisofs/match.h: Likewise.
32424
633877cb
RM
324252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32426
3bc7896c
RM
32427 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32428 and `util/grub.d/10_linux.in'.
633877cb
RM
32429 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32430 translatable Shell files.
32431
af1c0c85
RM
324322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32433
32434 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32435
769ae37b
RM
324362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32437
32438 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32439 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32440 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32441 Add gettext initialization.
32442 (kfreebsd_entry): Make menuentry output translatable.
32443
324442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32445
32446 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32447 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32448 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32449 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32450 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32451 * po/LINGUAS: New file.
769ae37b
RM
32452
324532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32454
32455 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32456 other things).
32457 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32458 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32459 bindtextdomain() calls for gettext initialization.
32460
324612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32462
32463 * gnulib/progname.c: New file (imported from Gnulib).
32464 * gnulib/progname.h: Likewise.
32465 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32466 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32467 (usage): Replace `progname' with `program_name'.
32468 (main): Use set_program_name() for program name initialization.
32469
324702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32471
32472 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32473 from here ...
32474 * Makefile.in (CPPFLAGS): ... to here.
32475
324762009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * aclocal.m4: Move from here ...
32479 * acinclude.m4: ... to here.
32480 * autogen.sh: Add call to `aclocal'.
32481 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32482
324832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32484
32485 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32486 (LINGUAS): New variable.
32487 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32488 (install-local): Install MO files.
32489 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32490 * include/grub/i18n.h: New file.
3bc7896c
RM
32491 * po/POTFILES: New file.
32492 * po/ca.po: New file.
769ae37b
RM
32493 * util/grub.d/10_linux.in (bindir): New variable.
32494 Add gettext initialization.
32495 (linux_entry): Make menuentry output translatable.
32496 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32497 (usage): Make --help output translatable.
32498 (main): Initialize gettext.
32499
02c0a6ad
RM
325002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32501
32502 * import_gcry.py: New file (written by Vladimir with minor
32503 adjustments).
32504 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32505 ciphers.
32506 * INSTALL: Document that Python is required for bootstrap.
32507
325082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32509
32510 Import ciphers from libgcrypt 1.4.4.
32511
32512 * lib/libgcrypt/cipher/ChangeLog
32513 * lib/libgcrypt/cipher/ac.c
32514 * lib/libgcrypt/cipher/arcfour.c
32515 * lib/libgcrypt/cipher/bithelp.h
32516 * lib/libgcrypt/cipher/blowfish.c
32517 * lib/libgcrypt/cipher/camellia-glue.c
32518 * lib/libgcrypt/cipher/camellia.c
32519 * lib/libgcrypt/cipher/camellia.h
32520 * lib/libgcrypt/cipher/cast5.c
32521 * lib/libgcrypt/cipher/cipher.c
32522 * lib/libgcrypt/cipher/crc.c
32523 * lib/libgcrypt/cipher/des.c
32524 * lib/libgcrypt/cipher/dsa.c
32525 * lib/libgcrypt/cipher/ecc.c
32526 * lib/libgcrypt/cipher/elgamal.c
32527 * lib/libgcrypt/cipher/hash-common.c
32528 * lib/libgcrypt/cipher/hash-common.h
32529 * lib/libgcrypt/cipher/hmac-tests.c
32530 * lib/libgcrypt/cipher/md.c
32531 * lib/libgcrypt/cipher/md4.c
32532 * lib/libgcrypt/cipher/md5.c
32533 * lib/libgcrypt/cipher/primegen.c
32534 * lib/libgcrypt/cipher/pubkey.c
32535 * lib/libgcrypt/cipher/rfc2268.c
32536 * lib/libgcrypt/cipher/rijndael-tables.h
32537 * lib/libgcrypt/cipher/rijndael.c
32538 * lib/libgcrypt/cipher/rmd.h
32539 * lib/libgcrypt/cipher/rmd160.c
32540 * lib/libgcrypt/cipher/rsa.c
32541 * lib/libgcrypt/cipher/seed.c
32542 * lib/libgcrypt/cipher/serpent.c
32543 * lib/libgcrypt/cipher/sha1.c
32544 * lib/libgcrypt/cipher/sha256.c
32545 * lib/libgcrypt/cipher/sha512.c
32546 * lib/libgcrypt/cipher/tiger.c
32547 * lib/libgcrypt/cipher/twofish.c
32548 * lib/libgcrypt/cipher/whirlpool.c
32549
af2f93ac
RM
325502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32551
32552 Fix build for systems without error().
32553
32554 * gnulib/error.c: New file (imported from Gnulib).
32555 * gnulib/error.h: Likewise.
32556 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32557 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32558 (this variable is now used by error()).
32559
73fb3dd5
FZ
325602009-11-16 Felix Zielcke <fzielcke@z-51.de>
32561
814f5e96
FZ
32562 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32563 instead of relying that char is signed.
73fb3dd5 32564
a691ca33
VS
325652009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32566
32567 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32568 blocksize different from specified.
32569 (grub_pxefs_read): Likewise.
32570
2af8f0f4
FZ
325712009-11-16 Felix Zielcke <fzielcke@z-51.de>
32572
32573 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32574
32575 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32576 (grub_ata_readwrite): Likewise. Update 2 format strings.
32577 (grub_atapi_read): Likewise.
32578
32579 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32580 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32581 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32582 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32583 (ata_mod_LDFLAGS): Move from here ...
32584 * conf/i386.rmk: ... to here ...
32585 * conf/x86_64-efi.rmk: ... and here.
32586 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32587 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32588
83bdecaf
RM
325892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32590
32591 Relicense multiboot.h, with RMS' blessing.
32592
32593 * include/multiboot.h: Change to X11 license.
32594
fd6fd3d7
RM
325952009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32596
32597 Support --version in grub-mkisofs.
32598
32599 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32600 (OPTION_VERSION): New macro.
32601 (ld_options): Recognize --version.
32602 (usage): Move `program_name' from here ...
32603 (program_name): ... to here. Add `static' qualifier.
32604 (main): Recognize `OPTION_VERSION'.
32605
16a88c49
FZ
326062009-11-15 Felix Zielcke <fzielcke@z-51.de>
32607
32608 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32609 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32610
a4158476
RM
326112009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32612
32613 Fix help2man generation for mkisofs.
32614
32615 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32616 (usage): Send output to stdout (rather than stderr).
32617
fc2208b0
RM
326182009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32619
32620 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32621 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32622 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32623 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32624 (bin_SCRIPTS): Add `grub-mkfloppy'.
32625 (grub_mkfloppy_SOURCES): New variable.
32626
32627 * util/grub-mkrescue.in: New file.
32628 * util/i386/pc/grub-mkfloppy.in: New file.
32629
32630 * util/i386/coreboot/grub-mkrescue.in: Remove.
32631 * util/i386/pc/grub-mkrescue.in: Remove.
32632
8d0edf4a
RM
326332009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32634
32635 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32636 from here ...
32637 * include/multiboot.h (struct multiboot_header): ... to here. Update
32638 all users.
32639 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32640 from here ...
32641 * include/multiboot.h (struct multiboot_info): ... to here. Update
32642 all users.
32643 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32644 from here ...
32645 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32646 Update all users.
32647 * include/grub/multiboot.h (struct grub_mod_list): Move
32648 from here ...
32649 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32650 Update all users.
32651
a73f5969
RM
326522009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32653
32654 * include/multiboot2.h (multiboot_word): Rename from this ...
32655 (multiboot2_word): ... to this. Update all users.
32656 (multiboot_header): Rename from this ...
32657 (multiboot2_header): ... to this. Update all users.
32658 (multiboot_tag_header): Rename from this ...
32659 (multiboot2_tag_header): ... to this. Update all users.
32660 (multiboot_tag_start): Rename from this ...
32661 (multiboot2_tag_start): ... to this. Update all users.
32662 (multiboot_tag_name): Rename from this ...
32663 (multiboot2_tag_name): ... to this. Update all users.
32664 (multiboot_tag_module): Rename from this ...
32665 (multiboot2_tag_module): ... to this. Update all users.
32666 (multiboot_tag_memory): Rename from this ...
32667 (multiboot2_tag_memory): ... to this. Update all users.
32668 (multiboot_tag_unused): Rename from this ...
32669 (multiboot2_tag_unused): ... to this. Update all users.
32670 (multiboot_tag_end): Rename from this ...
32671 (multiboot2_tag_end): ... to this. Update all users.
32672
1c8927f0
RM
326732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32674
32675 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32676 this platform we should support Multiboot1 first.
32677
32678 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32679 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32680 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32681
6e1e0d89
RM
326822009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32683
32684 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32685 of write calls (converting them to fwrite() if they aren't already).
32686 (get_torito_desc): Likewise.
32687 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32688
7f2b34d8
RM
326892009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32690
32691 * util/i386/pc/grub-install.in: Move from here ...
32692 * util/grub-install.in: ... to here. Update all users.
32693
c0ef3311
CW
326942009-11-11 Colin Watson <cjwatson@ubuntu.com>
32695
32696 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32697
e1f240ff
RM
326982009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32699
32700 Support for El Torito without floppy emulation.
32701
32702 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32703 (init_boot_catalog): Improve error handling.
32704 (get_torito_desc): Don't use floppy emulation unless requested by
32705 user. Patch boot information table when requested via
32706 `-boot-info-table'.
32707 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32708 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32709 (use_boot_info_table): New variables.
32710 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32711 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32712 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32713 `--eltorito-emul-floppy'.
32714 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32715 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32716 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32717 (use_boot_info_table, get_731): New prototypes.
32718 * util/mkisofs/write.c (get_731): New function.
32719
af7d4de5
FZ
327202009-11-11 Felix Zielcke <fzielcke@z-51.de>
32721
32722 Fix the generation of the man page.
32723
32724 * util/pc/i386/grub-install.in: Source
32725 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32726
2c55dbc0
RM
327272009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32728
32729 Large file support for grub-mkisofs.
32730
32731 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32732 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32733 (session_start): Upgrade type to `uint64_t'. Update all users.
32734 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32735 (struct directory_entry): Upgrade type of `starting_block' and
32736 `size' to `uint64_t'. Update all users.
32737 (struct deferred): Remove unused structure.
32738 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32739 Update all users.
32740 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32741 file is larger than `UINT32_MAX'.
32742 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32743 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32744 return value.
32745 (struct deferred_write): Upgrade type of `extent' and `size' to
32746 `uint64_t'. Update all users.
32747 (last_extent_written): Upgrade type to `uint64_t'. Update all
32748 users.
32749 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32750 Update all users. Upgrade type of `remain' to `int64_t' and
32751 `use' to `size_t'. Use error() to handle fread() errors.
32752 (write_files): Rely on write_one_file() rather than calling
32753 xfwrite() directly.
32754
6a9cead5
FZ
327552009-11-09 Felix Zielcke <fzielcke@z-51.de>
32756
32757 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32758
4825d790
RM
327592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32760
32761 * util/mkisofs/fnmatch.c: Remove.
32762 * util/mkisofs/getopt1.c: Likewise.
32763 * util/mkisofs/getopt.c: Likewise.
32764 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32765 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32766 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32767 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32768 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32769
32770 * configure.ac: Detect `mingw32msvc' host_os.
32771 Check for lstat(), getuid() and getgid().
32772
32773 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32774 instances of `u_char' with `uint8_t'.
32775
32776 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32777 [!HAVE_GETUID] (getuid): New function (stub).
32778 [!HAVE_GETGID] (getgid): Likewise.
32779 [!HAVE_LSTAT] (lstat): Likewise.
32780 [!S_IROTH] (S_IROTH): New macro (dummy).
32781 [!S_IRGRP] (S_IRGRP): Likewise.
32782
84b860d8
RM
327832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32784
32785 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32786 conditional expression).
32787
66e9b712
RM
327882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32789
32790 Import from Gnulib.
32791
32792 * gnulib/fnmatch.c: New file.
32793 * gnulib/fnmatch.h: Likewise.
32794 * gnulib/fnmatch_loop.c: Likewise.
32795 * gnulib/getopt.c: Likewise.
32796 * gnulib/getopt.h: Likewise.
32797 * gnulib/getopt1.c: Likewise.
32798 * gnulib/getopt_int.h: Likewise.
32799 * gnulib/gettext.h: Likewise.
32800
34f4a5b0
RM
328012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32802
32803 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32804 * normal/handler.c (read_handler_list): Likewise.
32805
ac451143
RM
328062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32807
32808 Misc cleanup.
32809
32810 * kern/command.c (grub_register_command_prio): Use
32811 grub_zalloc() instead of explicitly zeroing data.
32812 * kern/list.c: Include `<grub/mm.h>'.
32813 (grub_named_list_find): Replace `0' with `NULL'.
32814 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32815 (fs_module_list): Change type to `grub_named_list_t'. Update all
32816 users.
32817 * normal/dyncmd.c (read_command_list): Add space between function
32818 call and parenthesis.
32819 * normal/handler.c (read_handler_list): Likewise.
32820
4089b167
RM
328212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32822
32823 * normal/auth.c (punishment_delay): Moved from here ...
32824 (grub_auth_strcmp): ... to here (inside function).
32825
325f5037
RM
328262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32827
32828 * include/grub/list.h (struct grub_named_list): Remove `const'
32829 qualifier from `name'.
32830 (struct grub_prio_list): Likewise.
32831
7aea29a3
RM
328322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32833
32834 * normal/auth.c: Include `<grub/time.h>'.
32835 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32836
3fd6f044
RM
328372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32838
32839 * normal/auth.c (punishment_delay): New variable.
32840 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32841 (grub_auth_check_authentication): Punish failed login attempts with
32842 an incremental (2^N) delay.
32843
a4cd68e4
RM
328442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32845
32846 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32847 path with $(srcdir).
32848
7ad12f43
VS
328492009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32850
32851 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32852
c1129f03
RM
328532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32854
32855 * util/i386/coreboot/grub-mkrescue.in: New file.
32856 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32857 variables.
32858
32859 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32860 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32861 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32862 requirements.
32863 * util/mkisofs/defaults.h: New file.
32864 * util/mkisofs/eltorito.c: Likewise.
32865 * util/mkisofs/exclude.h: Likewise.
32866 * util/mkisofs/fnmatch.c: Likewise.
32867 * util/mkisofs/getopt.c: Likewise.
32868 * util/mkisofs/getopt1.c: Likewise.
32869 * util/mkisofs/hash.c: Likewise.
32870 * util/mkisofs/include/fctldefs.h: Likewise.
32871 * util/mkisofs/include/mconfig.h: Likewise.
32872 * util/mkisofs/include/prototyp.h: Likewise.
32873 * util/mkisofs/include/statdefs.h: Likewise.
32874 * util/mkisofs/iso9660.h: Likewise.
32875 * util/mkisofs/joliet.c: Likewise.
32876 * util/mkisofs/match.c: Likewise.
32877 * util/mkisofs/match.h: Likewise.
32878 * util/mkisofs/mkisofs.c: Likewise.
32879 * util/mkisofs/mkisofs.h: Likewise.
32880 * util/mkisofs/multi.c: Likewise.
32881 * util/mkisofs/name.c: Likewise.
32882 * util/mkisofs/rock.c: Likewise.
32883 * util/mkisofs/tree.c: Likewise.
32884 * util/mkisofs/write.c: Likewise.
32885
ec8bb77d
VS
328862009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32887
32888 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32889 being insecure.
32890
3716b12c
RM
328912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32892
32893 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32894 `grub-mkimage' (and use $0 when possible).
32895
b97b7b91
RM
328962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32897
32898 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32899 error message for excessively large memory map.
32900
04114812
RM
329012009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32902
32903 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32904 executable bit.
32905
e4eb2373
RM
329062009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32907
32908 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32909 message for coreboot users.
32910
c926e1d5 329112009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32912
32913 Fix build with GNU gold.
32914
32915 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32916 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32917 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32918 link addresses.
32919 * aclocal.m4: Likewise.
32920
86e5b1db 329212009-11-04 Felix Zielcke <fzielcke@z-51.de>
32922
32923 * configure.ac (AC_PREREQ): Bump to 2.59d.
32924 * INSTALL: Make it more clear when Autoconf and Ruby are
32925 needed and when to run `./autogen.sh'.
32926
246cd78f 329272009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32928
32929 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32930 OSes.
32931
4f9dfb37 329322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32933
32934 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32935
b82bd5e1 329362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32937
32938 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32939 giving it to GNU Mach.
32940
ff1a9bca 329412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32942
32943 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32944 GNU partition number to get internal GRUB partition number.
32945
61697d9c 329462009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32947
32948 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32949 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32950
a50569e1 329512009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32952
32953 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32954 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32955 case.
32956
5b153867 329572009-11-01 Felix Zielcke <fzielcke@z-51.de>
32958
32959 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32960
d9e2cd70 329612009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32962
32963 Fix build problem.
32964
32965 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32966 `-isystem=$(srcdir)/include'.
32967
805111a4 329682009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32969
32970 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32971 checked (grub-install doesn't currently rely on it).
32972
fa6e945f 329732009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32974
32975 Revert SVN r2660.
32976
32977 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32978 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32979 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32980 * conf/i386-ieee1275.rmk: Likewise.
32981 * conf/i386-pc.rmk: Likewise.
32982 * conf/powerpc-ieee1275.rmk: Likewise.
32983 * conf/sparc64-ieee1275.rmk: Likewise.
32984 * conf/x86_64-efi.rmk: Likewise.
32985
cee15086 329862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32987
32988 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32989
95b9239e 329902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32991
32992 * include/grub/misc.h: Stop checking for APPLE_CC.
32993
2ed19dfd 329942009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32995
32996 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32997 doesn't cause an infinite call loop.
32998
fdcdde19 329992009-10-28 Felix Zielcke <fzielcke@z-51.de>
33000
33001 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33002 strings.
33003
cefabfe1 330042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33005
33006 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33007 variable.
33008 * Makefile.in: Likewise.
33009
ed96ab6d 330102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33011
33012 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33013
0579b753 330142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33015
33016 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33017
478df409 330182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33019
33020 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33021
083d1679 330222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33023
33024 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33025 from here ...
33026 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33027
5947ae32 330282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33029
33030 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33031 in $(MAKEINFO) invocation. This makes it clear in output that
33032 errors are being ignored.
33033
94180ff6 330342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33035
33036 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33037 from here ...
33038 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33039 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33040 * conf/i386-ieee1275.rmk: Likewise.
33041 * conf/i386-pc.rmk: Likewise.
33042 * conf/powerpc-ieee1275.rmk: Likewise.
33043 * conf/sparc64-ieee1275.rmk: Likewise.
33044 * conf/x86_64-efi.rmk: Likewise.
33045
9031b03a 330462009-10-26 Colin Watson <cjwatson@ubuntu.com>
33047
33048 * util/grub-editenv.c (main): If only a command is given, use
33049 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33050 (usage): FILENAME is now optional and has a default.
33051
e4f6809b 330522009-10-26 Colin Watson <cjwatson@ubuntu.com>
33053
33054 Improve grub-mkconfig performance when there are several menu
33055 entries on a single filesystem.
33056
33057 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33058 prepare_grub_to_access_device.
33059 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33060 * util/grub.d/30_os-prober.in: Likewise.
33061
67937d4d 330622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33063
33064 * util/grub.d/10_freebsd.in: Remove.
33065 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33066 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33067
ee3756cc 330682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33069
5c35048e 33070 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33071
4dea1c6f 330722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33073
33074 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33075 grub_util_error() call.
33076
042484d7 330772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33078
33079 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33080 `reserved_first_sector' member.
33081 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33082 `reserved_first_sector' to 1.
33083 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33084 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33085 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33086 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33087 filesystems which begin at first sector.
33088 (options): New option --skip-fs-probe.
33089 (main): Handle --skip-fs-probe and pass it to setup().
33090
d64448a7 330912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33092
33093 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33094 (memset): Fix function prototype.
33095
508d42ec 330962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
330972009-10-25 Vasily Averin <vvs@parallels.com>
33098
33099 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33100 `dirent.direntlen == 0'.
33101
b240e30c 331022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33103
33104 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33105 `cpio'.
33106 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33107
346e7fbe 331082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33109
33110 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33111 `__trampoline_setup' and `__ucmpdi2'.
33112 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33113 that libgcc provides.
33114
cdb308b0 331152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33116
33117 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33118 * include/grub/sparc64/libgcc.h (memset): Likewise.
33119 * include/grub/misc.h (memset, memcmp): New function prototypes.
33120
fb26abc2 331212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33122
33123 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33124 `cpio'.
33125 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33126
f6693890 331272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33128
33129 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33130 * docs/grub.cfg: Compensate for recent change in multiboot
33131 loader (since 2009-08-14 it won't pass filename to payload).
33132 * util/grub.d/10_hurd.in: Likewise.
33133
0933cdc0 331342009-10-21 Felix Zielcke <fzielcke@z-51.de>
33135
33136 * config.guess: Update to latest version from config git
33137 repository.
33138 * config.sub: Likewise.
33139
3b2fe8c2 331402009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33141
33142 Fix build on sparc64.
33143
33144 * configure.ac: Perform checks for libgcc symbols before
33145 adding `-nostdlib' to LDFLAGS.
33146
46695a62 331472009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33148
33149 Let user specify OpenBSD root device.
33150
33151 * loader/i386/bsd.c (openbsd_root): New variable.
33152 (openbsd_opts): New option 'root'.
33153 (OPENBSD_ROOT_ARG): New macro.
33154 (grub_openbsd_boot): Use 'openbsd_root'.
33155 (grub_cmd_openbsd): Fill 'openbsd_root'.
33156
d2b6b7fc 331572009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 * NEWS: Misc adjustments.
33160
421bd7ac 331612009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33162
33163 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33164
f1d29d87 331652009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33166
33167 * configure.ac: Bump version to 1.97.
33168
6f3cd880 331692009-10-16 Colin Watson <cjwatson@ubuntu.com>
33170
33171 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33172 -mno-3dnow on x86 architectures. Some toolchains enable these
33173 features by default, but they rely on registers that aren't enabled
33174 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33175
035f7122 331762009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33177
33178 Make entry text a bit more readable.
33179
33180 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33181
44998e58 331822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33183
33184 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33185
cd2851b3 331862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33187
33188 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33189 operations.
33190
c6f3b249 331912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33192
33193 * configure.ac: Add missing dollar.
33194
6b5886ba 331952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33196
33197 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33198
33199 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33200 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33201 exports.
33202 * include/grub/sparc64/libgcc.h: Likewise. Use
33203 preprocessor conditionals.
33204
e9d66f6d 332052009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33206
33207 * conf/common.rmk (grub-dumpbios): Remove rule.
33208 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33209 * util/grub-dumpbios.in: Remove file.
33210
9155bc17 332112009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33212
33213 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33214 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33215
33216 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33217 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33218 users.
33219
33220 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33221 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33222 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33223 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33224 users.
33225
bf7f7a18 332262009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33227
33228 * term/tparm.c: Switch to GPLv3.
33229
86564c26 332302009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33231
33232 * include/grub/i386/cpuid.h: Add header protection.
33233
5c936493 332342009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33235
33236 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33237
33238 * include/grub/i386/cpuid.h: New file.
33239 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33240 (has_longmode): Rename to ...
33241 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33242 `static' attribute.
33243 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33244 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33245 on a CPU that doesn't implement AMD64 instruction set.
33246
186e7cf2 332472009-10-06 Colin Watson <cjwatson@ubuntu.com>
33248
33249 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33250 that version.texi is rebuilt on version number changes.
33251
83b65c4a 332522009-10-06 Colin Watson <cjwatson@ubuntu.com>
33253
33254 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33255 Fixes bug #27602.
33256
d244281c 332572009-10-06 Colin Watson <cjwatson@ubuntu.com>
33258
33259 * util/i386/pc/grub-install.in: Source
33260 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33261 that the --grub-probe option will work.
33262 * util/sparc64/ieee1275/grub-install.in: Likewise.
33263
da25306d 332642009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33265
33266 * configure.ac: Bump version to 1.97~beta4.
33267
e8ee83c0 332682009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33269
33270 Resync grub-mkdevicemap in x86_64-efi.
33271
33272 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33273 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33274 `util/devicemap.c'.
33275
50dcabcf 332762009-10-01 Colin Watson <cjwatson@ubuntu.com>
33277
33278 * util/grub-editenv.c (create_envblk_file): Write new block with a
33279 .new suffix and then rename it into place, to ensure atomic
33280 creation.
33281
0e51c3a7 332822009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33283
33284 Do not automatically install headers.
33285
33286 * Makefile.in (include_DATA): Remove. Update all users.
33287
31299a95 332882009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33289
33290 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33291 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33292
33293 * util/osdetect.lua: Remove.
33294 * script/lua/lauxlib.c: Likewise.
33295 * script/lua/ldebug.c: Likewise.
33296 * script/lua/grub_main.c: Likewise.
33297 * script/lua/lauxlib.h: Likewise.
33298 * script/lua/ldebug.h: Likewise.
33299 * script/lua/ltablib.c: Likewise.
33300 * script/lua/liolib.c: Likewise.
33301 * script/lua/lstrlib.c: Likewise.
33302 * script/lua/lualib.h: Likewise.
33303 * script/lua/ldo.c: Likewise.
33304 * script/lua/ldump.c: Likewise.
33305 * script/lua/ldo.h: Likewise.
33306 * script/lua/loslib.c: Likewise.
33307 * script/lua/lundump.c: Likewise.
33308 * script/lua/grub_lib.c: Likewise.
33309 * script/lua/ldblib.c: Likewise.
33310 * script/lua/lundump.h: Likewise.
33311 * script/lua/lmem.c: Likewise.
33312 * script/lua/grub_lib.h: Likewise.
33313 * script/lua/lmathlib.c: Likewise.
33314 * script/lua/lstate.c: Likewise.
33315 * script/lua/ltm.c: Likewise.
33316 * script/lua/lvm.c: Likewise.
33317 * script/lua/lmem.h: Likewise.
33318 * script/lua/lstate.h: Likewise.
33319 * script/lua/ltm.h: Likewise.
33320 * script/lua/ltable.c: Likewise.
33321 * script/lua/lvm.h: Likewise.
33322 * script/lua/llex.c: Likewise.
33323 * script/lua/lgc.c: Likewise.
33324 * script/lua/grub_lua.h: Likewise.
33325 * script/lua/loadlib.c: Likewise.
33326 * script/lua/lfunc.c: Likewise.
33327 * script/lua/lopcodes.c: Likewise.
33328 * script/lua/lparser.c: Likewise.
33329 * script/lua/ltable.h: Likewise.
33330 * script/lua/llex.h: Likewise.
33331 * script/lua/lgc.h: Likewise.
33332 * script/lua/lfunc.h: Likewise.
33333 * script/lua/lbaselib.c: Likewise.
33334 * script/lua/lopcodes.h: Likewise.
33335 * script/lua/lparser.h: Likewise.
33336 * script/lua/lzio.c: Likewise.
33337 * script/lua/linit.c: Likewise.
33338 * script/lua/lobject.c: Likewise.
33339 * script/lua/llimits.h: Likewise.
33340 * script/lua/lstring.c: Likewise.
33341 * script/lua/lzio.h: Likewise.
33342 * script/lua/lapi.c: Likewise.
33343 * script/lua/lcode.c: Likewise.
33344 * script/lua/lua.h: Likewise.
33345 * script/lua/lobject.h: Likewise.
33346 * script/lua/lstring.h: Likewise.
33347 * script/lua/lapi.h: Likewise.
33348 * script/lua/lcode.h: Likewise.
33349 * script/lua/luaconf.h: Likewise.
33350
cb8a2c38 333512009-09-26 Colin Watson <cjwatson@ubuntu.com>
33352
33353 * docs/grub.texi (Command-line and menu entry commands): Document
33354 date and echo commands.
33355
6b9b6276 333562009-09-24 Pavel Roskin <proski@gnu.org>
33357
33358 * include/grub/kernel.h (struct grub_module_header): Remove
33359 `grub_module_header_types'. Make `type' unsigned. Make `size'
33360 32-bit on all platforms.
33361 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33362 8-bit field. Use grub_host_to_target32() for `size'.
33363 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33364 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33365 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33366
4e5a02a7 333672009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33368
33369 Fix "lost keypress" bug in at_keyboard.
33370
33371 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33372 Checks for readyness of input buffer (without flushing it).
33373 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33374 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33375
c6dcedf6 333762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33377
33378 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33379 size check within GRUB_MACHINE_PCBIOS section.
33380
74c958b1 333812009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33382
33383 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33384 return value.
33385 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33386 KEYBOARD_ISREADY check.
33387 (grub_at_keyboard_checkkey): Rename to ...
33388 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33389 Remove gratuitous cast.
33390
ff420223 333912009-09-23 Colin Watson <cjwatson@ubuntu.com>
33392
33393 * configure.ac: Call AC_PROG_MKDIR_P.
33394 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33395 version.texi in $(builddir) rather than $(srcdir).
33396 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33397 to makeinfo's @include search path.
33398
d96875df 333992009-09-23 Felix Zielcke <fzielcke@z-51.de>
33400
33401 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33402
9b3f8365 334032009-09-23 Felix Zielcke <fzielcke@z-51.de>
33404
33405 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33406 for `*.dpkg-new'.
33407
c44c90db 334082009-09-21 Colin Watson <cjwatson@ubuntu.com>
33409
33410 Build info documentation. Some code borrowed from Automake.
33411
33412 * configure.ac: Check for makeinfo.
33413 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33414 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33415 docs/version.texi.
33416 (MOSTLYCLEANFILES): Add vti.tmp.
33417 (docs/version.texi, docs/stamp-vti): Update automatically.
33418 (docs/grub.info): Build info documentation. Use --force and ignore
33419 errors for now.
33420 (all-local): Add $(INFOS).
33421 (install-local): Install info files.
33422 (uninstall): Uninstall info files.
33423 * docs/version.texi: Remove from revision control. This file is
33424 automatically generated on build now.
33425 * gendistlist.sh: Add `*.info'.
33426
e0b37bb5 334272009-09-21 Felix Zielcke <fzielcke@z-51.de>
33428
33429 * kern/term.c: Fix indentation.
33430
5a78865b 334312009-09-21 Felix Zielcke <fzielcke@z-51.de>
33432
33433 * util/hostdisk.c: Fix a comment.
33434
dace7e8a 334352009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33436
33437 Fix regression introduced in r2539.
33438
33439 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33440 to 0xA1.
33441
a83d079b 334422009-09-19 Colin Watson <cjwatson@ubuntu.com>
33443
33444 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33445 os-prober. Under normal operation, it does not print anything to
33446 stderr; if it does, we need to debug it, and throwing away stderr
33447 makes that excessively difficult.
a83d079b 33448
be94a509 334492009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33450
33451 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33452
63f745e8 334532009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33454
33455 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33456 AC_LANG_PROGRAM from autoconf.
33457 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33458 prototypes (fixes warning).
33459
33460 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33461 `--disable-werror' was used.
33462
bbb2a70f 334632009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33464
33465 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33466 uninitialized `lastaddr'.
33467
77c24f1d 334682009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33469
0f0b8c87 33470 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33471
07197f23 334722009-09-14 Colin Watson <cjwatson@ubuntu.com>
33473
33474 * commands/test.c (get_fileinfo): Return immediately if
33475 grub_fs_probe fails.
33476
dabf1798 334772009-09-14 José Martínez <xosemp@gmail.com>
33478
33479 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33480
d52109a7 334812009-09-14 Colin Watson <cjwatson@ubuntu.com>
33482
33483 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33484 output.
33485
56532179 334862009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33487
33488 * configure.ac: Remove --enable-grub-pe2elf. Only build
33489 grub-pe2elf when needed by the build system itself.
33490 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33491
8ef070f5 334922009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33493
33494 * configure.ac: Bump version to 1.97~beta3.
33495 * docs/version.texi: Likewise.
33496
61229557 334972009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33498
33499 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33500 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33501 from here ...
33502 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33503 (grub_linux_setup_video): ... to here (with some adjustments).
33504
5c9f8d84 335052009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33506
33507 Fix memory corruption issue (spotted by Colin Watson).
33508
33509 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33510 causing returned size to be stored in an incorrect memory location.
33511 Fix use of uninitialized value when storing the returned size.
33512
e8f5d6e9 335132009-09-12 Yves Blusseau <blusseau@zetam.org>
33514
33515 Change clean rules to properly remove files
33516
33517 * genmk.rb: add new clean rules
33518 * Makefile.in (clean): add the new targets
33519 (mostlyclean): likewise
33520
cda2a409 335212009-09-11 Colin Watson <cjwatson@ubuntu.com>
33522
33523 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33524 to grub_uint64_t.
33525 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33526 non-resident files.
33527
86695375 335282009-09-11 Colin Watson <cjwatson@ubuntu.com>
33529
33530 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33531 part of bug #27349.
33532
8aa1541a 335332009-09-10 Felix Zielcke <fzielcke@z-51.de>
33534
33535 * util/grub-mkconfig.in: Make the created config mode 400 and
33536 print a warning if it fails.
33537
48d9bb0a 335382009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33539
33540 * util/grub.d/40_custom.in: Ask user to type custom entries below
33541 comment, rather than below 'exec tail' line.
33542
3b0521be 335432009-09-10 Colin Watson <cjwatson@ubuntu.com>
33544
33545 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33546 visible in grub.cfg.
33547
50051d55 335482009-09-10 Colin Watson <cjwatson@ubuntu.com>
33549
33550 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33551 file.
33552
c0d34387 335532009-09-10 Felix Zielcke <fzielcke@z-51.de>
33554
33555 * docs/grub.cfg: Add an example menu entry for memtest86+.
33556
80a608f3 335572009-09-09 Felix Zielcke <fzielcke@z-51.de>
33558
a2094832 33559 * config.guess: Update to latest version from config git.
80a608f3 33560 * config.sub: Likewise.
33561
99423078 335622009-09-08 Colin Watson <cjwatson@ubuntu.com>
33563
33564 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33565 unknown-command case. Fixes bug #27320.
33566
44454e4c 335672009-09-08 Felix Zielcke <fzielcke@z-51.de>
33568
33569 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33570 `help' if the command exists.
33571
e30d87ad 335722009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33573
33574 * INSTALL: Require GCC 4.1.3 or later.
33575
9a86f1ec 335762009-09-06 Yves Blusseau <blusseau@zetam.org>
33577
33578 * Makefile.in (RMKFILES): add i386-qemu.rmk
33579 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33580 $(srcdir)/stamp-h.in
33581
7f26d466 335822009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33583
33584 * util/grub-probe.c (probe): Comment out buggy codepath, which
33585 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33586 should be re-enabled after 1.97.
33587
3a613259 335882009-09-05 Felix Zielcke <fzielcke@z-51.de>
33589
33590 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33591 find searches for.
33592
197f76c7 335932009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33594
33595 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33596 unnecessary calls to grub_error.
33597
70ba68ce 335982009-09-04 Colin Watson <cjwatson@ubuntu.com>
33599
33600 * NEWS: Mention `keystatus' and Unicode fonts.
33601
4ff0d7a4 336022009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33603
33604 * configure.ac: Bump version to 1.97~beta2.
33605 * docs/version.texi: Likewise.
33606
77c55a87 336072009-09-03 Colin Watson <cjwatson@ubuntu.com>
33608
33609 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33610 containing unwind information in some cases where it previously did
33611 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33612 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33613 discussion.
33614
f79572cd 336152009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33616
33617 Embedding loadenv module into grub-emu
33618
33619 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33620 commands/loadenv.c
33621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33622 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33623 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33625 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33626 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33627
93a81088 336282009-09-03 Magnus Granberg <zorry@ume.nu>
33629
33630 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33631 include -fPIE in the default specs.
33632 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33633 to TARGET_CFLAGS.
33634
160034b2 336352009-09-03 Felix Zielcke <fzielcke@z-51.de>
33636
33637 * INSTALL: Note that GNU Bison 2.3 or later is required.
33638
087c07c4 336392009-09-03 Colin Watson <cjwatson@ubuntu.com>
33640
33641 * kern/i386/pc/startup.S: Fix typo.
33642
cbf978c0 336432009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33644
33645 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33646 according to GCS.
33647
336482009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33649
33650 * docs/grub.texi (Naming convention): Describe one-based partition
33651 numbering.
33652 (Device syntax): Likewise.
33653 (File name syntax): Likewise.
33654 (Block list syntax): Likewise.
33655 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33656 menu.lst.
33657 (File name syntax): Likewise.
33658 (Command-line and menu entry commands): Document acpi, blocklist,
33659 crc, export, insmod, keystatus, ls, set, and unset commands.
33660
f3e8cdfd 336612009-09-02 Colin Watson <cjwatson@ubuntu.com>
33662
33663 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33664 to avoid implying that only one of --shift, --ctrl, or --alt may be
33665 used.
33666
c0bc232b 336672009-09-02 Colin Watson <cjwatson@ubuntu.com>
33668
33669 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33670 rather than comparing against S_IFREG, which will almost never work.
33671
aa0f752d 336722009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33673
33674 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33675 (write_blocklists): Likewise.
33676
ecb3166a 336772009-09-01 Colin Watson <cjwatson@ubuntu.com>
33678
33679 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33680 argument to grub_printf.
33681
c403a125 336822009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33683
33684 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33685 non GNU test.
31aba781 33686
b5e7312c 336872009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33688
33689 * kern/file.c (grub_file_read): Spelling fix
33690
fe00f472 336912009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33692
33693 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33694 loading of headers in some cases.
33695
cc55302e 336962009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33697
33698 * configure.ac: Bump version to 1.97~beta1.
33699 * docs/version.texi: Likewise.
33700
5c90cdd2 337012009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33702
33703 * include/grub/i386/xnu.h: Add license header.
33704 include grub/err.h explicitly.
33705
c90edae4 337062009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33707
33708 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33709 to `ufs' in the vfs.root.mountfrom kernel parameter.
33710
d8888b5c 337112009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33712
33713 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33714
33715 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33716 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33717
33718 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33719 `ARRAY_SIZE' macro.
33720
6f07b921 337212009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33722
33723 * kern/file.c (grub_file_read): Check offset.
33724 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33725 * fs/jfs.c (grub_jfs_read_file): Likewise.
33726 * fs/ntfs.c (grub_ntfs_read): Likewise.
33727 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33728 * fs/minix.c (grub_minix_read_file): Correct offset check.
33729 * fs/ufs.c (grub_ufs_read_file): Likewise.
33730
b4f34077 337312009-08-28 Colin Watson <cjwatson@ubuntu.com>
33732
33733 * term/i386/pc/console.c (bios_data_area): Cast
33734 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33735
e7c69859 337362009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33737
33738 1-bit optimised blitters.
33739
33740 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33741 prototype.
33742 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33743 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33744 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33745 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33746 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33747 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33748 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33749 function.
33750 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33751 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33752 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33753 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33754 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33755 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33756 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33757 when possible.
33758 * video/video.c (grub_video_get_blit_format): Return
33759 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33760
a57da43f 337612009-08-28 Colin Watson <cjwatson@ubuntu.com>
33762
33763 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33764 the first argument to grub_printf.
33765
4cbe67e5 337662009-08-28 Colin Watson <cjwatson@ubuntu.com>
337672009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33768
33769 Add `getkeystatus' terminal method. Add a new `keystatus' command
33770 to query it.
33771
33772 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33773 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33774 modifier key bitmasks.
33775 (struct grub_term_input): Add `getkeystatus' member.
33776 (grub_getkeystatus): Add prototype.
33777 * kern/term.c (grub_getkeystatus): New function.
33778
33779 * include/grub/i386/pc/memory.h
33780 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33781 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33782 Data Area layout.
33783 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33784 (grub_console_term_input): Set `getkeystatus' member.
33785 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33786 constants.
33787 (grub_usb_keyboard_getreport): Likewise.
33788 (grub_usb_keyboard_checkkey): Likewise.
33789 (grub_usb_keyboard_getkeystatus): New function.
33790 (grub_usb_keyboard_term): Set `getkeystatus' member.
33791
33792 * commands/keystatus.c: New file.
33793 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33794 (keystatus_mod_SOURCES): New variable.
33795 (keystatus_mod_CFLAGS): Likewise.
33796 (keystatus_mod_LDFLAGS): Likewise.
33797 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33798 commands/keystatus.c.
33799 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33801 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33803 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33804 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33805
6e2a9085 338062009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33807
33808 Split befs.mod and afs.mod into *_be.mod and *.mod
33809
33810 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33811 (grub_fstest_SOURCES): Likewise.
33812 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33813 (afs_be_mod_SOURCES): New variable.
33814 (afs_be_mod_CFLAGS): Likewise.
33815 (afs_be_mod_LDFLAGS): Likewise.
33816 (befs_be_mod_SOURCES): Likewise.
33817 (befs_be_mod_CFLAGS): Likewise.
33818 (befs_be_mod_LDFLAGS): Likewise.
33819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33820 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33821 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33822 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33823 (grub_emu_SOURCES): Likewise.
33824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33825 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33826 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33827 * fs/afs_be.c: New file.
33828 * fs/befs_be.c: New file.
33829 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33830 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33831 (U16): Replaced with ...
33832 (grub_afs_to_cpu16): ...this. All users updated.
33833 (U32): Replaced with ...
33834 (grub_afs_to_cpu32): ...this. All users updated.
33835 (U64): Replaced with ...
33836 (grub_afs_to_cpu64): ...this. All users updated.
33837 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33838 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33839 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33840 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33841 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33842 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33843 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33844 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33845 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33846 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33847 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33848
32a71655 338492009-08-26 Bean <bean123ch@gmail.com>
33850
33851 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33852 64-bit number.
33853 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33854 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33855 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33856
552bf6c5 338572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33858
33859 NetBSD memory map support.
33860
33861 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33862 (grub_netbsd_btinfo_mmap_header): New structure.
33863 (grub_netbsd_btinfo_mmap_entry): Likewise.
33864 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33865
1ae2078c 338662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33867
33868 Enable bsd.mod on coreboot.
33869
33870 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33871 (bsd_mod_SOURCES): New variable.
33872 (bsd_mod_CFLAGS): Likewise.
33873 (bsd_mod_LDFLAGS): Likewise.
33874 (bsd_mod_ASFLAGS): Likewise.
33875 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33876 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33877
beefc598 338782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33879
33880 Cleanup NetBSD root support.
33881
33882 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33883 grub_bsd_get_device.
33884 Fix typo.
33885
3b76e68b 338862009-08-25 Felix Zielcke <fzielcke@z-51.de>
33887
33888 * util/grub.d/00_header.in: Move check for the video backend of
33889 gfxterm from here ...
33890 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33891 a suitable video backend.
33892
aea664ea 338932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33894
33895 Fix breakage in grub-setup.
33896
33897 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33898 "msdos_partition_map".
33899
ff747d50 339002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33901
33902 Fix breakage in normal/auth.c.
33903
33904 * normal/auth.c (grub_iswordseparator): New function.
33905
e7e1f93f 339062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33907
33908 Authentication support.
33909
33910 * commands/password.c: New file.
33911 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33912 (password_mod_SOURCES): New variable.
33913 (password_mod_CFLAGS): Likewise.
33914 (password_mod_LDFLAGS): Likewise.
33915 (normal_mod_SOURCES): Add normal/auth.c.
33916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33917 normal/auth.c.
33918 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33919 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33920 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33922 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33923 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33924 * include/grub/auth.h: New file.
33925 * include/grub/err.h (grub_err_t): New enum value
33926 GRUB_ERR_ACCESS_DENIED.
33927 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33928 'users'.
33929 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33930 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33931 users updated.
33932 * normal/auth.c: New file.
33933 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33934 (grub_cmdline_run): Don't allow to go to command line without
33935 authentication.
33936 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33937 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33938 menuentry without superuser rights.
33939 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33940 user isn't a superuser.
33941
70f1161d 339422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33943
33944 Save space by inlining misc.c functions.
33945
33946 * kern/misc.c (grub_iswordseparator): Made static.
33947 * kern/misc.c (grub_strcat): Moved from here ...
33948 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33949 * kern/misc.c (grub_strncat): Moved from here ...
33950 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33951 * kern/misc.c (grub_strcasecmp): Moved from here ...
33952 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33953 * kern/misc.c (grub_strncasecmp): Moved from here ...
33954 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33955 * kern/misc.c (grub_isalpha): Moved from here ...
33956 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33957 * kern/misc.c (grub_isdigit): Moved from here ...
33958 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33959 * kern/misc.c (grub_isgraph): Moved from here ...
33960 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33961 * kern/misc.c (grub_tolower): Moved from here ...
33962 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33963
48e40bff 339642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33965
33966 * script/sh/function.c (grub_script_function_find): Cut error message
33967 not to flood terminal.
33968 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33969 limit.
33970 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33971
c385bfc3 339722009-08-24 Colin Watson <cjwatson@ubuntu.com>
33973
33974 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33975 `report' grub_uint8_t *.
33976 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33977 Use a 50-millisecond timeout rather than just repeating
33978 grub_usb_keyboard_getreport 50 times.
33979 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33980
2d21e3e8 339812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33982
33983 Rename *_partition_map to part_*
33984
33985 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33986 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33987 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33988 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33989 All users updated.
33990 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33991 All users updated.
33992 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33993 * util/grub-probe.c (probe_partmap): Don't transform partition name
33994 to get module name.
33995
dd103c4e 339962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33997
33998 Fix OpenBSD and NetBSD support.
33999
34000 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34001 memory address conflict.
34002 (OPENBSD_MMAP_ACPI): New definition.
34003 (OPENBSD_MMAP_NVS): Likewise.
34004 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34005 and OPENBSD_MMAP_NVS.
34006 Add memory map terminator
34007 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34008 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34009
16c84d74 340102009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34011
34012 Let user specify NetBSD root device.
34013
34014 * loader/i386/bsd.c (netbsd_root): New variable.
34015 (netbsd_opts): New option 'root'.
34016 (NETBSD_ROOT_ARG): New macro.
34017 (grub_netbsd_boot): Use 'netbsd_root'.
34018 (grub_bsd_unload): Free 'netbsd_root'.
34019 (grub_cmd_netbsd): Fill 'netbsd_root'.
34020
adb29902 340212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34022
34023 Support for 64-bit NetBSD.
34024
34025 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34026 point when booting non-FreeBSD.
34027
f5ae9f74 340282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34029
34030 Support --no-smp and --no-acpi for NetBSD.
34031
34032 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34033 (NETBSD_AB_NOACPI): Likewise.
34034 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34035 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34036
de74f136 340372009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34038
34039 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34040 errors.
34041 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34042 errors. Call grub_error when needed.
34043
e9a925da 340442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34045
34046 * commands/search.c (search_fs): Try searching without autoload first.
34047 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34048 filesystem module explicitly for faster booting.
34049
5174302b 340502009-08-23 Colin Watson <cjwatson@ubuntu.com>
34051
34052 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34053
c8c80635 340542009-08-23 Colin Watson <cjwatson@ubuntu.com>
34055
34056 * util/grub.d/30_os-prober.in: Disable os-prober if
34057 `GRUB_DISABLE_OS_PROBER' was set to true.
34058
71acf5e5 340592009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34060
34061 * partmap/pc.c: Rename to ...
34062 * partmap/msdos.c: ... this. Update all users.
34063 (grub_pc_partition_map): Rename to ...
34064 (grub_msdos_partition_map): ... this. Update all users.
34065
34066 * parttool/pcpart.c: Rename to ...
34067 * parttool/msdospart.c: ... this. Update all users.
34068
34069 * include/grub/pc_partition.h: Rename to ...
34070 * include/grub/msdos_partition.h: ... this. Update all users.
34071 (grub_pc_partition_bsd_entry): Rename to ...
34072 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34073 (grub_pc_partition_disk_label): Rename to ...
34074 (grub_msdos_partition_disk_label): ... this. Update all users.
34075 (grub_pc_partition_entry): Rename to ...
34076 (grub_msdos_partition_entry): ... this. Update all users.
34077 (grub_pc_partition_mbr): Rename to ...
34078 (grub_msdos_partition_mbr): ... this. Update all users.
34079 (grub_pc_partition): Rename to ...
34080 (grub_msdos_partition): ... this. Update all users.
34081 (grub_pc_partition_is_empty): Rename to ...
34082 (grub_msdos_partition_is_empty): ... this. Update all users.
34083 (grub_pc_partition_is_extended): Rename to ...
34084 (grub_msdos_partition_is_extended): ... this. Update all users.
34085 (grub_pc_partition_is_bsd): Rename to ...
34086 (grub_msdos_partition_is_bsd): ... this. Update all users.
34087
34088 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34089 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34090 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34091 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34092 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34093 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34094 (gpt_mod_LDFLAGS): Rename to ...
34095 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34096 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34097 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34098 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34099 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34100 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34101 (part_gpt_mod_LDFLAGS): ... this.
34102 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34103 `pcpart.mod' to `msdospart.mod'.
34104 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34105 to ...
34106 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34107 (msdospart_mod_LDFLAGS): ... this.
34108
c11fded5 341092009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34110
34111 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34112 (openbsd_opts): Likewise.
34113 (netbsd_opts): Likewise.
34114 (freebsd_flags): Added 0 terminator.
34115 (openbsd_flags): Likewise.
34116 (netbsd_flags): Likewise.
34117 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34118 (grub_cmd_freebsd): Transformed into extended command.
34119 (grub_cmd_openbsd): Likewise.
34120 (grub_cmd_netbsd): Likewise.
34121 (cmd_freebsd): Changed type to grub_extcmd_t.
34122 (cmd_openbsd): Likewise.
34123 (cmd_netbsd): Likewise.
34124 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34125 grub_cmd_openbsd as extended commands.
34126 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34127 cmd_netbsd and cmd_openbsd
34128
11d1c769 341292009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34130
34131 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34132
7a9094e5 341332009-08-21 Pavel Roskin <proski@gnu.org>
34134
5496c37e 34135 * Makefile.in (install-local): When checking if a file is in the
34136 build directory, use "test -e" to detect symlinks.
34137
7a9094e5 34138 * Makefile.in (install-local): Remove all files in
34139 $(DESTDIR)$(pkglibdir) before installing new files there.
34140
e53cea11 341412009-08-18 Felix Zielcke <fzielcke@z-51.de>
34142
34143 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34144 grub-mkelfimage.
34145
9aced544 341462009-08-18 Felix Zielcke <fzielcke@z-51.de>
34147
34148 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34149 explicitly specified by the user.
34150
b7da6bab 341512009-08-18 Pavel Roskin <proski@gnu.org>
34152
34153 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34154 grub_uint8_t pointer for data.
34155 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34156 Likewise.
34157 * video/fb/fbutil.c: Remove unnecessary casts.
34158
19f1b335 341592009-08-17 Michal Suchanek <hramrach@centrum.cz>
34160
34161 VBE cleanup.
34162
34163 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34164 (grub_vbe_set_video_mode): Save active mode info
34165 only after setting the mode.
34166 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34167 second argument.
34168
2f467aa9 341692009-08-17 Michal Suchanek <hramrach@centrum.cz>
34170
34171 Rename variables for clarity.
34172
34173 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34174 (active_vbe_mode_info): ... this. All users updated.
34175 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34176 All users updated.
34177 (initial_mode): Rename to ...
34178 (initial_vbe_mode): ... this. All users updated.
34179 (mode_in_use): Rename to ..
34180 (vbe_mode_in_use): ... this. All users updated.
34181 (mode_list): Rename to ..
34182 (vbe_mode_list): ... this. All users updated.
34183 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34184 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34185 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34186 'mode_list_size' to 'vbe_mode_list_size'.
34187 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34188 'best_mode_info' to 'best_vbe_mode_info' and
34189 'best_mode' to 'best_vbe_mode'
34190
6025fcd7 341912009-08-17 Michal Suchanek <hramrach@centrum.cz>
34192
34193 Remove duplicate grub_video_fb_get_video_ptr.
34194
34195 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34196 (grub_video_fb_get_video_ptr): ... this.
34197 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34198 * video/fb/fbutil.c: Add comment about addressing.
34199 (get_data_ptr): Rename to ...
34200 (grub_video_fb_get_video_ptr): ... this. All users updated.
34201 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34202
cc8c6faf 342032009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34204
34205 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34206 grub_dprintf() that was just added.
34207
08aa61f0 342082009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34209
34210 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34211 (DEFAULT_VIDEO_MODE): Remove macros.
34212 (grub_linux_boot): Remove assumption that Linux has FB support,
34213 and use "text" as default video mode.
34214
7cef4f75 342152009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34216
34217 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34218 grub_dprintf.
34219 * fs/fat.c (grub_fat_read_data): Likewise.
34220
e1f39873 342212009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34222
34223 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34224 payload.
34225 (grub_module): Likewise.
34226
c166d79e 342272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34228
34229 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34230 mbi->cmdline but free playground.
34231
c60cee8e 342322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34233
34234 Handle group offset on UFS1.
34235
34236 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34237 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34238
c0d8b5d4 342392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34240
34241 Split ufs.mod into ufs1.mod and ufs2.mod.
34242
34243 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34244 (grub_fstest_SOURCES): Likewise.
34245 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34246 (ufs_mod_SOURCES): Remove.
34247 (ufs_mod_CFLAGS): Likewise.
34248 (ufs_mod_LDFLAGS): Likewise.
34249 (ufs1_mod_SOURCES): New variable.
34250 (ufs1_mod_CFLAGS): Likewise.
34251 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34252 (ufs2_mod_SOURCES): New variable.
34253 (ufs2_mod_CFLAGS): Likewise.
34254 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34256 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34257 Likewise.
34258 (grub_emu_SOURCES): Likewise.
34259 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34260 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34261 (grub_setup_SOURCES): Likewise.
34262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34263 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34264 (grub_setup_SOURCES): Likewise.
34265 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34266 Likewise.
34267 * fs/ufs2.c: New file.
34268 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34269
d3539132 342702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34271
34272 Framebuffer split.
34273
34274 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34275 subsystem at the end.
34276 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34277 (video_fb_mod_SOURCES): New variable.
34278 (video_fb_mod_CFLAGS): Likewise.
34279 (video_fb_mod_LDFLAGS): Likewise.
34280 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34281 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34282 * video/i386/pc/vbeblit.c: Moved from here ...
34283 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34284 * video/i386/pc/vbefill.c: Moved from here ...
34285 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34286 * video/i386/pc/vbeutil.c: Moved from here ...
34287 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34288 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34289 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34290 * include/grub/i386/pc/vbefill.h: Moved from here ...
34291 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34292 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34293 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34294 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34295 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34296 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34297 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34298 (grub_video_adapter): Added 'get_info_and_fini'.
34299 (grub_video_get_info_and_fini): New prototype.
34300 (grub_video_set_mode): make modestring const char *.
34301 * loader/i386/linux.c (grub_linux_setup_video): Use
34302 grub_video_get_info_and_fini.
34303 (grub_linux_boot): Move modesetting just before booting.
34304 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34305 grub_video_get_info_and_fini.
34306 * video/i386/pc/vbe.c: Moved framebuffer part ...
34307 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34308 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34309 grub_video_fbstd_colors and grub_video_fb_set_palette.
34310 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34311 grub_video_fb_init.
34312 (grub_video_vbe_fini): Use grub_video_fb_fini.
34313 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34314 render_target and use grub_video_fb_set_active_render_target and
34315 grub_video_fb_set_palette.
34316 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34317 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34318 (grub_video_vbe_adapter): Use framebuffer.
34319 * video/video.c (grub_video_get_info_and_fini): New function.
34320 (grub_video_set_mode): Make modestring const char *.
34321 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34322 values are already initialised.
34323
d404ee56 343242009-08-14 Pavel Roskin <proski@gnu.org>
34325
34326 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34327 ABS and APPLE_CC.
34328 * boot/i386/pc/diskboot.S: Likewise.
34329 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34330 sectors allow compilation on MacOSX.
34331 * conf/i386-pc.rmk: Enable unconditional compilation of
34332 lnxboot.img.
34333
9a10df16 343342009-08-13 Colin Watson <cjwatson@ubuntu.com>
34335
34336 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34337 * util/grub.d/00_header.in: Enter interruptible sleep if
34338 GRUB_HIDDEN_TIMEOUT is set.
34339
be3c9ca7 343402009-08-13 Yves Blusseau <blusseau@zetam.org>
34341
34342 * include/grub/symbol.h: Add the LOCAL macro.
34343 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34344 starting with "L_".
34345
1f9e557e 343462009-08-13 Pavel Roskin <proski@gnu.org>
34347
9ca62843 34348 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34349 any modern compilers we support.
34350
1f9e557e 34351 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34352 Use local labels starting with "L_" so that Apple assembler
34353 knows they are local.
34354
81623db6 343552009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34356
34357 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34358 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34359 (bsd_kernel_types): ... this enum.
34360
34361 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34362 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34363 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34364
34365 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34366 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34367 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34368 messages.
34369
f5d35e7a 343702009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34371
34372 * util/grub-dumpdevtree: Moved from here ...
34373 * util/i386/efi/grub-dumpdevtree: ... to here.
34374 (hexify): New function. Converts a string to its hex version.
34375 Generate hex versions of "efi" and "device-properties" by calling
34376 hexify() on the ASCII strings rather than by hardcoding numbers.
34377
d1e1d527 343782009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34379
34380 * fs/jfs.c: Update copyright year.
34381
1ebbe064 343822009-08-08 Felix Zielcke <fzielcke@z-51.de>
34383
34384 * util/grub.d/00_header.in: Fix a comment.
34385 * util/grub.d/10_linux.in: Likewise.
34386 * util/grub.d/10_windows.in: Likewise.
34387 * util/grub.d/10_hurd.in: Likewise.
34388
a78c8d24 343892009-08-08 Felix Zielcke <fzielcke@z-51.de>
34390
34391 * util/grub-mkconfig.in: Allow the user to specify the used font
34392 with GRUB_FONT.
34393
29a6b9e8 343942009-08-08 Pavel Roskin <proski@gnu.org>
34395
b5f16cc4 34396 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34397 available, xfs.mod needs it now.
34398
2f5cb827 34399 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34400 the "g" modifier in sed when the intention is to strip something
34401 once. This fixes comparison of kernels with multiple dashes.
34402
29a6b9e8 34403 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34404 on it. Add missing space before closing bracket. Fix
34405 misleading formatting.
34406
892a3d98 344072009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34408
34409 * docs/grub.texi: Major overhaul. Remove all sections that are
34410 specific to GRUB Legacy, or mostly composed of Legacy-specific
34411 information.
34412
ed94253f 344132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34414
34415 * docs/version.texi: New file. Provides version information for
34416 grub.texi.
34417
126d6628 344182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34419
34420 * docs/grub.texi: Update CVS information to SVN.
34421 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34422
998b5aa9 344232009-08-07 Felix Zielcke <fzielcke@z-51.de>
34424
34425 * util/grub-mkconfig.in: Remove a wrong `fi'.
34426
818e094a 344272009-08-07 Felix Zielcke <fzielcke@z-51.de>
34428
34429 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34430 (grub_jfs_uuid): New function.
34431 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34432
b969c52f 344332009-08-07 Felix Zielcke <fzielcke@z-51.de>
34434
34435 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34436 of it to ...
34437 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34438 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34439
7a4894cc 344402009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34441
34442 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34443 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34444 Update all users.
34445
34446 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34447 not just "vmlinu[zx]".
34448 Moved from here ...
34449 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34450 all users.
34451
34452 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34453 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34454 all users.
34455
4e2171f8 344562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34457
34458 * util/grub.d/10_freebsd.in: Use an absolute device path for
34459 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34460
6dcfcb32 344612009-08-06 Felix Zielcke <fzielcke@z-51.de>
34462
34463 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34464 handling of multiple abstraction modules.
34465
f56a8756 344662009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34467
34468 Fix a bug resulting in black screen when loading Linux using a
34469 packed video mode.
34470
34471 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34472 function.
34473
34474 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34475 (grub_vbe_bios_getset_dac_palette_width): New function.
34476 (grub_vbe_bios_get_dac_palette_width)
34477 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34478 grub_vbe_bios_getset_dac_palette_width()).
34479
34480 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34481 check for return status.
34482 (grub_vbe_get_video_mode_info): When getting information for a packed
34483 mode (<= 8 bpp), obtain DAC palette width using
34484 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34485 {red,green,blue}_mark_size.
34486
222671b2 344872009-08-04 Felix Zielcke <fzielcke@z-51.de>
34488
ecb1a6d9 34489 * commands/search.c (options): Fix help output to match actual code.
222671b2 34490
f84114f5 344912009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34492
34493 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34494 of homegrown code.
34495
bd288a20 344962009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34497
34498 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34499 on XFS or ReiserFS.
34500
8aab5e25 345012009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34502
34503 Support Apple partition map with sector size different from 512 bytes.
34504
34505 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34506 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34507 and 'apart.partmap_size'.
34508
6ad6258a 345092009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
345102009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34511
34512 Fix cpuid command.
34513
34514 * commands/i386/cpuid.c (options): New variable.
34515 (grub_cmd_cpuid): Return real error.
34516 (GRUB_MOD_INIT(cpuid)): Declare options.
34517
67459bc6 345182009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34519
34520 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34521 valid.
34522
fbc6ab54 345232009-07-31 Bean <bean123ch@gmail.com>
34524
34525 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34526 log2_inode.
34527 (grub_fshelp_node): Move inode field to the end.
34528 (grub_xfs_data): Remove inode field.
34529 (grub_xfs_inode_block): Calculate inode size using sblock.
34530 (grub_xfs_inode_offset): Likewise.
34531 (grub_xfs_read_inode): Calculate inode size using sblock.
34532 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34533 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34534 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34535 to match inode size.
34536 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34537 not accessible when data is null.
34538 (grub_xfs_open): Likewise.
34539
f45d6cfc 345402009-07-31 Bean <bean123ch@gmail.com>
34541
34542 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34543 Don't change pv->disk if it's already set.
34544
34545 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34546 (grub_raid_register): ... here.
34547 (grub_raid_rescan): Removed.
34548
34549 * include/grub/raid.h (grub_raid_rescan): Removed.
34550
34551 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34552 (fstest): Replace grub_raid_rescan with module fini function followed
34553 by init function.
34554
34555 * util/grub-probe.c: Add include file <grub/raid.h>.
34556 (probe_raid_level): New function.
34557 (probe): Detect abstraction by walking the disk device, support two
34558 level of abstraction (LVM on RAID) when detecting partition map.
34559
24443b5a 345602009-07-31 Pavel Roskin <proski@gnu.org>
34561
34562 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34563 to grub_zalloc(), it was erroneous.
34564 Reported by Bean <bean123ch@gmail.com>
34565
a275d9e7 345662009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34567
34568 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34569 embedding zone, not only the first one.
a275d9e7 34570
56c5a47f 345712009-07-29 Joe Auricchio <jauricchio@gmail.com>
34572
34573 * term/gfxterm.c (clear_char): New function.
34574 (grub_virtual_screen_setup): Use clear_char.
34575 (scroll_up): Likewise.
34576 (grub_virtual_screen_cls): Likewise.
34577
67bb323a 345782009-07-29 Felix Zielcke <fzielcke@z-51.de>
34579
34580 * util/deviceiter.c (get_acceleraid_disk_name): New static
34581 function.
34582 (grub_util_iterate_devices): Handle Accelraid devices.
34583 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34584
388a7c75 345852009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34586
34587 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34588 separator for the suggested gfxpayload string (';' collides with the
34589 parser and needs escaping).
34590
3bb7abcf 345912009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34592
34593 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34594 Clear direction flag before jumping to OS.
34595 (grub_multiboot2_real_boot): Likewise.
34596
2ddd36d7 345972009-07-28 Felix Zielcke <fzielcke@z-51.de>
34598
34599 * util/i386/pc/grub-install: Fix parsing of --disk-module
34600 option.
34601
c521b62b 346022009-07-28 Felix Zielcke <fzielcke@z-51.de>
34603
34604 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34605 when embedding.
34606
880e0a0c 346072009-07-26 Felix Zielcke <fzielcke@z-51.de>
34608
34609 * util/grub-mkconfig.in (package_version): New variable.
34610 Use it do display the version.
34611
2366e356 346122009-07-25 Felix Zielcke <fzielcke@z-51.de>
34613
34614 * kern/file.c (grub_file_open): Revert to previous check with
34615 grub_errno.
34616
7ad8c80e 346172009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34618
34619 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34620 from help line. It's out of sync with code.
34621
72b9658b 346222009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34623
34624 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34625 entries on failed boot.
34626
77435277 346272009-07-25 Felix Zielcke <fzielcke@z-51.de>
34628
34629 * kern/file.c (grub_file_open): Fix an error check.
34630
fcaa8b21 346312009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34632
35d16c74 34633 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34634 partition map couldn't be identified.
fcaa8b21 34635
48904cd1 346362009-07-23 Pavel Roskin <proski@gnu.org>
34637
ef3c317f 34638 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34639 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34640 case of little endian words becomes just an optimization.
34641 Respect const modifier.
ad8ea1f4 34642 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34643
48904cd1 34644 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34645 to avoid loss of upper bits if align is unsigned and shorter
34646 than addr.
34647
260c9a89 346482009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34649
34650 UUID support for UFS
34651
34652 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34653 (grub_ufs_uuid): New function.
34654 (grub_ufs_fs): add .uuid
34655
f76ce889 346562009-07-21 Pavel Roskin <proski@gnu.org>
34657
34658 * kern/dl.c (grub_dl_check_header): Make static.
34659
6a6cbcaf 346602009-07-21 Felix Zielcke <fzielcke@z-51.de>
34661
34662 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34663 add drivemap for Vista. It breaks Windows 7.
34664
cffcddb2 346652009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34666
34667 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34668 128 bytes
34669
1ef44b80 346702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34671
34672 Add BFS support
34673
34674 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34675 (grub_fstest_SOURCES): Likewise.
34676 (pkglib_MODULES): Add befs.mod.
34677 (befs_mod_SOURCES): New variable.
34678 (befs_mod_CFLAGS): Likewise.
34679 (befs_mod_LDFLAGS): Likewise.
34680 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34681 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34682 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34683 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34684 (grub_setup_SOURCES): Likewise.
34685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34686 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34687 (grub_setup_SOURCES): Likewise.
34688 * fs/befs.c: New file.
34689 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34690 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34691 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34692 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34693 (B_KEY_INDEX_ALIGN): New declaration.
34694 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34695 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34696 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34697 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34698 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34699 (grub_afs_mount) [MODE_BFS]: Likewise.
34700 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34701 (grub_afs_fs): Use GRUB_AFS_FSNAME
34702 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34703 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34704 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34705 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34706
4f253044 347072009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34708
34709 * util/getroot.c (find_root_device): Add support for MacOSX.
34710 * util/hostdisk.c: Likewise.
34711
57a55913 347122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34713
34714 * font/font.c (find_glyph): Check whether a font is present to avoid
34715 segmentation fault.
75421ca9 34716
347172009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34718
34719 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34720
e98cd0c2 347212009-07-20 Pavel Roskin <proski@gnu.org>
34722
34723 * configure.ac: Trim excessively wordy excuses.
34724
1d2d169a 347252009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34726
34727 Add symlink, mtime and label support to AtheFS.
34728
34729 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34730 (grub_afs_iterate_dir): Handle symlinks.
34731 (grub_afs_open): Use grub_afs_read_symlink.
34732 (grub_afs_dir): Likewise.
34733 Pass mtime.
34734 (grub_afs_label): New function.
34735 (grub_afs_fs): Add grub_afs_label.
34736 (grub_afs_read_symlink): New function.
34737
186f3189 347382009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34739
34740 Fix AtheFS support.
34741
34742 * fs/afs.c: Fix comments style.
34743 (grub_afs_blockrun): Declare as packed.
34744 (grub_afs_datastream): Likewise.
34745 (grub_afs_bnode): Likewise.
34746 (grub_afs_btree): Likewise.
34747 (grub_afs_sblock): Likewise.
34748 Declare `name' as char.
34749 (grub_afs_inode): Declare as packed.
34750 Change void *vnode to grub_uint32_t unused.
34751 (grub_afs_iterate_dir): Check that key_size is positive.
34752 (grub_afs_mount): Don't read superblock twice.
75421ca9 34753 (grub_afs_dir): Don't free node in case of error,
186f3189 34754 grub_fshelp_find_file already handles this.
34755 (grub_afs_open): Likewise.
34756
5680109e 347572009-07-19 Pavel Roskin <proski@gnu.org>
34758
34759 * Makefile.in: Remove LIBLZO and enable_lzo.
34760 * conf/i386-pc.rmk: Remove lzo support.
34761 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34762 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34763 support.
34764 * kern/i386/pc/lzo1x.S: Remove.
34765 * kern/i386/pc/startup.S: Remove lzo support.
34766 * util/i386/pc/grub-mkimage.c: Likewise.
34767
ac70fa32 347682009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34769
34770 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34771 * fs/xfs.c (grub_xfs_dir): Likewise.
34772 * fs/afs.c (grub_afs_dir): Likewise.
34773 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34774 (grub_iso9660_open): Likewise.
34775 * fs/jfs.c (grub_jfs_open): Likewise.
34776 * fs/ext2.c (grub_ext2_dir): Likewise.
34777 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34778 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34779
eab58da2 347802009-07-16 Pavel Roskin <proski@gnu.org>
34781
d2838156 34782 * configure.ac: Never add "-c" to CFLAGS.
34783
55c70904 34784 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34785
43e6200c 34786 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34787 grub_cv_cc_efiemu should be used.
34788
ce7a733d 34789 * configure.ac: Typo fixes.
34790
eab58da2 34791 * kern/mm.c (grub_zalloc): New function.
34792 (grub_debug_zalloc): Likewise.
34793 * include/grub/mm.h: Declare grub_zalloc() and
34794 grub_debug_zalloc().
34795 * util/misc.c (grub_zalloc): New function.
34796 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34797 instead of grub_malloc(), remove unneeded initializations.
34798 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34799 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34800 * commands/parttool.c (grub_cmd_parttool): Likewise.
34801 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34802 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34803 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34804 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34805 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34806 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34807 (grub_cmd_efiemu_pnvram): Likewise.
34808 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34809 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34810 (grub_iso9660_iterate_dir): Likewise.
34811 * fs/jfs.c (grub_jfs_opendir): Likewise.
34812 * fs/ntfs.c (list_file): Likewise.
34813 (grub_ntfs_mount): Likewise.
34814 * kern/disk.c (grub_disk_open): Likewise.
34815 * kern/dl.c (grub_dl_load_core): Likewise.
34816 * kern/elf.c (grub_elf_file): Likewise.
34817 * kern/env.c (grub_env_context_open): Likewise.
34818 (grub_env_set): Likewise.
34819 (grub_env_set_data_slot): Likewise.
34820 * kern/file.c (grub_file_open): Likewise.
34821 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34822 * loader/i386/multiboot.c (grub_module): Likewise.
34823 * loader/xnu.c (grub_xnu_create_key): Likewise.
34824 (grub_xnu_create_value): Likewise.
34825 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34826 (read_config_file): Likewise.
34827 * normal/menu_entry.c (make_screen): Likewise.
34828 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34829 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34830 * script/sh/script.c (grub_script_parse): Likewise.
34831 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34832 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34833 * video/readers/png.c (grub_png_output_byte): Likewise.
34834 (grub_video_reader_png): Likewise.
34835
830afef7 348362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34837
34838 Enable all targets that can be built by default
34839
830afef7 34840 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34841 grub-mkfont and grub-fstest if they can be built
34842
ee293aee 348432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34844
34845 Fix hang and segmentation fault in grub-emu-usb
34846
34847 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34848 * util/usb.c (grub_libusb_devices): likewise
34849 (grub_libusb_init): rename to ...
34850 (GRUB_MOD_INIT (libusb)):...this
34851 (grub_libusb_fini): rename to ..
34852 (GRUB_MOD_FINI (libusb)):...this
34853 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34854 * include/grub/disk.h (grub_raid_init): removed, it's useless
34855 (grub_raid_fini): likewise
34856 (grub_lvm_init): likewise
34857 (grub_lvm_fini): likewise
34858 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34859 by grub_init_all
34860
94414221 348612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34862
34863 Fix libusb
34864
34865 * Makefile.in (LIBUSB): new macro
34866 * genmk.rb (Utility/print_tail): new method
34867 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34868 (top level): call util.print_tail at the end.
34869
59ade63d 348702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34871
34872 Make FreeBSD accept zpool.cache
34873
34874 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34875 type is /boot/zfs/zpool.cache
34876
a58da8c7 348772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34878
34879 Fix 64-bit efiemu
34880
34881 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34882 correct wrong typedef
34883 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34884
20591577 348852009-07-15 Pavel Roskin <proski@gnu.org>
34886
560ca572 34887 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34888 * kern/disk.c (struct grub_disk_cache): Likewise.
34889
e8e8e4fd 34890 * commands/probe.c (options): Typo fix.
34891
fde24e10 34892 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34893 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34894 accordingly.
34895 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34896
379c54c1 34897 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34898 the end of "Error" to make the message more readable.
34899
7bd8f5bf 34900 * boot/i386/pc/boot.S (kernel_segment): Remove.
34901 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34902 for destination.
34903
40b132c5 34904 * boot/i386/pc/boot.S (boot_version): Remove.
34905 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34906 Remove.
34907
20591577 34908 * include/grub/i386/pc/boot.h: Sort all offsets.
34909 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34910 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34911 * boot/i386/pc/boot.S: Assert location of every offset listed in
34912 include/grub/i386/pc/boot.h.
34913
2df32b2c 349142009-07-13 Pavel Roskin <proski@gnu.org>
34915
44b5d879 34916 * include/grub/i386/coreboot/machine.h: Rename
34917 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34918 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34919 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34920
17dc3751 34921 * kern/dl.c: Force native word size to suppress warnings when
34922 compiling grub-emu.
34923
2df32b2c 34924 * kern/device.c (grub_device_iterate): Change struct part_ent to
34925 hold the name, not a pointer to it. Use one grub_malloc() per
34926 partition, not two. Free partition_name if grub_malloc() fails.
34927 Set ents to NULL only before grub_partition_iterate() is called.
34928
75c59f59 349292009-07-11 Bean <bean123ch@gmail.com>
34930
34931 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34932 childname.
34933
0ae1bf88 349342009-07-10 Bean <bean123ch@gmail.com>
349352009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34936
34937 * kern/ieee1275/openfw.c (grub_children_iterate)
34938 (grub_devalias_iterate): Fix size evaluation for property or path
34939 strings, which was broken since r2132.
34940
8279cade 349412009-07-07 Pavel Roskin <proski@gnu.org>
34942
7d8a52d3 34943 * commands/search.c (search_file): Merge into ...
34944 (search_fs): ... this. Accept search type as argument.
34945 (grub_cmd_search): Pass search type to search_fs().
34946
25f9a05a 34947 * include/grub/util/console.h: New file.
34948 * util/console.c: Use it instead of grub/machine/console.h.
34949 * util/grub-emu.c: Likewise.
34950
8279cade 34951 * lib/arg.c (find_long_option): Remove.
34952 (find_long): Add `len' argument, make `s' const char *.
34953 (grub_arg_parse): Parse long options in place, not in a
34954 temporary buffer.
34955
4a11b60f 349562009-07-06 Pavel Roskin <proski@gnu.org>
34957
99f68041 34958 * commands/search.c (search_fs): Fix potential NULL pointer
34959 dereference.
34960
4a11b60f 34961 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34962 function pointer.
34963
e110f4de 349642009-07-06 Daniel Mierswa <impulze@impulze.org>
34965
34966 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34967 comparison.
34968
46eeb6a2 349692009-07-05 Pavel Roskin <proski@gnu.org>
34970
bab74958 34971 * include/grub/i386/linux.h (struct linux_kernel_params):
34972 Restore padding3, it's still needed.
34973
46eeb6a2 34974 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34975 FreeBSD.
34976 * util/osdetect.lua: Likewise.
34977
b4a1dc79 349782009-07-05 Bean <bean123ch@gmail.com>
34979
34980 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34981
34982 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34983 (grub_lua_getenv): Likewise.
34984 (grub_lua_setenv): Likewise.
34985 (save_errno): New function.
34986 (push_result): Likewise.
34987 (grub_lua_enum_device): Likewise.
34988 (grub_lua_enum_file): Likewise.
34989 (grub_lua_file_open): Likewise.
34990 (grub_lua_file_close): Likewise.
34991 (grub_lua_file_seek): Likewise.
34992 (grub_lua_file_read): Likewise.
34993 (grub_lua_file_getline): Likewise.
34994 (grub_lua_file_getsize): Likewise.
34995 (grub_lua_file_getpos): Likewise.
34996 (grub_lua_file_eof): Likewise.
34997 (grub_lua_file_exist): Likewise.
34998 (grub_lua_add_menu): Likewise.
34999
35000 * script/lua/grub_lua.h (isupper): New inline function.
35001 (islower): Likewise.
35002 (ispunct): Likewise.
35003 (isxdigit): Likewise.
35004 (strcspn): Change to normal function.
35005 (strpbkr): New function declaration.
35006 (memchr): Likewise.
35007
35008 * script/lua/grub_main.c (scan_str): New function.
35009 (strcspn): Likewise.
35010 (strpbrk): Likewise.
35011 (memchr): Likewise.
35012
35013 * script/lua/linit.c (lualibs): Enable the string library.
35014
35015 * util/osdetect.lua: New file.
35016
2da92295 350172009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35018
35019 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35020 `capabilities' member.
35021
b2582ec9 350222009-07-02 Pavel Roskin <proski@gnu.org>
35023
35024 * genparttoollist.sh: Add missing newline at the end.
35025
32622956 350262009-07-01 Pavel Roskin <proski@gnu.org>
35027
87a7339e 35028 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35029
d23af54e 35030 * util/hostdisk.c (open_device): Remove `const' from
35031 `sysctl_size', as sysctlbyname() can change it (in this case it
35032 doesn't actually happen).
35033
c94b18a9 35034 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35035 using signed long int constants.
35036
c6cd3ef0 35037 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35038 constant to avoid a warning on FreeBSD.
35039
0df63420 35040 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35041 where it's needed.
35042
999577f1 35043 * Makefile.in: Install include/grub/machine symlink.
35044
6f41557f 35045 * Makefile.in: When installing symlinks, use "cp -fR", which
35046 works on FreeBSD and MacOSX.
35047 From Yves Blusseau <cl7m42e02@sneakemail.com>
35048
c8d22988 35049 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35050 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35051
1b96e952 35052 * util/misc.c: Move grub_reboot() and grub_halt() ...
35053 * util/grub-emu.c: ... here. Make main_env static.
35054 * include/grub/util/misc.h: Remove main_env.
35055
2ef0084d 35056 * kern/mm.c: Use correct format to print size_t.
35057
32622956 35058 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35059 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35060 * kern/powerpc/dl.c: Likewise.
35061 * kern/sparc64/dl.c: Likewise.
35062 * kern/x86_64/dl.c: Likewise.
35063
3f7f0cd0 350642009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35065
35066 Fix grub-emu build on sparc64-ieee1275.
35067
75421ca9 35068 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35070
211d06b5 350712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35072
35073 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35074 (grub_reboot, grub_halt): New functions.
35075
35076 * util/i386/pc/misc.c: Delete. Update all users.
35077 * util/sparc64/ieee1275/misc.c: Likewise.
35078 * util/powerpc/ieee1275/misc.c: Likewise.
35079
aaf53e3c 350802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35081
35082 * conf/i386.rmk (setjmp_mod_SOURCES)
35083 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35084 * conf/common.rmk (setjmp_mod_SOURCES)
35085 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35086 to use $(target_cpu).
35087 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35088 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35089 * conf/powerpc-ieee1275.rmk: Likewise.
35090 * conf/sparc64-ieee1275.rmk: Likewise.
35091
35092 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35093 $(target_cpu) for kern/$(target_cpu)/dl.c.
35094 * conf/i386-efi.rmk: Likewise.
35095 * conf/i386-ieee1275.rmk: Likewise.
35096 * conf/x86_64-efi.rmk: Likewise.
35097 * conf/i386-coreboot.rmk: Likewise.
35098 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35099 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35100 kern/$(target_cpu)/cache.S.
35101 * conf/sparc64-ieee1275.rmk: Likewise.
35102
a337130b 351032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35104
35105 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35106 type to `grub_uint8_t', and adjust `padding9' accordingly.
35107
c6fe4d53 351082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35109
b09db61d 35110 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35111
c6fe4d53 35112 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35113 assembly in final jump, using register constraints.
35114
b09db61d 35115 (grub_linux_boot): For text mode, initialize `have_vga' using
35116 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35117
35118 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35119 right before the final jump.
35120
35121 Set `video_mode' to 0x3.
35122
35123 Document initialization of `video_page', `video_mode' and
35124 `video_ega_bx'.
35125
28333ad0 351262009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35127
35128 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35129 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35130 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35131
02164e1b 351322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35133
35134 Fix build on Debian / sparc.
35135
35136 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35137
18b6c557 351382009-06-28 Pavel Roskin <proski@gnu.org>
35139
85f2aab6 35140 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35141 fix a warning.
35142
18b6c557 35143 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35144
ad760f81 351452009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35146
35147 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35148 `err'.
35149
87a4623b 351502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35151
35152 Revert r2338.
35153
35154 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35155 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35156 grub_errno / grub_errmsg appropriately.
87a4623b 35157 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35158
8231fb77 351592009-06-27 Pavel Roskin <proski@gnu.org>
351602009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35161
35162 * include/grub/dl.h: Include grub/elf.h.
35163 (struct grub_dl): Add symtab field.
35164 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35165 GRUB_MODULES_MACHINE_READONLY.
35166 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35167 of the header for read-only modules.
35168 (grub_dl_unload): Free mod->symtab for read-only modules.
35169 * kern/i386/dl.c: Use mod->symtab.
35170 * kern/powerpc/dl.c: Likewise.
35171 * kern/sparc64/dl.c: Likewise.
35172 * kern/x86_64/dl.c: Likewise.
35173
35174 * conf/i386-qemu.rmk: New file.
35175 * kern/i386/qemu/startup.S: Likewise.
35176 * kern/i386/qemu/mmap.c: Likewise.
35177 * boot/i386/qemu/boot.S: Likewise.
35178 * include/grub/i386/qemu/time.h: Likewise.
35179 * include/grub/i386/qemu/serial.h: Likewise.
35180 * include/grub/i386/qemu/kernel.h: Likewise.
35181 * include/grub/i386/qemu/console.h: Likewise.
35182 * include/grub/i386/qemu/boot.h: Likewise.
35183 * include/grub/i386/qemu/init.h: Likewise.
35184 * include/grub/i386/qemu/machine.h: Likewise.
35185 * include/grub/i386/qemu/loader.h: Likewise.
35186 * include/grub/i386/qemu/memory.h: Likewise.
35187
35188 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35189 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35190 [qemu] (pkglib_IMAGES): Add `boot.img'.
35191 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35192 [qemu] (boot_img_FORMAT): New variables.
35193 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35194 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35195 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35196 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35197 [qemu] (kernel_img_FORMAT): New variables.
35198
35199 * configure.ac: Recognise `i386-qemu'.
35200
35201 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35202 (for no compression).
35203 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35204 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35205 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35206 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35207 ifdefs).
35208
97fe384e 352092009-06-27 Pavel Roskin <proski@gnu.org>
35210
35211 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35212 read.
35213 * efiemu/prepare32.c: Likewise.
35214 * efiemu/prepare64.c: Likewise.
35215
c402ab17 352162009-06-26 Pavel Roskin <proski@gnu.org>
35217
35218 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35219 * include/grub/elf.h: Define symbols without "32" or "64" based
35220 on GRUB_TARGET_WORDSIZE.
35221 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35222 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35223 ELF definitions.
35224 * efiemu/loadcore64.c: Likewise.
35225 * loader/i386/bsd32.c: Likewise.
35226 * loader/i386/bsd64.c: Likewise.
35227 * kern/dl.c: Remove own ELF definitions.
35228 * util/i386/efi/grub-mkimage.c: Likewise.
35229
9bbdfd4d 352302009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35231
35232 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35233 segment 0x0 unconditionally, because the reference generated by
35234 GAS is an absolute address.
35235
a42ce6e9 352362009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35237
35238 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35239 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35240
c952cf92 352412009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35242
35243 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35244 indexes. Check for -f explicitly.
cc3752ad 35245 (search_file): Improve error message.
35246 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35247
132a0a59 352482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35249
35250 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35251 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35252
387a140c 352532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35254
35255 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35256 * conf/i386-ieee1275.rmk: Likewise.
35257 * conf/i386-coreboot.rmk: Likewise.
35258
35259 * kern/i386/pc/startup.S (grub_stop): Remove function.
35260 * kern/i386/ieee1275/startup.S: Likewise.
35261 * kern/i386/coreboot/startup.S: Likewise.
35262 * kern/i386/misc.S (grub_stop): New function.
35263
41da9665 352642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35265
35266 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35267 * kern/i386/realmode.S (real_to_prot): ... to here.
35268
bf337234 352692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35270
35271 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35272 with `kernel.img'.
35273 (kernel_elf_SOURCES): Rename to ...
35274 (kernel_img_SOURCES): ... this.
35275 (kernel_elf_HEADERS): Rename to ...
35276 (kernel_img_HEADERS): ... this. Update all users.
35277 (kernel_elf_ASFLAGS): Rename to ...
35278 (kernel_img_ASFLAGS): ... this.
35279 (kernel_elf_CFLAGS): Rename to ...
35280 (kernel_img_CFLAGS): ... this.
35281 (kernel_elf_LDFLAGS): Rename to ...
35282 (kernel_img_LDFLAGS): ... this.
35283 * conf/i386-coreboot.rmk: Likewise.
35284 * conf/powerpc-ieee1275.rmk: Likewise.
35285
35286 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35287 with "kernel.img".
35288
f52196ff 352892009-06-21 Pavel Roskin <proski@gnu.org>
35290
c3cee413 35291 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35292 to match nested functions.
35293 * loader/sparc64/ieee1275/linux.c: Likewise.
35294
f52196ff 35295 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35296
58750afc 352972009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35298
35299 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35300 all i386 platforms.
35301
15355c7d 353022009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35303
35304 Fix asm file handling on ELF, and remove workarounds.
35305
35306 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35307 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35308 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35309 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35310
3f3ec72b 353112009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35312
35313 Load BSD ELF modules
35314
35315 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35316 and loader/i386/bsd64.c
35317 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35318 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35319 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35320 (grub_freebsd_load_elfmodule32): New declaration
35321 (grub_freebsd_load_elfmoduleobj64): Likewise
35322 (grub_freebsd_load_elf_meta32): Likewise
35323 (grub_freebsd_load_elf_meta64): Likewise
35324 (grub_freebsd_add_meta): Likewise
35325 (grub_freebsd_add_meta_module): Likewise
35326 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35327 (grub_freebsd_add_meta_module): Likewise and move module-specific
35328 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35329 (grub_cmd_freebsd): Add elf-kernel specific parts
35330 based on grub_freebsd_add_meta_module
35331 (grub_cmd_freebsd_module): Add type parsing moved from
35332 grub_freebsd_add_meta_module
35333 (grub_cmd_freebsd_module_elf): New function
35334 (cmd_freebsd_module_elf): New variable
35335 (GRUB_MOD_INIT): Register freebsd_module_elf
35336 * loader/i386/bsd32.c: New file
35337 * loader/i386/bsd64.c: Likewise
35338 * loader/i386/bsdXX.c: Likewise
35339 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35340 (grub_elf64_load): Likewise
35341 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35342 All users updated
35343 (grub_elf64_load_hook_t): Likewise
35344
0db15301 353452009-06-21 Colin Watson <cjwatson@ubuntu.com>
35346
35347 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35348 variable.
35349 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35350 don't write a menu entry for recovery mode.
35351
546796c1 353522009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35353
35354 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35355 after it's no longer needed.
35356
cd7310d5 353572009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35358
35359 * include/grub/i386/loader.h (grub_linux_prot_size)
35360 (grub_linux_tmp_addr, grub_linux_real_addr)
35361 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35362 GRUB_MACHINE_PCBIOS.
35363 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35364 common grub_util_info() call to ...
35365 (generate_image): ... here.
35366 Fix use of uninitialized memory, comparison of signed with
35367 unsigned integers and memory leak.
35368 Remove bogus module address message.
35369
ab32d3b5 353702009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35371
35372 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35373 grub_raid_register
35374 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35375
024ef597 353762009-06-19 Pavel Roskin <proski@gnu.org>
35377
35378 * configure.ac: Remove stray AC_MSG_CHECKING.
35379
3ac72b51 353802009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35381
35382 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35383
e14cd814 353842009-06-18 Pavel Roskin <proski@gnu.org>
35385
35386 * conf/common.rmk: Add fs_file.mod.
35387 * disk/fs_file.c: New file.
35388 * include/grub/disk.h (enum grub_disk_dev_id): Add
35389 GRUB_DISK_DEVICE_FILE_ID.
35390
26586d98 353912009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35392
35393 Fix build with Apple's toolchain. Part 2
35394
35395 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35396 a fake start
35397
26de2bcd 353982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35399
35400 Fix build with Apple's toolchain. Part 1
35401
35402 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35403 for long calls
35404 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35405 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35406 Apple's toolchain
35407
09b3490b 354082009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35409
35410 Fix warnings
35411
35412 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35413 (decomp_block): initialize ch
35414 use grub_memcpy instead of memcpy
35415
c22a006a 354162009-06-17 Pavel Roskin <proski@gnu.org>
35417
d3638678 35418 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35419 version, use declarations needed to use vga_text as the startup
35420 console.
35421
c22a006a 35422 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35423 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35424 the kernel.
35425 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35426 and grub_at_keyboard_fini(), it's done on module load and
35427 unload.
35428
05b129e0 354292009-06-17 Felix Zielcke <fzielcke@z-51.de>
35430
35431 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35432 file can't be found.
35433 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35434
cf24ed9e 354352009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35436
35437 Fix newline handling
35438
35439 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35440 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35441 (grub_script_yylex): don't segfault on unterminated script
35442 newline terminates command and variable
35443
74aa8e4b 354442009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35445
35446 avoid double grub_adjust_range call. Bug reported by David Simner
35447
35448 * kern/disk.c (grub_disk_write): change to raw disk access before
35449 calling disk_read
35450
1bd265f3 354512009-06-17 Colin Watson <cjwatson@ubuntu.com>
35452
35453 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35454 spaces, for the benefit of help2man.
35455 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35456
a2d08c06 354572009-06-16 Pavel Roskin <proski@gnu.org>
35458
35459 * kern/i386/halt.c: Include grub/machine/init.h.
35460 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35461
b97bcb19 354622009-06-16 Felix Zielcke <fzielcke@z-51.de>
35463
35464 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35465 drivemap menuentry.
35466
0644f96c 354672009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35468
35469 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35470 `echo' command.
35471
3ef17a2e 354722009-06-16 Pavel Roskin <proski@gnu.org>
35473
35474 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35475 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35476 save %dx, we only need %dl and we never change it.
35477 * boot/i386/pc/cdboot.S: Don't set the root drive.
35478 * boot/i386/pc/pxeboot.S: Likewise.
35479 * include/grub/i386/pc/boot.h: Remove
35480 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35481 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35482 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35483 * kern/i386/pc/init.c (make_install_device): Remove references
35484 to grub_root_drive.
35485 * kern/i386/pc/startup.S: Likewise.
35486 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35487
693fe637 354882009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35489
35490 xnu_uuid command
35491
35492 * commands/xnu_uuid.c: new file
35493 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35494 (xnu_uuid_mod_SOURCES): new variable
35495 (xnu_uuid_mod_CFLAGS): likewise
35496 (xnu_uuid_mod_LDFLAGS): likewise
35497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35498 * conf/i386-ieee1275.rmk: likewise
35499 * conf/i386-pc.rmk: likewise
35500 * conf/powerpc-ieee1275.rmk: likewise
35501 * conf/sparc64-ieee1275.rmk: likewise
35502 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35503
c9da87d0 355042009-06-16 Pavel Roskin <proski@gnu.org>
35505
35506 * configure.ac: Avoid '==' in test command, it's not portable.
35507
9c6f4596 355082009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35509
35510 Probe command
35511
35512 * commands/probe.c: new file
35513 * conf/common.rmk (pkglib_MODULES): add probe.mod
35514 (probe_mod_SOURCES): new variable
35515 (probe_mod_CFLAGS): likewise
35516 (probe_mod_LDFLAGS): likewise
35517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35518 * conf/i386-ieee1275.rmk: likewise
35519 * conf/i386-pc.rmk: likewise
35520 * conf/powerpc-ieee1275.rmk: likewise
35521 * conf/sparc64-ieee1275.rmk: likewise
35522
70b7f9fd 355232009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35524
35525 Fix handling of string like \"hello\" and "a
35526 b"
35527
35528 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35529 (grub_script_yylex): fix parsing of quoting, escaping and newline
35530
71c79a6b 355312009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35532
dd74360c 35533 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35534 handling
dd74360c 35535
0644f96c 355362009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35537
35538 * util/grub-mkconfig.in: Fix parsing of --output option.
35539
e40893c3 355402009-06-12 Pavel Roskin <proski@gnu.org>
35541
35542 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35543 genmk.rb don't need to be generated or installed.
35544
3a1acfe2 355452009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35546
35547 * commands/i386/pc/drivemap_int13h.S: add more comments
35548
3a4575d4 355492009-06-11 Pavel Roskin <proski@gnu.org>
35550
0658e928 35551 * Makefile.in (uninstall): Uninstall manuals.
35552
ca0388f0 35553 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35554 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35555 and update-grub_lib in two places.
35556 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35557
e3b27c39 35558 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35559 a compiler warning.
35560
3a4575d4 35561 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35562 `entry_lo' to fix variable shadowing.
35563
af1f4f55 355642009-06-11 Christian Franke <franke@computer.org>
35565
35566 * kern/misc.c (__enable_execute_stack): Add missing return type
35567 to prevent gcc warning.
35568
5225e649 355692009-06-11 Felix Zielcke <fzielcke@z-51.de>
35570
35571 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35572
7d83bd47 355732009-06-11 Pavel Roskin <proski@gnu.org>
35574
c1cb63ba 35575 * Makefile.in: Don't rely on any scripts being executable.
35576 Always use $(SHELL) to run shell scripts.
35577
7d83bd47 35578 * configure.ac: Always define ___main if using -nostdlib. This
35579 fixes tests on Cygwin.
35580
948f48e7 355812009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35582
35583 UDF fix
35584
7d83bd47 35585 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35586 is in bytes and not in blocks
7d83bd47 35587
8ada9bc1 355882009-06-11 Pavel Roskin <proski@gnu.org>
35589
35590 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35591 warning.
35592
25ad2323 355932009-06-11 Felix Zielcke <fzielcke@z-51.de>
35594
35595 * util/grub.d/30_os-prober.in: Fix a comment. Source
35596 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35597 to set the root device. Place drivemap command in the generated
35598 chain entry.
35599
e65acb0c 356002009-06-11 Pavel Roskin <proski@gnu.org>
35601
35602 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35603 have long been resolved.
35604
f285fe2d 356052009-06-11 Colin Watson <cjwatson@ubuntu.com>
35606
bd47b0b5 35607 * util/grub.d/10_linux.in: Capitalise "Linux".
35608
f285fe2d 35609 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35610
a0c62e4e 356112009-06-11 Pavel Roskin <proski@gnu.org>
35612
b6783cb2 35613 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35614 fix a gcc warning and ensure that the function won't ever exit.
35615
dde032e8 35616 * kern/i386/ieee1275/init.c: Add missing prototype for
35617 grub_stop_floppy().
35618
22cd079d 35619 * loader/ieee1275/multiboot2.c [__i386__]: Include
35620 grub/cpu/multiboot.h.
35621
a0c62e4e 35622 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35623 casts to short - they are not portable and cause warnings. Fix
35624 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35625
63963d17 356262009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35627
35628 Drivemap fixes
35629
35630 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35631 new function
35632 (grub_get_root_biosnumber_saved): new variable
35633 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35634 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35635 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35636 %dx after the call if necessary
35637 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35638 (boot_mod_SOURCES): remove
35639 (boot_mod_CFLAGS): remove
35640 (boot_mod_LDFLAGS): remove
35641 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35642 (boot_mod_SOURCES): new variable
35643 (boot_mod_CFLAGS): likewise
35644 (boot_mod_LDFLAGS): likewise
35645 * conf/i386-efi.rmk: likewise
35646 * conf/i386-ieee1275.rmk: likewise
35647 * conf/i386-pc.rmk: likewise
35648 * conf/powerpc-ieee1275.rmk: likewise
35649 * conf/sparc64-ieee1275.rmk: likewise
35650 * conf/x86_64-efi.rmk: likewise
35651 * include/grub/i386/pc/biosnum.h: new file
35652 * lib/i386/pc/biosnum.c: likewise
35653 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35654 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35655 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35656
33abf7ae 356572009-06-10 Pavel Roskin <proski@gnu.org>
35658
5ac35b35 35659 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35660 Use separate variables. Read only the file size at the end, but
35661 not the checksum that we don't use.
35662
5c5215d5 35663 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35664 Adjust all callers.
35665
27d5fef7 35666 * kern/ieee1275/openfw.c: Remove libc includes.
35667 * kern/ieee1275/cmain.c: Likewise.
35668 * include/grub/ieee1275/ieee1275.h: Likewise.
35669
33abf7ae 35670 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35671 compiler warnings.
35672
19d50c2b 356732009-06-10 Felix Zielcke <fzielcke@z-51.de>
35674
35675 * Makefile.in: Remove all trailing whitespace.
35676 * conf/i386-pc.rmk: Likewise.
35677 * conf/powerpc-ieee1275.rmk: Likewise.
35678 * conf/sparc64-ieee1275.rmk: Likewise.
35679 * docs/grub.texi: Likewise.
35680 * docs/texinfo.tex: Likewise.
35681 * disk/fs_uuid.c: Likewise.
35682 * disk/lvm.c: Likewise.
35683 * disk/scsi.c: Likewise.
35684 * disk/ata.c: Likewise.
35685 * disk/ieee1275/ofdisk.c: Likewise.
35686 * disk/i386/pc/biosdisk.c: Likewise.
35687 * disk/host.c: Likewise.
35688 * disk/raid.c: Likewise.
35689 * disk/efi/efidisk.c: Likewise.
35690 * disk/usbms.c: Likewise.
35691 * disk/memdisk.c: Likewise.
35692 * disk/loopback.c: Likewise.
35693 * kern/powerpc/dl.c: Likewise.
35694 * kern/device.c: Likewise.
35695 * kern/dl.c: Likewise.
35696 * kern/sparc64/dl.c: Likewise.
35697 * kern/ieee1275/ieee1275.c: Likewise.
35698 * kern/term.c: Likewise.
35699 * kern/fs.c: Likewise.
35700 * kern/i386/dl.c: Likewise.
35701 * kern/i386/pc/startup.S: Likewise.
35702 * kern/i386/pc/init.c: Likewise.
35703 * kern/i386/pc/mmap.c: Likewise.
35704 * kern/i386/pc/lzo1x.S: Likewise.
35705 * kern/i386/ieee1275/init.c: Likewise.
35706 * kern/i386/realmode.S: Likewise.
35707 * kern/i386/tsc.c: Likewise.
35708 * kern/partition.c: Likewise.
35709 * kern/corecmd.c: Likewise.
35710 * kern/file.c: Likewise.
35711 * kern/efi/efi.c: Likewise.
35712 * kern/efi/init.c: Likewise.
35713 * kern/efi/mm.c: Likewise.
35714 * kern/main.c: Likewise.
35715 * kern/err.c: Likewise.
35716 * kern/env.c: Likewise.
35717 * kern/disk.c: Likewise.
35718 * kern/generic/millisleep.c: Likewise.
35719 * kern/generic/rtc_get_time_ms.c: Likewise.
35720 * kern/misc.c: Likewise.
35721 * kern/parser.c: Likewise.
35722 * genmk.rb: Likewise.
35723 * configure.ac: Likewise.
35724 * boot/i386/pc/diskboot.S: Likewise.
35725 * boot/i386/pc/pxeboot.S: Likewise.
35726 * boot/i386/pc/boot.S: Likewise.
35727 * boot/i386/pc/lnxboot.S: Likewise.
35728 * boot/i386/pc/cdboot.S: Likewise.
35729 * parttool/pcpart.c: Likewise.
35730 * video/readers/tga.c: Likewise.
35731 * video/video.c: Likewise.
35732 * video/bitmap.c: Likewise.
35733 * lib/envblk.c: Likewise.
35734 * lib/i386/setjmp.S: Likewise.
35735 * fs/xfs.c: Likewise.
35736 * fs/afs.c: Likewise.
35737 * fs/fat.c: Likewise.
35738 * fs/ntfs.c: Likewise.
35739 * fs/udf.c: Likewise.
35740 * fs/affs.c: Likewise.
35741 * fs/iso9660.c: Likewise.
35742 * fs/hfs.c: Likewise.
35743 * fs/fshelp.c: Likewise.
35744 * fs/ext2.c: Likewise.
35745 * fs/jfs.c: Likewise.
35746 * fs/reiserfs.c: Likewise.
35747 * fs/hfsplus.c: Likewise.
35748 * fs/minix.c: Likewise.
35749 * fs/cpio.c: Likewise.
35750 * fs/sfs.c: Likewise.
35751 * fs/ufs.c: Likewise.
35752 * efiemu/prepare.c: Likewise.
35753 * efiemu/loadcore_common.c: Likewise.
35754 * efiemu/runtime/efiemu.sh: Likewise.
35755 * efiemu/runtime/efiemu.S: Likewise.
35756 * efiemu/runtime/efiemu.c: Likewise.
35757 * efiemu/pnvram.c: Likewise.
35758 * efiemu/main.c: Likewise.
35759 * efiemu/i386/pc/cfgtables.c: Likewise.
35760 * efiemu/i386/loadcore64.c: Likewise.
35761 * efiemu/i386/loadcore32.c: Likewise.
35762 * efiemu/loadcore.c: Likewise.
35763 * efiemu/symbols.c: Likewise.
35764 * efiemu/mm.c: Likewise.
35765 * include/grub/autoefi.h: Likewise.
35766 * include/grub/datetime.h: Likewise.
35767 * include/grub/term.h: Likewise.
35768 * include/grub/hfs.h: Likewise.
35769 * include/grub/lvm.h: Likewise.
35770 * include/grub/i386/tsc.h: Likewise.
35771 * include/grub/i386/linux.h: Likewise.
35772 * include/grub/i386/xnu.h: Likewise.
35773 * include/grub/i386/efiemu.h: Likewise.
35774 * include/grub/i386/pc/biosdisk.h: Likewise.
35775 * include/grub/i386/pc/memory.h: Likewise.
35776 * include/grub/i386/pc/vbe.h: Likewise.
35777 * include/grub/parttool.h: Likewise.
35778 * include/grub/video.h: Likewise.
35779 * include/grub/memory.h: Likewise.
35780 * include/grub/fs.h: Likewise.
35781 * include/grub/partition.h: Likewise.
35782 * include/grub/xnu.h: Likewise.
35783 * include/grub/efi/api.h: Likewise.
35784 * include/grub/efi/pe32.h: Likewise.
35785 * include/grub/efi/memory.h: Likewise.
35786 * include/grub/multiboot.h: Likewise.
35787 * include/grub/usbdesc.h: Likewise.
35788 * include/grub/multiboot2.h: Likewise.
35789 * include/grub/acpi.h: Likewise.
35790 * include/grub/efiemu/efiemu.h: Likewise.
35791 * include/grub/disk.h: Likewise.
35792 * include/grub/ieee1275/ieee1275.h: Likewise.
35793 * include/grub/net.h: Likewise.
35794 * include/grub/machoload.h: Likewise.
35795 * include/grub/macho.h: Likewise.
35796 * include/multiboot.h: Likewise.
35797 * genmoddep.awk: Likewise.
35798 * normal/main.c: Likewise.
35799 * normal/menu_entry.c: Likewise.
35800 * normal/menu_viewer.c: Likewise.
35801 * normal/completion.c: Likewise.
35802 * normal/cmdline.c: Likewise.
35803 * normal/misc.c: Likewise.
35804 * normal/datetime.c: Likewise.
35805 * bus/usb/usbtrans.c: Likewise.
35806 * bus/usb/ohci.c: Likewise.
35807 * bus/usb/uhci.c: Likewise.
35808 * bus/usb/usb.c: Likewise.
35809 * mmap/efi/mmap.c: Likewise.
35810 * mmap/i386/pc/mmap_helper.S: Likewise.
35811 * mmap/i386/pc/mmap.c: Likewise.
35812 * mmap/i386/mmap.c: Likewise.
35813 * mmap/i386/uppermem.c: Likewise.
35814 * mmap/mmap.c: Likewise.
35815 * commands/acpi.c: Likewise.
35816 * commands/echo.c: Likewise.
35817 * commands/blocklist.c: Likewise.
35818 * commands/loadenv.c: Likewise.
35819 * commands/usbtest.c: Likewise.
35820 * commands/boot.c: Likewise.
35821 * commands/parttool.c: Likewise.
35822 * commands/search.c: Likewise.
35823 * commands/cat.c: Likewise.
35824 * commands/i386/pc/play.c: Likewise.
35825 * commands/i386/pc/drivemap.c: Likewise.
35826 * commands/i386/pc/vbeinfo.c: Likewise.
35827 * commands/i386/pc/acpi.c: Likewise.
35828 * commands/i386/pc/vbetest.c: Likewise.
35829 * commands/ls.c: Likewise.
35830 * commands/cmp.c: Likewise.
35831 * commands/test.c: Likewise.
35832 * commands/efi/acpi.c: Likewise.
35833 * commands/gptsync.c: Likewise.
35834 * commands/help.c: Likewise.
35835 * partmap/amiga.c: Likewise.
35836 * partmap/apple.c: Likewise.
35837 * partmap/acorn.c: Likewise.
35838 * partmap/pc.c: Likewise.
35839 * partmap/sun.c: Likewise.
35840 * partmap/gpt.c: Likewise.
35841 * script/sh/lexer.c: Likewise.
35842 * script/sh/function.c: Likewise.
35843 * font/font.c: Likewise.
35844 * font/font_cmd.c: Likewise.
35845 * loader/powerpc/ieee1275/linux.c: Likewise.
35846 * loader/efi/chainloader.c: Likewise.
35847 * loader/multiboot_loader.c: Likewise.
35848 * loader/macho.c: Likewise.
35849 * loader/i386/multiboot.c: Likewise.
35850 * loader/i386/linux.c: Likewise.
35851 * loader/i386/pc/linux.c: Likewise.
35852 * loader/i386/pc/multiboot2.c: Likewise.
35853 * loader/i386/pc/chainloader.c: Likewise.
35854 * loader/i386/pc/xnu.c: Likewise.
35855 * loader/i386/bsd_trampoline.S: Likewise.
35856 * loader/i386/efi/linux.c: Likewise.
35857 * loader/i386/multiboot_elfxx.c: Likewise.
35858 * loader/i386/bsd_helper.S: Likewise.
35859 * loader/i386/bsd.c: Likewise.
35860 * loader/i386/linux_trampoline.S: Likewise.
35861 * loader/i386/xnu_helper.S: Likewise.
35862 * loader/i386/xnu.c: Likewise.
35863 * loader/i386/bsd_pagetable.c: Likewise.
35864 * loader/i386/multiboot_helper.S: Likewise.
35865 * loader/xnu.c: Likewise.
35866 * loader/xnu_resume.c: Likewise.
35867 * io/gzio.c: Likewise.
35868 * term/efi/console.c: Likewise.
35869 * term/terminfo.c: Likewise.
35870 * term/ieee1275/ofconsole.c: Likewise.
35871 * term/i386/pc/serial.c: Likewise.
35872 * term/i386/pc/vesafb.c: Likewise.
35873 * term/i386/pc/vga.c: Likewise.
35874 * term/usb_keyboard.c: Likewise.
35875 * term/gfxterm.c: Likewise.
35876 * aclocal.m4: Likewise.
35877 * util/lvm.c: Likewise.
35878 * util/grub.d/30_os-prober.in: Likewise.
35879 * util/grub.d/10_hurd.in: Likewise.
35880 * util/console.c: Likewise.
35881 * util/grub-macho2img.c: Likewise.
35882 * util/grub-probe.c: Likewise.
35883 * util/hostfs.c: Likewise.
35884 * util/i386/pc/grub-mkimage.c: Likewise.
35885 * util/i386/pc/grub-setup.c: Likewise.
35886 * util/i386/efi/grub-mkimage.c: Likewise.
35887 * util/grub-mkconfig.in: Likewise.
35888 * util/raid.c: Likewise.
35889 * util/resolve.c: Likewise.
35890 * util/grub-mkdevicemap.c: Likewise.
35891 * util/grub-emu.c: Likewise.
35892 * util/getroot.c: Likewise.
35893 * util/hostdisk.c: Likewise.
35894 * util/usb.c: Likewise.
35895 * util/grub-editenv.c: Likewise.
35896 * util/misc.c: Likewise.
35897
d2d49665 358982009-06-10 Felix Zielcke <fzielcke@z-51.de>
35899
35900 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35901 `genparttoollist.sh'.
35902 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35903 Add `*.sh' to the list find searches for and change `mdate.sh'
35904 to `mdate-sh'.
35905
fe052e37 359062009-06-10 Pavel Roskin <proski@gnu.org>
35907
2763ac18 35908 * include/grub/multiboot2.h: Provide compatibility defines for
35909 multiboot2.h.
35910 * include/multiboot2.h: Include stdint.h only if needed, using
35911 angle brackets.
35912 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35913 grub/multiboot2.h.
35914 * loader/ieee1275/multiboot2.c: Likewise.
35915 * loader/multiboot2.c: Likewise.
35916 * loader/multiboot_loader.c: Likewise.
35917
437e6adc 35918 * configure.ac: Use -nostdlib when probing for the target. It
35919 should not be required to have libc for the target.
35920
06a6836c 35921 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35922 they fail without libc headers for the target.
35923 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35924 exports.
35925 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35926 preprocessor conditionals.
35927
fe052e37 35928 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35929 build system doesn't need to be aware of the tar.c internals.
35930
afd22553 359312009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35932
afd22553 35933 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35934
6b787c4f 359352009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35936
35937 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35938 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35939
359402009-06-09 Felix Zielcke <fzielcke@z-51.de>
35941
35942 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35943 aren't available if ata.mod gets used.
6b787c4f 35944
473d1e45 359452009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35946
473d1e45 35947 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35948 initialising controller.
473d1e45 35949 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35950
255a27d4 359512009-06-08 Felix Zielcke <fzielcke@z-51.de>
35952
35953 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35954 to choose between ata and biosdisk module on i386-pc.
35955
473d1e45 359562009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35957
d55842d8 35958 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35959 Subclass and Programming Interface fields in terms of the 3 byte
35960 Class Code register.
35961 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35962
fa5db0b1 35963 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35964 interface is OHCI. Add grub_dprintf for symmetry with
35965 bus/usb/uhci.c.
35966 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35967 interface is UHCI. Add interf variable for programming
35968 interface. Print interface with class/subclass.
35969
c0947beb 35970 * bus/usb/ohci.c: Set interf with correct field.
35971
69da8877 35972 * bus/usb/uhci.c: Remove unneeded doubled lines.
35973 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35974 Remove whitespace inside comment.
35975
9e172e30 359762009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35977
35978 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35979 as fallback an equivalent option without depth.
35980
de65ee2b 359812009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35982
35983 Not fail if unable to retrieve C/H/S on LBA disks
35984
473d1e45 35985 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35986 if unable to retrieve C/H/S on LBA disks
35987
b57ea2c9 359882009-06-08 Pavel Roskin <proski@gnu.org>
35989
35990 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35991 about aliasing.
35992
af361263 359932009-06-08 Felix Zielcke <fzielcke@z-51.de>
35994
35995 * Makefile.in (uninstall): Remove all $lib_DATA files.
35996
4c9ec6b3 359972009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35998
35999 Bugfix: install on partitionless device
36000
36001 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36002 is a whole disk
36003
e76fc924 360042009-06-08 Felix Zielcke <fzielcke@z-51.de>
36005
36006 * Makefile.in (uninstall): Remove all $include_DATA files.
36007
ba5a0d05 360082009-06-08 Felix Zielcke <fzielcke@z-51.de>
36009
36010 * commands/true.c: New file. Implement the true and false commands.
36011 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36012 (true_mod_SOURCES): New variable.
36013 (true_mod_CFLAGS): Likewise.
36014 (true_mod_LDFLAGS): Likewise.
36015
c8048e32 360162009-06-05 Colin D Bennett <colin@gibibit.com>
36017
36018 Optimized font character lookup using binary search instead of linear
36019 search. Fonts now are required to have the character index ordered by
36020 code point.
36021
36022 * font/font.c (load_font_index): Verify that fonts have ordered
36023 character indices.
36024 (find_glyph): Use binary search instead of linear search to find a
36025 character in a font.
36026
408305be 360272009-06-05 Michael Scherer <misc@mandriva.org>
36028
36029 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36030 uses case sensitive btree.
36031 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36032 only for case insensitive filesystems.
36033
8ee1e0d9 360342009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36035
36036 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36037 * conf/common.rmk (search_mod_CFLAGS): likewise
36038
a9966eb1 360392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36040
473d1e45 36041 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36042 compensate a compiler bug
36043
9e7100fb 360442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36045
473d1e45 36046 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36047 instead of '\b'
473d1e45 36048
ede21d71 360492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36050
36051 Definitions for creating asm symbols with Apple's CC
36052
36053 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36054 [APPLE_CC] (VARIABLE): likewise
36055
9dbf7653 360562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36057
36058 Disable lnxboot.img when compiled
36059 with Apple's CC
36060
36061 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36062 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36063 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36064 [! APPLE_CC] (CODE_LENG): skip
36065 [! APPLE_CC] (setup_sects): likewise
36066 [! APPLE_CC]: skip filling
473d1e45 36067
e93cdc3d 360682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36069
36070 Address in trampolines based on 32-bit registers when compiled
36071 with Apple's CC
36072
473d1e45 36073 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36074 for addresses
36075 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36076
6c688477 360772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36078
36079 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36080
36081 * kern/misc.c [APPLE_CC] (memcpy): new function
36082 [APPLE_CC] (memmove): likewise
36083 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36084 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36085 (memset): likewise
36086 (abort): likewise
36087 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36088 APPLE_CC are defined
36089 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36090 (grub_assert_fail): make prototype conditional
36091
e37ffc5c 360922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36093
36094 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36095
473d1e45 36096 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36097 grub-macho2img
e37ffc5c 36098 (CLEANFILES): add grub-macho2img
36099 (grub_macho2img_SOURCES): new variable
36100 * kern/i386/pc/startup.S (bss_start): new variable
36101 (bss_end): likewise
36102 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36103 * util/grub-macho2img.c: new file
36104
cf00df31 361052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36106
36107 Use objconv when compiling with Apple's CC
36108
36109 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36110 (efiemu64.o): likewise
36111 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36112 when compiling with Apple's CC
36113 (efiemu64_s.o): likewise
36114 * configure.ac: check for objconv when compiling with Apple's CC
36115 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36116
d119a20c 361172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36118
36119 Define segment as well as section when compiling with
36120 Apple's CC
36121
36122 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36123 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36124 (efiemu_convert_pointer): likewise
36125 (efiemu_set_virtual_address_map): likewise
36126 (efiemu_convert_pointer): likewise
36127 (efiemu_getcrc32): likewise
36128 (init_crc32_table): likewise
36129 (reflect): likewise
36130 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36131 (GRUB_MOD_DEP): likewise
473d1e45 36132
c8600122 361332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36134
36135 Allow a compilation without -mcmodel=large
36136
36137 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36138 when compiled without -mcmodel=large
473d1e45 36139 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36140 without -mcmodel=large
473d1e45 36141 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36142 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36143
e8df1d4e 361442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36145
36146 Remove nested functions in efiemu core
36147
36148 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36149
cc6c3ac1 361502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36151
36152 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36153
36154 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36155 temporary storage
473d1e45 36156 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36157 using Apple's CC
cc6c3ac1 36158 (grub_cpu_is_tsc_supported): likewise
36159 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36160
3e325901 361612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36162
36163 Absolute addressing through constant with Apple's cc
36164
36165 * kern/i386/pc/startup.S: Define necessary constants
36166 and address through it when using ABS with Apple's CC
36167 * boot/i386/pc/diskboot.S: likewise
36168 * boot/i386/pc/boot.S: likewise
36169 * boot/i386/pc/lnxboot.S: likewise
36170 * boot/i386/pc/cdboot.S: likewise
36171 * mmap/i386/pc/mmap_helper.S: likewise
36172 * commands/i386/pc/drivemap_int13h.S: likewise
36173
2b167a72 361742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36175
36176 Check if compiler is apple cc
36177
36178 * Makefile.in (ASFLAGS): new variable
36179 (TARGET_ASFLAGS): likewise
36180 (TARGET_MODULE_FORMAT): likewise
36181 (TARGET_APPLE_CC): likewise
36182 (OBJCONV): likewise
36183 (TARGET_IMG_CFLAGS): likewise
36184 (TARGET_CPPFLAGS): add includedir
36185 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36186 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36187 Check for linker script only if compiler isn't Apple's CC
36188 (TARGET_MODULE_FORMAT): set
36189 (TARGET_APPLE_CC): likewise
36190 (TARGET_ASFLAGS): likewise
36191 (ASFLAGS): likewise
36192 Check for objcopy only if compiler isn't Apple's CC
36193 Check for BSS symbol only if compiler isn't Apple's CC
36194 * genmk.rb: adapt nm options if we use Apple's utils
36195 * aclocal.m4 (grub_apple_cc): new test
36196 (grub_apple_target_cc): likewise
473d1e45 36197
fb14123e 361982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36199
36200 Simplify sed expressions and improve awk
36201
36202 * Makefile.in (install-local): simplify sed expression
36203 * gencmdlist.sh: likewise
36204 * genmoddep.awk: avoid adding module as a dependency of itself
36205
5b889789 362062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36207
36208 Add missing start symbols
36209
36210 * boot/i386/pc/boot.S: add start
fb14123e 36211 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36212
fd2bf2e3 362132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36214
36215 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36216
36217 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36218 (relocate_addresses): consider both r_addend and value at offset
36219 (make_mods_section): zerofill modinfo and header
36220 (convert_elf): write prefix here
473d1e45 36221
5389763d 362222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36223
36224 Use .asciz instead of .string
36225
36226 * i386/pc/diskboot.S: use .asciz instead of .string
36227 * i386/pc/boot.S: likewise
36228 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36229 (GRUB_MOD_NAME): likewise
473d1e45 36230
3eb5ed4e 362312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36232
36233 gfxpayload support
36234
36235 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36236 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36237 (grub_video_setup): remove
36238 (grub_video_set_mode): new prototype
36239 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36240 (vid_mode): remove
36241 (linux_vesafb_res): compile only on PCBIOS
36242 (grub_linux_boot): support gfxpayload
36243 * loader/i386/pc/xnu.c (video_hook): new function
36244 (grub_xnu_set_video): support gfxpayload
36245 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36246 (DEFAULT_VIDEO_HEIGHT): likewise
36247 (DEFAULT_VIDEO_FLAGS): likewise
36248 (DEFAULT_VIDEO_MODE): new definition
36249 (video_hook): new function
36250 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36251 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36252 loading xnu
36253 * video/video.c (grub_video_setup): removed
473d1e45 36254 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36255 grub_video_setup
36256
4b0e1143 362572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36258
36259 Avoid calling biosdisk in drivemap
36260
36261 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36262 (revparse_biosdisk): likewise
36263 (list_mappings): derive name from id directly
36264 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36265
fda6cb98 362662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36267
36268 Script fixes
36269
36270 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36271 (grub_lexer_param): add tokenonhold
36272 (grub_script_create_cmdline): remove cmdline. All callers updated
36273 (grub_script_function_create): make functionname
36274 grub_script_arg. All callers updated
36275 (grub_script_execute_argument_to_string): new prototype
36276 * kern/parser.c (state_transitions): reorder
36277 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36278 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36279 make global
36280 (grub_script_execute_cmdline): use new format
36281 * script/sh/function.c (grub_script_function_create): make functionname
36282 grub_script_arg. All callers updated
473d1e45 36283 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36284 (grub_script_yylex): remove
36285 (grub_script_yylex2): renamed to ...
36286 (grub_script_yylex): ...renamed
36287 parse the expressions like a${b}c
36288 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36289 (GRUB_PARSER_TOKEN_VAR): remove
36290 (GRUB_PARSER_TOKEN_NAME): likewise
36291 ("if"): declare as typeless
36292 ("while"): likewise
36293 ("function"): likewise
36294 ("else"): likewise
36295 ("then"): likewise
36296 ("fi"): likewise
36297 (text): remove
36298 (argument): likewise
36299 (script): accept empty scripts and make exit on error
36300 (arguments): use GRUB_PARSER_TOKEN_ARG
36301 (function): likewise
36302 (command): move error handling to script
36303 (menuentry): move grub_script_lexer_ref before
473d1e45 36304 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36305 argument. All callers updated
36306
f4448a07 363072009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36308
36309 Prevent GRUB from probing floppies during boot.
36310
36311 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36312 * commands/search.c (options): Add --no-floppy.
36313 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36314 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36315 --no-floppy when searching for UUIDs.
36316
2bf5885a 363172009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36318
36319 Simplify the code duplication in commands/search.c.
36320
36321 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36322 (search_fs): ... this. Update all users.
36323
f6fd460a 363242009-06-03 Felix Zielcke <fzielcke@z-51.de>
36325
36326 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36327
cbb3c83e 363282009-05-28 Pavel Roskin <proski@gnu.org>
36329
57788cfd 36330 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36331 Remove the original symlink explicitly.
36332
cbb3c83e 36333 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36334 just one slash. That's how grub_fshelp_find_file() does it.
36335
cd0d5e30 363362009-05-26 Pavel Roskin <proski@gnu.org>
36337
f0f8bbe2 36338 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36339 to `str'.
36340
cd0d5e30 36341 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36342 possibly unused.
36343
8c2cab51 363442009-05-25 Christian Franke <franke@computer.org>
36345
36346 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36347 register.
36348 (grub_atapi_identify): Add wait after drive select.
36349 (grub_ata_identify): Do more strict status register check before
36350 calling grub_atapi_identify (). Suppress error message if status
36351 register is 0x00 after command failure. Add status register
36352 check after PIO read to avoid bogus identify due to stuck DRQ.
36353 Thanks to Pavel Roskin for testing.
36354 (grub_device_initialize): Remove unsafe status register check.
36355 Thanks to 'phcoder' for problem report and patch.
36356 Prevent sign extension in debug message.
36357
230c0ad6 363582009-05-23 Colin D Bennett <colin@gibibit.com>
36359
36360 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36361 definition file, and functions defined in `normal/menu.c' have had
36362 their prototypes moved to `include/grub/menu.h' for consistency.
36363
36364 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36365 from normal.h.
36366 (grub_menu_get_entry): Likewise.
36367 (grub_menu_get_timeout): Likewise.
36368 (grub_menu_set_timeout): Likewise.
36369 (grub_menu_execute_entry): Likewise.
36370 (grub_menu_execute_with_fallback): Likewise.
36371 (grub_menu_entry_run): Likewise.
36372
36373 * include/grub/normal.h: Re-ordered and grouped function
36374 prototypes by file that the function is defined in.
36375 (grub_menu_execute_callback): Removed; moved to menu.h.
36376 (grub_menu_get_entry): Likewise.
36377 (grub_menu_get_timeout): Likewise.
36378 (grub_menu_set_timeout): Likewise.
36379 (grub_menu_execute_entry): Likewise.
36380 (grub_menu_execute_with_fallback): Likewise.
36381 (grub_menu_entry_run): Likewise.
36382 (grub_menu_addentry): Renamed from this ...
36383 (grub_normal_add_menu_entry): ... to this.
36384
36385 * normal/main.c (grub_menu_addentry): Renamed from this ...
36386 (grub_normal_add_menu_entry): ... to this.
36387
36388 * script/sh/execute.c (grub_script_execute_menuentry): Update
36389 reference to renamed grub_menu_addentry function.
36390
861f03a5 363912009-05-23 Felix Zielcke <fzielcke@z-51.de>
36392
36393 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36394
96b1619a 363952009-05-22 Pavel Roskin <proski@gnu.org>
36396
bf6a5fb2 36397 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36398 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36399 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36400 compiling for the i386 targets, but not for the utilities.
36401
96b1619a 36402 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36403 to grub_uint8_t.
36404 (grub_root_drive): Likewise.
36405 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36406 remove alignment.
36407 (grub_root_drive): Change size to byte.
36408 (grub_start_addr): Remove.
36409 (grub_end_addr): Likewise.
36410 (grub_apm_bios_info): Likewise.
36411
b729776b 364122009-05-21 Felix Zielcke <fzielcke@z-51.de>
36413
36414 * normal/i386: Remove.
36415 * normal/powerpc: Likewise.
36416 * normal/sparc64: Likewise.
36417 * normal/x86_64: Likewise.
36418
0a15ce80 364192009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36420
36421 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36422 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36423 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36424
33db9015 364252009-05-18 Colin D Bennett <colin@gibibit.com>
36426
d6da58e6 36427 Display error messages when parsing a Lua statement fails.
36428 Previously, executing a syntactically invalid statement like
36429 ")foo" or "bar;" would silently fail.
33db9015 36430
36431 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36432 (grub_lua_parse_line): Improved reporting of Lua parser and
36433 execution errors.
33db9015 36434
46422c89 364352009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36436
36437 Remove -Werror which causes build to fail on some systems
36438
36439 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36440 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36441 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36442
22f53a96 364432009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36444
36445 trampoline for linux on 64-bit platform
36446
18f547ad 36447 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36448 loader/i386/efi/linux_trampoline.S
36449 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36450 declaration
d6da58e6 36451 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36452 here
22f53a96 36453 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36454 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36455 trampoline
22f53a96 36456 (jumpvector): removed
36457 (grub_linux_trampoline_start): new declaration
36458 (grub_linux_trampoline_end): likewise
36459 (grub_linux_boot): use trampoline when on 64-bit platform
36460 * loader/i386/linux.c: likewise
36461
cb5a0f40 364622009-05-16 Pavel Roskin <proski@gnu.org>
36463
36464 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36465 const to avoid a warning.
36466 (grub_lua_setenv): Likewise.
36467 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36468 lmsg to fix a warning.
36469
334f2c28 364702009-05-16 Felix Zielcke <fzielcke@z-51.de>
36471
36472 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36473 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36474 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36475 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36476 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36477 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36478 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36479 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36480
59e5d3ec 364812009-05-16 Felix Zielcke <fzielcke@z-51.de>
36482
36483 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36484
9d87a1ba 364852009-05-16 Bean <bean123ch@gmail.com>
36486
36487 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36488 (lua_mod_SOURCES): New variable.
36489 (lua_mod_CFLAGS): Likewise.
36490 (lua_mod_LDFLAGS): Likewise.
36491
36492 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36493 (setjmp_mod_SOURCES): New variable.
36494 (setjmp_mod_CFLAGS): Likewise.
36495 (setjmp_LDFLAGS): Likewise.
36496
36497 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36498 (setjmp_mod_SOURCES): New variable.
36499 (setjmp_mod_CFLAGS): Likewise.
36500 (setjmp_LDFLAGS): Likewise.
36501
36502 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36503 (setjmp_mod_SOURCES): New variable.
36504 (setjmp_mod_CFLAGS): Likewise.
36505 (setjmp_LDFLAGS): Likewise.
36506
36507 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36508 (setjmp_mod_SOURCES): New variable.
36509 (setjmp_mod_CFLAGS): Likewise.
36510 (setjmp_LDFLAGS): Likewise.
36511
36512 * normal/i386/setjmp.S: Moved from here ...
36513 * lib/i386/setjmp.S: ... Moved here
36514 * normal/x86_64/setjmp.S: Moved from here ...
36515 * lib/x86_64/setjmp.S: ... Moved here
36516 * normal/powerpc/setjmp.S: Moved from here ...
36517 * lib/powerpc/setjmp.S: ... Moved here
36518 * normal/sparc64/setjmp.S: Moved from here ...
36519 * lib/sparc64/setjmp.S: ... Moved here
36520
36521 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36522 returns_twice in mingw.
36523
36524 * script/lua/grub_lib.c: New file.
36525 * script/lua/grub_lib.h: Likewise.
36526 * script/lua/grub_lua.h: Likewise.
36527 * script/lua/grub_main.c: Likewise.
36528 * script/lua/lapi.c: Likewise.
36529 * script/lua/lapi.h: Likewise.
36530 * script/lua/lauxlib.c: Likewise.
36531 * script/lua/lauxlib.h: Likewise.
36532 * script/lua/lbaselib.c: Likewise.
36533 * script/lua/lcode.c: Likewise.
36534 * script/lua/lcode.h: Likewise.
36535 * script/lua/ldblib.c: Likewise.
36536 * script/lua/ldebug.c: Likewise.
36537 * script/lua/ldebug.h: Likewise.
36538 * script/lua/ldo.c: Likewise.
36539 * script/lua/ldo.h: Likewise.
36540 * script/lua/ldump.c: Likewise.
36541 * script/lua/lfunc.c: Likewise.
36542 * script/lua/lfunc.h: Likewise.
36543 * script/lua/lgc.c: Likewise.
36544 * script/lua/lgc.h: Likewise.
36545 * script/lua/linit.c: Likewise.
36546 * script/lua/liolib.c: Likewise.
36547 * script/lua/llex.c: Likewise.
36548 * script/lua/llex.h: Likewise.
36549 * script/lua/llimits.h: Likewise.
36550 * script/lua/lmathlib.c: Likewise.
36551 * script/lua/lmem.c: Likewise.
36552 * script/lua/lmem.h: Likewise.
36553 * script/lua/loadlib.c: Likewise.
36554 * script/lua/lobject.c: Likewise.
36555 * script/lua/lobject.h: Likewise.
36556 * script/lua/lopcodes.c: Likewise.
36557 * script/lua/lopcodes.h: Likewise.
36558 * script/lua/loslib.c: Likewise.
36559 * script/lua/lparser.c: Likewise.
36560 * script/lua/lparser.h: Likewise.
36561 * script/lua/lstate.c: Likewise.
36562 * script/lua/lstate.h: Likewise.
36563 * script/lua/lstring.c: Likewise.
36564 * script/lua/lstring.h: Likewise.
36565 * script/lua/lstrlib.c: Likewise.
36566 * script/lua/ltable.c: Likewise.
36567 * script/lua/ltable.h: Likewise.
36568 * script/lua/ltablib.c: Likewise.
36569 * script/lua/ltm.c: Likewise.
36570 * script/lua/ltm.h: Likewise.
36571 * script/lua/lua.h: Likewise.
36572 * script/lua/luaconf.h: Likewise.
36573 * script/lua/lualib.h: Likewise.
36574 * script/lua/lundump.c: Likewise.
36575 * script/lua/lundump.h: Likewise.
36576 * script/lua/lvm.c: Likewise.
36577 * script/lua/lvm.h: Likewise.
36578 * script/lua/lzio.c: Likewise.
36579 * script/lua/lzio.h: Likewise.
36580
5e898c9d 365812009-05-16 Bean <bean123ch@gmail.com>
36582
36583 * include/grub/kernel.h (grub_module_header_types): Add type
36584 OBJ_TYPE_CONFIG.
36585
36586 * kern/main.c (grub_load_config): New function.
36587 (grub_main): Call grub_load_config to read boot config.
36588
36589 * grub-mkimage (generate_image): New parameter config_path.
36590 (options): New option --config.
36591 (main): Parse --config option, and pass it to generate_image.
36592
cf353a47 365932009-05-14 Christian Franke <franke@computer.org>
36594
36595 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36596 This fixes build on Cygwin.
36597
3834887f 365982009-05-14 Pavel Roskin <proski@gnu.org>
36599
36600 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36601 jump. This saves two bytes, so the typical case of 2 swapped
36602 drives would fit 32 bytes.
36603
8090fc01 366042009-05-13 Pavel Roskin <proski@gnu.org>
36605
ac963883 36606 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36607 grub_uint32_t to avoid a warning.
36608
8090fc01 36609 * loader/i386/linux.c (allocate_pages): When assigning
36610 real_mode_mem, cast through grub_size_t to fix a warning. The
36611 code already makes sure that the value would fit a pointer.
36612 (grub_linux_setup_video): Cast render_target->data to
36613 grub_size_t to fix a warning.
36614
18f547ad 366152009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36616
36617 * commands/i386/pc/drivemap.c: New file - implement drivemap
36618 command.
36619 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36620 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36621
6f6a8b28 366222009-05-13 Pavel Roskin <proski@gnu.org>
36623
36624 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36625 embedding_area_exists.
36626
15fbf4c4 366272009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36628
36629 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36630 it easier to understand / work with.
59978c8a 36631 Improve warning messages for cases where there's no embedding area,
36632 or when it is too small (or core.img too large).
15fbf4c4 36633
238e871f 366342009-05-13 Pavel Roskin <proski@gnu.org>
36635
0ab3a9a4 36636 * loader/i386/pc/multiboot2.c: Add necessary includes for
36637 grub_multiboot2_real_boot().
36638
a2c8c5f8 36639 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36640 PX record is always little-endian. We only need the lower 2
36641 bytes of the mode.
36642
faec96af 36643 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36644 facilitate code reuse.
36645 (grub_cpio_mount): Use "struct head", not a char buffer. This
36646 fixes a warning reported by gcc 4.4.
36647
238e871f 36648 * kernel/disk.c (grub_disk_read): Use void pointer for the
36649 buffer.
36650 (grub_disk_write): Use const void pointer for the buffer.
36651 Adjust all callers. Remove unnecessary casts.
36652
901d2f0c 366532009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36654
36655 * util/i386/pc/grub-install.in: Update copyright year.
36656
18f547ad 366572009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36658
36659 gptsync
36660
36661 * commands/gptsync.c: new file
36662 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36663 (gptsync_mod_SOURCES): new variable
36664 (gptsync_mod_CFLAGS): likewise
36665 (gptsync_mod_LDFLAGS): likewise
18f547ad 36666 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36667 new definition
36668 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36669 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36670 * conf/i386-ieee1275.rmk: likewise
36671 * conf/i386-pc.rmk: likewise
36672 * conf/powerpc-ieee1275.rmk: likewise
36673
b4ba690a 366742009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36675
36676 Fixed grub-emu
36677
36678 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36679 (grub_dl_ref): likewise
36680
317e1a44 366812009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36682
36683 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36684 split in two functions (one for msdos and one for gpt).
36685
041b8094 366862009-05-08 Pavel Roskin <proski@gnu.org>
36687
752473c2 36688 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36689 not modified.
36690
041b8094 36691 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36692 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36693 Initialize them with -1. Add sanity check for bad1. Eliminate
36694 nerr variable.
36695
172800ce 366962009-05-08 David S. Miller <davem@davemloft.net>
36697
36698 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36699
29aa5e81 367002009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36701
36702 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36703 existence.
29aa5e81 36704
96613b62 367052009-05-05 Felix Zielcke <fzielcke@z-51.de>
36706
36707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36708 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36709
eef73c8a 367102009-05-05 David S. Miller <davem@davemloft.net>
36711
36712 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36713
119494b5 367142009-05-05 Pavel Roskin <proski@gnu.org>
36715
36716 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36717 of grub_dl_ref() and grub_dl_unref().
36718 * commands/parttool.c: Remove preprocessor conditionals around
36719 grub_dl_ref() and grub_dl_unref().
36720 * fs/affs.c: Likewise.
36721 * fs/afs.c: Likewise.
36722 * fs/cpio.c: Likewise.
36723 * fs/ext2.c: Likewise.
36724 * fs/fat.c: Likewise.
36725 * fs/hfs.c: Likewise.
36726 * fs/hfsplus.c: Likewise.
36727 * fs/iso9660.c: Likewise.
36728 * fs/jfs.c: Likewise.
36729 * fs/minix.c: Likewise.
36730 * fs/ntfs.c: Likewise.
36731 * fs/reiserfs.c: Likewise.
36732 * fs/sfs.c: Likewise.
36733 * fs/udf.c: Likewise.
36734 * fs/ufs.c: Likewise.
36735 * fs/xfs.c: Likewise.
36736 * include/grub/dl.h: Likewise.
36737 * loader/xnu.c: Likewise.
36738
de5fd76e 367392009-05-04 Pavel Roskin <proski@gnu.org>
36740
36741 * commands/acpi.c: Remove unused variable my_mod.
36742 * partmap/amiga.c: Likewise.
36743 * partmap/apple.c: Likewise.
36744 * partmap/gpt.c: Likewise.
36745 * partmap/pc.c: Likewise.
36746 * partmap/sun.c: Likewise.
36747 * term/gfxterm.c: Likewise.
36748 * term/i386/pc/vesafb.c: Likewise.
36749 * term/i386/pc/vga.c: Likewise.
36750
983598ad 367512009-05-04 David S. Miller <davem@davemloft.net>
36752
36753 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36754 pointer args to grub_ieee1275_get_property().
36755
8aadec43 36756 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36757
9554b15e 36758 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36759 devices, and do not traverse down under controller nodes.
36760
67e23c90 36761 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36762 (grub_ofdisk_open): Use it to un-escape "," characters.
36763 * kern/disk.c (find_part_sep): New.
36764 (grub_disk_open): Use it to find the first non-escaped ','
36765 character in the disk name.
36766 * util/ieee1275/devicemap.c (escape_of_path): New.
36767 (grub_util_emit_devicemap_entry): Use it.
36768 * util/sparc64/ieee1275/grub-install.in: Update script to
36769 strip partition specifiers properly by not triggering on
36770 '\' escaped ',' characters.
36771
74bfdd2f 367722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36773
36774 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36775 to 0x300.
36776 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36777 resolutions.
36778 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36779 on documentation from Wikipedia).
36780
4241d2b1 367812009-05-04 Pavel Roskin <proski@gnu.org>
36782
36783 * disk/ata.c: Spelling fixes.
36784 * disk/raid.c: Likewise.
36785 * disk/usbms.c: Likewise.
36786 * disk/dmraid_nvidia.c: Likewise.
36787 * kern/ieee1275/openfw.c: Likewise.
36788 * kern/ieee1275/init.c: Likewise.
36789 * kern/ieee1275/cmain.c: Likewise.
36790 * boot/i386/pc/cdboot.S: Likewise.
36791 * video/readers/png.c: Likewise.
36792 * video/i386/pc/vbe.c: Likewise.
36793 * fs/udf.c: Likewise.
36794 * fs/hfs.c: Likewise.
36795 * fs/reiserfs.c: Likewise.
36796 * efiemu/runtime/efiemu.c: Likewise.
36797 * efiemu/main.c: Likewise.
36798 * efiemu/mm.c: Likewise.
36799 * include/grub/elf.h: Likewise.
36800 * include/grub/xnu.h: Likewise.
36801 * include/grub/usbdesc.h: Likewise.
36802 * include/grub/usb.h: Likewise.
36803 * include/grub/script_sh.h: Likewise.
36804 * include/grub/lib/LzmaEnc.h: Likewise.
36805 * include/grub/efiemu/efiemu.h: Likewise.
36806 * include/grub/command.h: Likewise.
36807 * normal/menu.c: Likewise.
36808 * normal/main.c: Likewise.
36809 * normal/datetime.c: Likewise.
36810 * bus/usb/uhci.c: Likewise.
36811 * mmap/i386/uppermem.c: Likewise.
36812 * mmap/mmap.c: Likewise.
36813 * commands/acpi.c: Likewise.
36814 * commands/test.c: Likewise.
36815 * partmap/apple.c: Likewise.
36816 * font/font.c: Likewise.
36817 * loader/sparc64/ieee1275/linux.c: Likewise.
36818 * loader/macho.c: Likewise.
36819 * loader/i386/bsd_trampoline.S: Likewise.
36820 * loader/i386/bsd.c: Likewise.
36821 * loader/xnu.c: Likewise.
36822 * term/i386/pc/vesafb.c: Likewise.
36823 * term/usb_keyboard.c: Likewise.
36824 * util/resolve.c: Likewise.
36825 * util/getroot.c: Likewise.
36826
0cfc0083 368272009-05-04 Felix Zielcke <fzielcke@z-51.de>
36828
36829 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36830
7c1d00cd 368312009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36832
36833 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36834 build error.
36835
b01f0548 368362009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36837
36838 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36839 parameter only available on BIOS.
36840
ecc3eb22 368412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36842
36843 Removed wrong semicolon in declaration
36844
36845 * grub/misc.h (grub_dprintf): remove semicolon
36846
112972a9 368472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36848
36849 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36850 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36851 is done by grub_cmd_linux() now).
36852 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36853 restore video to text mode.
36854 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36855 indicates lack of "vga=" parameter. "vga=0" is mapped to
36856 `GRUB_LINUX_VID_MODE_NORMAL'.
36857
afd5c115 368582009-05-04 Felix Zielcke <fzielcke@z-51.de>
36859
36860 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36861 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36862 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36863 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36864 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36865 `grub_script.tab.c'.
36866
36867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36868 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36871 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36872
faa517ce 36873 * Makefile.in: Remove duplicated 2008 in Copyright line.
36874
ae0c0bdc 368752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36876
473d1e45 36877 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36878 unconditionally.
36879 * include/grub/util/misc.h (grub_util_warn): New declaration.
36880
36881 * util/i386/pc/grub-install.in: Understand --force and pass it down
36882 to grub-setup.
36883
36884 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36885 down to setup().
36886 (setup): Improve error messages and add warnings when requested to
36887 install in odd layouts. Refuse to install using blocklists unless
36888 --force was set.
36889
18f547ad 368902009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36891
36892 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36893
6d260daa 368942009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36895
36896 Updated copyright year
36897
36898 * fs/hfsplus.c: updated copyright year
18f547ad 36899
69f853f8 369002009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36901
36902 HFS+ UUID
36903
18f547ad 36904 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36905 in the space previously used by unused3
36906 (grub_hfsplus_uuid): new function
36907 (grub_hfsplus_fs): added uuid field
36908
4c402e73 369092009-05-03 Pavel Roskin <proski@gnu.org>
36910
36911 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36912 suppress warnings. It's no longer needed.
36913 * disk/host.c: Likewise.
36914 * disk/ata_pthru.c: Likewise.
36915 * disk/loopback.c: Likewise.
36916 * hook/datehook.c: Likewise.
36917 * parttool/pcpart.c: Likewise.
36918 * fs/i386/pc/pxe.c: Likewise.
36919 * fs/ntfscomp.c: Likewise.
36920 * efiemu/main.c: Likewise.
36921 * mmap/mmap.c: Likewise.
36922 * commands/crc.c: Likewise.
36923 * commands/hexdump.c: Likewise.
36924 * commands/hdparm.c: Likewise.
36925 * commands/acpi.c: Likewise.
36926 * commands/echo.c: Likewise.
36927 * commands/minicmd.c: Likewise.
36928 * commands/blocklist.c: Likewise.
36929 * commands/memrw.c: Likewise.
36930 * commands/loadenv.c: Likewise.
36931 * commands/usbtest.c: Likewise.
36932 * commands/lsmmap.c: Likewise.
36933 * commands/boot.c: Likewise.
36934 * commands/parttool.c: Likewise.
36935 * commands/configfile.c: Likewise.
36936 * commands/search.c: Likewise.
36937 * commands/ieee1275/suspend.c: Likewise.
36938 * commands/cat.c: Likewise.
36939 * commands/i386/pc/pxecmd.c: Likewise.
36940 * commands/i386/pc/play.c: Likewise.
36941 * commands/i386/pc/halt.c: Likewise.
36942 * commands/i386/pc/vbeinfo.c: Likewise.
36943 * commands/i386/pc/vbetest.c: Likewise.
36944 * commands/lspci.c: Likewise.
36945 * commands/date.c: Likewise.
36946 * commands/handler.c: Likewise.
36947 * commands/ls.c: Likewise.
36948 * commands/test.c: Likewise.
36949 * commands/cmp.c: Likewise.
36950 * commands/efi/loadbios.c: Likewise.
36951 * commands/efi/fixvideo.c: Likewise.
36952 * commands/halt.c: Likewise.
36953 * commands/help.c: Likewise.
36954 * commands/reboot.c: Likewise.
36955 * hello/hello.c: Likewise.
36956 * script/sh/main.c: Likewise.
36957 * loader/xnu.c: Likewise.
36958 * term/terminfo.c: Likewise.
36959 * term/i386/pc/serial.c: Likewise.
36960 * term/usb_keyboard.c: Likewise.
36961
515b5079 369622009-05-03 David S. Miller <davem@davemloft.net>
36963
36964 * normal/menu.c: Include grub/parser.h
36965
dfc31a22 369662009-05-03 Pavel Roskin <proski@gnu.org>
36967
2fee74f1 36968 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36969 not char*.
36970 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36971 Suggested by Javier Martín <lordhabbit@gmail.com>
36972
dfc31a22 36973 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36974 efiemu??.o doesn't exist.
36975 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36976 copying.
36977
18f547ad 369782009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36979
36980 FreeBSD 64-bit support
36981
18f547ad 36982 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36983 and loader/i386/bsd_trampoline.S
36984 (bsd_mod_ASFLAGS): new variable
36985 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36986 (FREEBSD_MODTYPE_KERNEL64): likewise
36987 (grub_bsd64_trampoline_start): likewise
36988 (grub_bsd64_trampoline_end): likewise
36989 (grub_bsd64_trampoline_selfjump): likewise
36990 (grub_bsd64_trampoline_gdt): likewise
36991 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36992 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36993 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36994 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36995 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36996 of "attrib" member
36997 * loader/i386/bsd_pagetable.c: new file
36998 * loader/i386/bsd_trampoline.S: likewise
36999 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37000 (ALIGN_VAR): likewise
37001 (entry_hi): new variable
37002 (kern_end_mdofs): likewise
37003 (is_64bit): likewise
37004 (grub_freebsd_add_meta): use ALIGN_VAR
37005 (grub_e820_mmap): new declaration
37006 (grub_freebsd_add_mmap): new function
37007 (grub_freebsd_add_meta_module): support 64 bit kernels
37008 (grub_freebsd_list_modules): use ALIGN_VAR
37009 (gdt_descriptor): new declaration
37010 (grub_freebsd_boot): support 64 bit kernels
37011 (grub_bsd_elf64_hook): new function
37012 (grub_bsd_load_elf): support elf64
37013
038c5720 370142009-05-03 Bean <bean123ch@gmail.com>
37015
37016 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37017 after we get the result of if statement.
37018
fc45fb58 370192009-05-03 Bean <bean123ch@gmail.com>
37020
37021 * Makefile.in (enable_efiemu): New variable.
37022
37023 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37024 set.
37025 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37026 path.
37027 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37028 path, add -mno-red-zone option.
37029 (efiemu64_s.o): Likewise.
37030 (efiemu64.o): Use macro $^ for source file.
37031
37032 * configure.ac (--enable-efiemu): New option.
37033
bbee0f2b 370342009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37035
37036 xnu support
37037
37038 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37039 (pkglib_MODULES): add xnu.mod
37040 (xnu_mod_SOURCES): new variable
37041 (xnu_mod_CFLAGS): likewise
37042 (xnu_mod_LDFLAGS): likewise
37043 (xnu_mod_ASFLAGS): likewise
37044 * conf/i386-pc.rmk: likewise
37045 * conf/x86_64-efi.rmk: likewise
7dd4a573 37046 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37047 new declaration
37048 * include/grub/i386/macho.h: new file
37049 * include/grub/i386/xnu.h: likewise
37050 * include/grub/macho.h: likewise
37051 * include/grub/machoload.h: likewise
37052 * include/grub/x86_64/macho.h: likewise
37053 * include/grub/x86_64/xnu.h: likewise
37054 * include/grub/xnu.h: likewise
37055 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37056 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37057 * loader/i386/efi/xnu.c: new file
37058 * loader/i386/pc/xnu.c: likewise
37059 * loader/i386/xnu.c: likewise
37060 * loader/i386/xnu_helper.S: likewise
37061 * loader/macho.c: likewise
37062 * loader/xnu.c: likewise
37063 * loader/xnu_resume.c: likewise
37064 * util/grub-dumpdevtree: likewise
37065 * include/grub/i386/pit.h: include grub/err.h
37066 (grub_pit_wait): export
37067 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37068
5caf964d 370692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37070
37071 Efiemu
7dd4a573 37072
5caf964d 37073 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37074 _linux_efi, linux_efi.
37075 new files in grub-emu
5caf964d 37076 new targets efiemu32.o and efiemu64.o
37077 * loader/linux_normal_efiemu.c: likewise
37078 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37079 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37080 files to copy
37081 * include/grub/autoefi.h: new file
7dd4a573 37082 * include/grub/i386/efiemu.h: likewise
5caf964d 37083 * include/grub/i386/pc/efiemu.h: likewise
37084 * include/grub/efi/api.h: add LL suffix when necessary
37085 new definitions relating to tables
37086 * include/grub/efiemu/efiemu.h: new file
37087 * include/grub/efiemu/runtime.h: likewise
37088 * efiemu/prepare.c: likewise
37089 * efiemu/loadcore_common.c: likewise
37090 * efiemu/loadcore64.c: likewise
37091 * efiemu/runtime/efiemu.sh: likewise
37092 * efiemu/runtime/efiemu.S: likewise
37093 * efiemu/runtime/efiemu.c: likewise
37094 * efiemu/runtime/config.h: likewise
37095 * efiemu/prepare32.c: likewise
37096 * efiemu/main.c: likewise
37097 * efiemu/modules/pnvram.c: likewise
37098 * efiemu/modules/i386: likewise
37099 * efiemu/modules/i386/pc: likewise
37100 * efiemu/modules/acpi.c: likewise
37101 * efiemu/i386/pc/cfgtables.c: likewise
37102 * efiemu/i386/loadcore64.c: likewise
37103 * efiemu/i386/loadcore32.c: likewise
37104 * efiemu/prepare64.c: likewise
37105 * efiemu/loadcore.c: likewise
37106 * efiemu/symbols.c: likewise
37107 * efiemu/mm.c: likewise
37108 * efiemu/loadcore32.c: likewise
7dd4a573 37109
371102009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37111
37112 ACPI spoofing
37113
37114 * commands/acpi.c: new file
37115 * commands/i386/pc/acpi.c: likewise
37116 * commands/efi/acpi.c: likewise
37117 * include/grub/acpi.h: likewise
37118 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37119 (acpi_mod_SOURCES): new variable
37120 (acpi_mod_CFLAGS): likewise
37121 (acpi_mod_LDFLAGS): likewise
37122 * conf/i386-efi.rmk: likewise
37123 * conf/x86_64-efi.rmk: likewise
37124
7dd4a573 371252009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37126
37127 Missing part from mmap patch
37128
37129 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37130 (grub_mmap_unregister)
37131 (grub_mmap_free_and_unregister): use grub_mmap_register
37132
7dd4a573 371332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37134
37135 Mmap services
37136
37137 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37138 * loader/i386/linux.c (find_mmap_size): likewise
37139 (allocate_pages): likewise
37140 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37141 (grub_fill_multiboot_mmap): likewise
37142 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37143 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37144 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37145 (OPENBSD_MMAP_RESERVED): likewise
37146 * include/grub/i386/pc/memory.h: include grub/memory.h
37147 (grub_lower_mem): removed
37148 (grub_upper_mem): likewise
37149 (GRUB_MACHINE_MEMORY_ACPI): new definition
37150 (GRUB_MACHINE_MEMORY_NVS): likewise
37151 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37152 (GRUB_MACHINE_MEMORY_HOLE): likewise
37153 (grub_machine_mmap_register): likewise
37154 (grub_machine_mmap_unregister): likewise
37155 (grub_machine_get_upper): likewise
37156 (grub_machine_get_lower): likewise
37157 (grub_machine_get_post64): likewise
37158 * include/grub/i386/efi/memory.h: new file
37159 * include/grub/x86_64/efi/memory.h: likewise
37160 * include/grub/efi/memory.h: likewise
37161 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37162 (mmap_mod_SOURCES): new variable
37163 (mmap_mod_LDFLAGS): likewise
37164 (mmap_mod_ASFLAGS): likewise
37165 * conf/i386-coreboot.rmk: likewise
37166 * conf/i386-ieee1275.rmk: likewise
37167 * conf/i386-efi.rmk: likewise
37168 * conf/x86_64-efi.rmk: likewise
37169 * include/grub/types.h (UINT_TO_PTR): new macro
37170 (PTR_TO_UINT32): likewise
37171 (PTR_TO_UINT64): likewise
37172 * include/grub/memory.h: new file
37173 * mmap/i386/pc/mmap.c: likewise
37174 * mmap/i386/pc/mmap_helper.S: likewise
37175 * mmap/i386/uppermem.c: likewise
37176 * mmap/mmap.c: likewise
37177 * mmap/efi/mmap.c: likewise
7dd4a573 37178 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37179 grub_upper_mem
37180 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37181 (grub_upper_mem): likewise
37182 (grub_machine_init): don't use grub_upper_mem,
37183 make grub_lower_mem local
37184 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37185 grub_mmap_iterate and grub_mmap_get_upper
37186 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37187
d558e6b5 371882009-05-02 Bean <bean123ch@gmail.com>
37189
37190 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37191 script/sh/parser.y.
37192 (pkglib_MODULES): Add normal.mod and sh.mod.
37193 (normal_SOURCES): New variable.
37194 (normal_mod_CFLAGS): Likewise.
37195 (normal_mod_LDFLAGS): Likewise.
37196 (sh_mod_SOURCES): Likewise.
37197 (sh_mod_CFLAGS): Likewise.
37198 (sh_mod_LDFLAGS): Likewise.
37199
37200 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37201 script/sh/lexer.c_DEPENDENCIES.
37202 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37203 kern/rescue_reader.c and kern/rescue_parser.c.
37204 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37205 (grub_emu_SOURCES): Change source files.
37206 (pkglib_MODULES): Remove normal.mod.
37207 (normal_SOURCES): Removed.
37208 (normal_mod_CFLAGS): Likewise.
37209 (normal_mod_LDFLAGS): Likewise.
37210 * conf/i386-coreboot.rmk: Likewise.
37211 * conf/i386-efi.rmk: Likewise.
37212 * conf/i386-ieee1276.rmk: Likewise.
37213 * conf/powerpc-ieee1275.rmk: Likewise.
37214 * conf/sparc64-ieee1275.rmk: Likewise.
37215 * conf/x86_64-efi.rmk: Likewise.
37216
37217 * include/grub/command.h (grub_command_execute): New inline function.
37218
37219 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37220
37221 * include/grub/normal.h: Remove <grub/setjmp.h>.
37222 (grub_fs_module_list): Moved to normal/autofs.c.
37223 (grub_exit_env): Removed.
37224 (grub_command_execute): Likewise.
37225 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37226 parameter script.
37227 (read_command_list): New function declaration.
37228 (read_fs_list): Likewise.
37229
37230 * include/parser.h: Include <grub/reader.h>.
37231 (grub_parser_split_cmdline): Change type of getline parameter.
37232 (grub_parser): New structure.
37233 (grub_parser_class): New variable.
37234 (grub_parser_execute): New function declaration.
37235 (grub_register_rescue_parser): Likewise.
37236 (grub_parser_register): New inline function.
37237 (grub_parser_unregister): Likewise.
37238 (grub_parser_get_current): Likewise.
37239 (grub_parser_set_current): Likewise.
37240
37241 * include/grub/reader.h: New file.
37242 * kern/reader.c: Likewise.
37243 * kern/rescue_parser.c: Likewise.
37244 * kern/rescue_reader.c: Likewise.
37245 * normal/autofs.c: Likewise.
37246 * normal/dyncmd.c: Likewise.
37247
37248 * include/grub/rescue.h: Removed.
37249 * normal/command.h: Likewise.
37250
37251 * include/grub/script.h: Moved to ...
37252 * include/grub/script_sh.h: ... Moved here.
37253 * normal/execute.c: Moved to ...
37254 * script/sh/execute.c: ... Moved here.
37255 * normal/function.c: Moved to ...
37256 * script/sh/function.c: ... Moved here.
37257 * normal/lexer.c: Moved to ...
37258 * script/sh/lexer.c: ... Moved here.
37259 * normal/parser.y: Moved to ...
37260 * script/sh/parser.y: ... Moved here.
37261 * normal/script.c: Moved to ...
37262 * script/sh/script.c: ... Moved here.
37263
37264 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37265 <grub/reader.h>.
37266 (grub_exit_env): Removed.
37267 (fs_module_list): Moved to normal/autofs.c.
37268 (grub_file_getline): Don't handle comment here.
37269 (free_menu): Skip removed field entry->commands.
37270 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37271 script parameter.
37272 (read_config_file): Removed nested parameter, change getline function.
37273 (grub_enter_normal_mode): Removed.
37274 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37275 (read_command_list): Likewise.
37276 (autoload_fs_module): Moved to normal/autofs.c.
37277 (read_fs_list): Likewise.
37278 (reader_nested): New variable.
37279 (grub_normal_execute): Run parser.sh to switch to sh parser.
37280 (grub_cmd_rescue): Removed.
37281 (cmd_normal): Removed.
37282 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37283 rescue command.
37284 (grub_cmdline_run): New function.
37285 (grub_normal_reader_init): Likewise.
37286 (grub_normal_read_line): Likewise.
37287 (grub_env_write_pager): Likewise.
37288 (cmdline): New variable.
37289 (grub_normal_reader): Likewise.
37290 (GRUB_MOD_INIT): Register normal reader and set as current, register
37291 pager hook, register normal command with grub_register_command_prio,
37292 so that it won't show up in command.lst.
37293 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37294 grub_fs_autoload_hook.
37295
37296 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37297 (grub_menu_execute_entry): Replace grub_script_execute with
37298 grub_parser_execute, change parameter to grub_command_execute.
37299
37300 * normal/menu_text.c: Remove <grub/script.h>.
37301
37302 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37303 and <grub/parser.h>.
37304 (run): Change editor_getline to use new parser interface. Change
37305 parameter to grub_command_execute.
37306
37307 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37308 <grub/reader.h> and <grub/parser.h>.
37309 (grub_load_normal_mode): Execute normal command.
37310 (grub_main): Call grub_register_core_commands,
37311 grub_register_rescue_parser and grub_register_rescue_reader, use
37312 grub_reader_loop to enter input loop.
37313
7dd4a573 37314 * kern/parser.c (grub_parser_split_cmdline): Change type of
37315 getline parameter.
d558e6b5 37316 (grub_parser_class): New variable.
37317 (grub_parser_execute): New function.
37318
37319 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37320 * loader/multiboot2.c: Likewise.
37321 * loader/sparc64/ieee1275/linux.c: Likewise.
37322
37323 * util/grub-emu.c (read_command_list): New dummy function.
37324
18db813d 373252009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37326
37327 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37328 count to 16 for CCISS and IDA.
37329
6c67de15 373302009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37331
37332 * normal/menu_text.c (grub_wait_after_message): Print a newline
37333 after waiting for user input.
37334
37335 * loader/i386/linux.c: Include `<grub/normal.h>'.
37336 (grub_cmd_linux): Improve the error message about `ask' mode, by
37337 waiting for user input so it's not missed (we can do this, since
37338 user requested interaction).
37339
d9dc87b0 373402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37341
37342 Added missing lst to grub-mkrescue
37343
37344 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37345 and ${input_dir}/parttool.lst
37346
ac8a2baa 373472009-04-30 David S. Miller <davem@davemloft.net>
37348
ad22a610 37349 * util/hostdisk.c (device_is_wholedisk): New function.
37350 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37351 zero only if device_is_wholedisk() returns true.
37352
6966215d 37353 * util/hostdisk.c (convert_system_partition_to_system_disk):
37354 Handle virtual disk devices named /dev/vdiskX as found on sparc
37355 and powerpc.
37356
ac8a2baa 37357 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37358 lettered partition specifier is found, convert to numbered.
37359
979b4fb4 373602009-04-29 David S. Miller <davem@davemloft.net>
37361
e2bf39b2 37362 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37363 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37364
3c64e104 37365 * normal/command.c: Add missing newline at end of file.
37366
979b4fb4 37367 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37368 warnings.
37369 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37370 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37371 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37372 ihandles have a 32-bit type but need to be stored in a "void *".
37373
136d9f82 373742009-04-28 Pavel Roskin <proski@gnu.org>
37375
9459c306 37376 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37377 not disk. Adjust all dependencies.
2e08a26a 37378 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37379 grub_disk_close().
37380
136d9f82 37381 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37382 parent's partition, don't copy it by reference, as it gets freed
37383 on close.
37384
7dd4a573 373852009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37386
37387 Preboot hooks support
37388
37389 * commands/boot.c (struct grub_preboot_t): new declaration
37390 (preboots_head): new variable
37391 (preboots_tail): likewise
37392 (grub_loader_register_preboot_hook): new function
37393 (grub_loader_unregister_preboot_hook): likewise
37394 (grub_loader_set): launch preboot hooks
37395 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37396 (grub_loader_register_preboot_hook): new declaration
37397 (grub_loader_unregister_preboot_hook): likewise
37398
5af922b5 373992009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37400
37401 Warning fix
37402
7dd4a573 37403 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37404 calling grub_dprintf
37405
a5562c30 374062009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37407
37408 Bug and warning fixes
37409
7dd4a573 37410 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37411 declaration
37412 * commands/test.c (test_parse): fixed bug with file tests and corrected
37413 declaration of find_file
37414
4006f85c 374152009-04-26 Pavel Roskin <proski@gnu.org>
37416
37417 * Makefile.in: Don't install empty manual pages if help2man is
37418 missing. Use help2man option for output, not shell redirection.
37419
5c77c3de 374202009-04-26 David S. Miller <davem@davemloft.net>
37421
37422 * util/grub-mkdevicemap.c (make_device_map): Add missing
37423 NESTED_FUNC_ATTR to process_device().
37424
033b10a8 374252009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37426
37427 Test command
37428
37429 * commands/test.c: rewritten to use bash-like test
37430
e4343593 374312009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37432
37433 Parttool autoloading and improvements
37434
7dd4a573 37435 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37436 (parttool.lst): new target
37437 * genmk.rb: generate parttool-*
37438 (CLEANFILES): add #{parttool}
37439 (PARTTOOLFILES): new variable
37440 * genparttoollist.sh: new file
7dd4a573 37441 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37442 (grub_pcpart_type): likewise
37443 * commands/parttool.c (helpmsg): new variable
37444 (grub_cmd_parttool): output help if not enough arguments are supplied
37445 autoload modules
37446 (GRUB_MOD_INIT(parttool)): use helpmsg
37447
0d312500 374482009-04-24 David S. Miller <davem@davemloft.net>
37449
7dd4a573 37450 Avoiding opening same device multiple times in device iterator.
0d312500 37451
37452 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37453 and use it to build a list of partitions in iterate_disk() and
0d312500 37454 iterate_partition().
37455
ac20caff 37456 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37457 on disk->data.
37458
0dcf7495 37459 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37460 grub_devalias_iterate() result instead of unconditional 0.
37461 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37462 Also, capture hook return value, either directly or via
37463 grub_children_iterate(), and propagate to caller.
37464 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37465 grub_children_iterate): Return value is now 'int' instead of
37466 'grub_err_t'.
37467 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37468 like a proper iterator, stopping when hooks return non-zero.
37469 (grub_devalias_iterate): Likewise.
37470
c8c08833 374712009-04-23 David S. Miller <davem@davemloft.net>
37472
37473 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37474
f01005a8 374752009-04-22 David S. Miller <davem@davemloft.net>
37476
37477 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37478 is larger than address_cells, use that value for address_cells too.
37479
4e8269da 37480 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37481 IEEE1275_MAX_PATH_LEN): Define.
37482 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37483 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37484 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37485 'devtype'. Explicitly NULL terminate devalias expansion.
37486
a1447506 37487 * util/sparc64/ieee1275/misc.c: New file.
37488 * util/sparc64/ieee1275/grub-setup.c: New file.
37489 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37490 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37491 * util/sparc64/ieee1275/grub-install.in: New file.
37492 * util/ieee1275/ofpath.c: New file.
37493 * util/ieee1275/devicemap.c: New file.
37494 * util/devicemap.c: New file.
37495 * util/deviceiter.c: New file.
37496 * kern/sparc64/ieee1275/init.c: New file.
37497 * include/grub/util/ofpath.h: New file.
37498 * include/grub/util/deviceiter.h: New file.
37499 * util/grub-mkdevicemap.c: Include deviceiter.h.
37500 Implement using grub_util_emit_devicemap_entry and
37501 grub_util_iterate_devices.
37502 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37503 util/devicemap.c into grub-mkdevicemap
37504 * conf/i386-efi.rmk: Likewise.
37505 * conf/i386-ieee1275.rmk: Likewise.
37506 * conf/i386-pc.rmk: Likewise.
37507 * conf/powerpc-ieee1275.rmk: Likewise.
37508 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37509 images and installation utilities. Build kernel as image
37510 instead of as elf binary. Use common rules as much as possible.
37511
7dd4a573 375122009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37513
37514 Correct GPT definition
37515
7dd4a573 37516 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37517 of "attrib" member
37518
c6c5219f 375192009-04-19 Felix Zielcke <fzielcke@z-51.de>
37520
37521 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37522
0552ff9f 375232009-04-19 David S. Miller <davem@davemloft.net>
37524
37525 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37526 (grub_rescue_cmd_linux): Rename to...
37527 (grub_cmd_linux): and fix prototype.
37528 (grub_rescue_cmd_initrd): Rename to...
37529 (grub_cmd_initrd): and fix prototype.
37530 (cmd_linux, cmd_initrd): New.
37531 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37532 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37533
d1a282fc 375342009-04-17 Pavel Roskin <proski@gnu.org>
37535
07c5039f 37536 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37537 format.
37538 (grub_ohci_transfer): Likewise.
37539
b012002d 37540 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37541
1bc09c35 37542 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37543 return without a value. Fix inconsistent indentation.
37544
e0ff9126 37545 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37546 match struct grub_fs.
37547
d1a282fc 37548 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37549 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37550 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37551 * commands/lspci.c (grub_lspci_iter): Likewise.
37552
a96df3f2 375532009-04-16 Bean <bean123ch@gmail.com>
37554
37555 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37556 value.
37557
41bb0fe9 375582009-04-15 Pavel Roskin <proski@gnu.org>
37559
37560 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37561 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37562 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37563 definitions.
37564
596c6970 375652009-04-15 Felix Zielcke <fzielcke@z-51.de>
37566
37567 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37568 that no multiple data or metadata areas are supported and `Unknown
596c6970 37569 metadata header'.
37570
7dd4a573 375712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37572
37573 Move loader out of the kernel
37574
37575 * kern/loader.c: moved to ...
37576 * commands/boot.c: ... moved here
37577 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37578 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37579 * include/grub/kernel.h (grub_machine_fini): export
37580 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37581 (grub_loader_set): likewise
37582 (grub_loader_unset): likewise
37583 (grub_loader_boot): likewise
37584 * conf/common.rmk: new module boot.mod
37585 (pkglib_MODULES): add boot.mod
37586 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37587 (grub_emu_SOURCES): likewise
37588 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37589 (grub_emu_SOURCES): likewise
37590 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37591 (grub_emu_SOURCES): likewise
37592 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37593 (grub_emu_SOURCES): likewise
37594 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37595 (grub_emu_SOURCES): likewise
7dd4a573 37596 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37597 (grub_emu_SOURCES): likewise
0d5d5653 37598 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37599 (grub_emu_SOURCES): likewise
0d5d5653 37600
7dd4a573 376012009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37602
37603 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37604
5999d619 37605 * kern/misc.c (grub_itoa): Removed function
37606 (grub_ltoa): likewise
37607 (grub_vsprintf): use grub_lltoa
37608
7dd4a573 376092009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37610
37611 Restore grub-emu
37612
37613 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37614 * conf/i386-coreboot.rmk: likewise
37615 * conf/i386-ieee1275.rmk: likewise
37616 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37617
20318222 376182009-04-15 Felix Zielcke <fzielcke@z-51.de>
37619
37620 * INSTALL: Add that `./autogen.sh' needs to be run before
37621 `./configure.'.
37622
d05f0df3 376232009-04-14 Bean <bean123ch@gmail.com>
37624
37625 * Makefile.in (pkglib_DATA): Add handler.lst.
37626 (handler.lst): New rule.
37627
37628 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37629 * conf/i386-coreboot.rmk: Likewise.
37630 * conf/i386-ieee1275.rmk: Likewise.
37631 * conf/i386-efi.rmk: Likewise.
37632 * conf/x86_64-efi.rmk: Likewise.
37633 * conf/powerpc-ieee1275.rmk: Likewise.
37634 * conf/sparc64-ieee1275.rmk: Likewise.
37635
37636 * genhandlerlist.sh: New file.
37637
37638 * genmk.rb: Add rules to generate handler.lst.
37639
37640 * include/grub/normal.h (grub_file_getline): New function definition.
37641 (read_handler_list): Likewise.
37642 (free_handler_list): Likewise.
37643
37644 * include/grub/term.h (grub_term_register_input): Add name parameter
37645 for auto generation of handler.lst.
37646 (grub_term_register_output): Likewise.
37647
37648 * normal/handler.c: New file.
37649
37650 * normal/main.c (get_line): Renamed to grub_file_getline.
37651 (read_config_file): Use the newly renamed grub_file_getline.
37652 (read_command_list): Likewise.
37653 (read_fs_list): Likewise.
37654 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37655 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37656
37657 * term/efi/console.c (grub_console_init): Add name parameter for auto
37658 generation of handler.lst.
37659 * term/gfxterm.c: Likewise.
37660 * term/i386/pc/at_keyboard.c: Likewise.
37661 * term/i386/pc/console.c: Likewise.
37662 * term/i386/pc/serial.c: Likewise.
37663 * term/i386/pc/vesafb.c: Likewise.
37664 * term/i386/pc/vga.c: Likewise.
37665 * term/i386/pc/vga_text.c: Likewise.
37666 * term/ieee1275/ofconsole.c: Likewise.
37667 * term/usb_keyboard.c: Likewise.
37668
33c846be 376692009-04-14 Bean <bean123ch@gmail.com>
37670
37671 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37672 properly with null character.
37673
4484e01e 376742009-04-14 Felix Zielcke <fzielcke@z-51.de>
37675
37676 * configure: Remove.
37677 * config.h.in: Likewise.
f93d668e 37678 * stamp-h.in: Likewise.
4484e01e 37679 * DISTLIST: Likewise.
37680 * conf/common.mk: Likewise.
37681 * conf/i386-coreboot.mk: Likewise.
37682 * conf/i386-efi.mk: Likewise.
37683 * conf/i386-ieee1275.mk: Likewise.
37684 * conf/i386.mk: Likewise.
37685 * conf/i386-pc.mk: Likewise.
37686 * conf/powerpc-ieee1275.mk: Likewise.
37687 * conf/sparc64-ieee1275.mk: Likewise.
37688 * conf/x86_64-efi.mk: Likewise.
37689
37690 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37691 develop on GRUB.
37692
7dd4a573 376932009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37694 David S. Miller <davem@davemloft.net>
37695
37696 * util/hostdisk.c (make_device_name): Fix buffer length
37697 calculations.
37698
e25b5a8c 376992009-04-14 Felix Zielcke <fzielcke@z-51.de>
37700
37701 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37702 <sys/param.h> and <sys/sysctl.h>.
37703 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37704 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37705 opening the device and reset them afterwards.
37706
1f1f580c 377072009-04-13 Pavel Roskin <proski@gnu.org>
37708
37709 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37710 Reported by John Stanley <jpsinthemix@verizon.net>
37711
7ebc2d6b 377122009-04-13 Robert Millan <rmh@aybabtu.com>
37713
37714 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37715 that name for menuentries when appropriate.
7ebc2d6b 37716
d8ba3667 377172009-04-13 Felix Zielcke <fzielcke@z-51.de>
37718
37719 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37720
cba416eb 377212009-04-13 Robert Millan <rmh@aybabtu.com>
37722
37723 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37724 to Linux, simply abort telling the user it's no longer supported.
37725
a547a745 377262009-04-13 Felix Zielcke <fzielcke@z-51.de>
37727
37728 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37729 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37730 `freebsd_loadenv' only when devices.hints exist.
37731
232a769c 377322009-04-13 Pavel Roskin <proski@gnu.org>
37733
37734 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37735
c3012039 377362009-04-13 Felix Zielcke <fzielcke@z-51.de>
37737
37738 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37739 partition number.
37740 (grub_drive): Likewise.
37741
234022fe 377422009-04-13 David S. Miller <davem@davemloft.net>
37743
37744 * kern/sparc64/ieee1275/ieee1275.c: New file.
37745 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37746 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37747 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37748 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37749 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37750 grub_ieee1275_alloc_physmem): Declare new exported functions.
37751
d8e1836c 37752 * include/grub/sparc64/ieee1275/loader.h: New file.
37753 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37754 * include/grub/sparc64/kernel.h: Likewise.
37755 * loader/sparc64/ieee1275/linux.c: Likewise.
37756
96bd81ec 37757 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37758 (grub_fstest_SOURCES): Likewise.
37759
6a4737e5 37760 * util/hostdisk.c (make_device_name): Do not make any assumptions
37761 about the length of drive names.
37762
1d7a72fd 37763 * kern/dl.c (grub_dl_load_file): Close file immediately when
37764 we are done using it.
37765
56bc2471 377662009-04-12 David S. Miller <davem@davemloft.net>
37767
37768 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37769 values. Noticed by Pavel Roskin.
37770
df38d0bb 37771 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37772 target compiler.
7dd4a573 37773
e382e93a 37774 * genmk.rb: Add more flexible image type specification, also
37775 pass --strip-unneeded to objcopy.
37776 * conf/i386-pc.rmk: Use *_FORMAT.
37777 * conf/i386-pc.mk: Rebuilt.
37778
f5dbbca9 37779 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37780 (OFDISK_HASH_SZ): Define.
37781 (ofdisk_hash): New hash table.
37782 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37783 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37784 instead of device phandle which is not unique.
37785
91c88b12 37786 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37787 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37788 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37789 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37790 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37791 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37792 GRUB_KERNEL_MACHINE_DATA_END): Define.
37793 (grub_kernel_image_size, grub_total_module_size): Declare.
37794
5b5d4aa5 377952009-04-12 Pavel Roskin <proski@gnu.org>
37796
7dd4a573 37797 * configure.ac: Change the logic when we check for target tools.
37798 Do it when the target is specified and it's different from the
37799 specified value of the host.
5b5d4aa5 37800
c91e1793 378012009-04-11 Felix Zielcke <fzielcke@z-51.de>
37802
37803 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37804 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37805 GNU/kFreeBSD. Check if a device is a character device. Use
37806 DIOCGMEDIASIZE to get the size.
37807 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37808 support for GNU/kFreeBSD.
37809 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37810 is a character device instead of a block device. Add support for
37811 FreeBSD device names.
37812
37813 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37814 is a character device instead of a block device.
37815
37816 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37817 is a character device instead of a block device.
37818
b1ac8644 378192009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37820
37821 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37822 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37823 FreeBSD. Check if a device is a character device. Use
37824 DIOCGMEDIASIZE to get the size.
37825 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37826 support for FreeBSD.
37827 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37828 is a character device instead of a block device. Add support for
37829 FreeBSD device names.
37830
37831 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37832 a character device instead of a block device.
37833 (grub_util_check_char_device): New function.
37834
37835 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37836 a character device instead of a block device.
37837
37838 * include/grub/util/getroot.h (grub_util_check_char_device): New
37839 prototype.
37840
a3f7515a 378412009-04-11 David S. Miller <davem@davemloft.net>
37842
37843 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37844 static libgcc.
37845 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37846 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37847 function, if present.
37848 (__bswapdi2): Likewise.
37849
0d44993d 37850 * include/grub/sparc64/ieee1275/boot.h: New file.
37851 * boot/sparc64/ieee1275/boot.S: Likewise.
37852 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37853
ed3d2bc2 37854 * kern/misc.c (grub_ltoa): New function.
37855 (grub_vsprintf): Use it to format 'long' integers.
37856
d3bfb59c 378572009-04-10 David S. Miller <davem@davemloft.net>
37858
37859 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37860 slots are of type grub_ieee1275_cell_t.
37861 (grub_nand_read): Likewise.
37862 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37863 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37864 macros are used to compare values in arg/ret block of the call.
37865 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37866 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37867 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37868 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37869 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37870 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37871 grub_ieee1275_close, grub_ieee1275_set_property,
37872 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37873 grub_ieee1275_cell_t.
37874 * kern/ieee1275/openfw.c (grub_map): Likewise.
37875 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37876 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37877
450e2238 37878 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37879 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37880 (grub_devalias_iterate): Likewise.
37881
7dd4a573 378822009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37883
37884 UFS improvements
37885
37886 * fs/ufs.c (INODE_NBLOCKS): new definition
37887 (struct grub_ufs_dirent): added fields for non-BSD dirents
37888 (grub_ufs_get_file_block): fixed double indirect handling
37889 (grub_ufs_lookup_symlink): use more robust way to determine whether
37890 symlink is inline
37891 (grub_ufs_find_file): support for non-BSD dirents
37892 (grub_ufs_dir): support for non-BSD dirents
37893
e7e6862a 378942009-04-10 Bean <bean123ch@gnail.com>
37895
37896 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37897 attribute, otherwise the size would be wrong for i386 platform.
37898
37899 * include/grub/pci.h (grub_pci_read_word): New inline function.
37900 (grub_pci_read_byte): Likewise.
37901 (grub_pci_write): Likewise.
37902 (grub_pci_write_word): Likewise.
37903 (grub_pci_write_byte): Likewise.
37904
37905 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37906
37907 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37908 (find_framebuf): Scan pci to locate the frame buffer address.
37909
37910 * commands/efi/fixvideo.c: New file.
37911
37912 * commands/efi/loadbios.c: Likewise.
37913
37914 * commands/memrw.c: Likewise.
37915
37916 * util/grub-dumpbios.in: Likewise.
37917
37918 * conf/common.rmk (grub-dumpbios): New utility.
37919 (pkglib_MODULES): New module memrw.mod.
37920 (memrw_mod_SOURCE): New macro.
37921 (memrw_mod_CFLAGS): Likewise.
37922 (memrw_mod_LDFLAGS): Likewise.
37923
7dd4a573 37924 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37925 fixvideo.mod.
37926 (loadbios_mod_SOURCE): New macro.
37927 (loadbios_mod_CFLAGS): Likewise.
37928 (loadbios_mod_LDFLAGS): Likewise.
37929 (fixvideo_mod_SOURCE): Likewise.
37930 (fixvideo_mod_CFLAGS): Likewise.
37931 (fixvideo_mod_LDFLAGS): Likewise.
37932
7dd4a573 37933 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37934 fixvideo.mod.
37935 (loadbios_mod_SOURCE): New macro.
37936 (loadbios_mod_CFLAGS): Likewise.
37937 (loadbios_mod_LDFLAGS): Likewise.
37938 (fixvideo_mod_SOURCE): Likewise.
37939 (fixvideo_mod_CFLAGS): Likewise.
37940 (fixvideo_mod_LDFLAGS): Likewise.
37941
af63ada2 379422009-04-08 Felix Zielcke <fzielcke@z-51.de>
37943
37944 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37945
c2cdde70 379462009-04-07 David S. Miller <davem@davemloft.net>
37947
37948 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37949 support for R_SPARC_OLO10 relocations. Fix compile warning for
37950 R_SPARC_WDISP30 case.
ea3f72cf 37951 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37952
761319cf 379532009-04-06 Pavel Roskin <proski@gnu.org>
37954
1007d1f5 37955 * include/grub/misc.h (ARRAY_SIZE): New macro.
37956 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37957 New macro.
37958 * loader/i386/linux.c (allocate_pages): Use free_pages().
37959 (grub_linux_unload): Don't use free_pages().
37960 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37961 wrong index. Treat all other modes as text modes.
37962 (grub_cmd_linux): Initialize vid_mode unconditionally to
37963 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37964
761319cf 37965 * commands/help.c (print_command_help): Use cmd->prio, not
37966 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37967
ea761d40 379682009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37969
ea761d40 37970 Parttool
37971
37972 * parttool/pcpart.c: new file
37973 * commands/parttool.c: likewise
37974 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37975 (parttool_mod_SOURCES): new variable
37976 (parttool_mod_CFLAGS): likewise
37977 (parttool_mod_LDFLAGS): likewise
37978 (pcpart_mod_SOURCES): likewise
37979 (pcpart_mod_CFLAGS): likewise
37980 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37981 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37982 and parttool/pcpart.c
37983 * conf/i386-efi.rmk: likewise
37984 * conf/i386-ieee1275.rmk: likewise
37985 * conf/i386-pc.rmk: likewise
37986 * conf/powerpc-ieee1275.rmk: likewise
37987 * conf/sparc64-ieee1275.rmk: likewise
37988 * conf/x86_64-ieee1275.rmk: likewise
37989
05aaebfb 379902009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37991
37992 Support for mtime and further expandability of dir command
37993
37994 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37995 * include/grub/datetime.h: ... moved here and added
05aaebfb 37996 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37997 * include/grub/fs.h: new syntax for dir and mtime functions in
37998 struct grub_fs
05aaebfb 37999 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38000 and GRUB_FSHELP_FLAGS_MASK
38001 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38002 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38003 (grub_ext2_mtime): new function
38004 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38005 (grub_hfsplus_mtime): new function
38006 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38007 (GRUB_UFS_ATTR_FILE): likewise
38008 (GRUB_UFS_ATTR_LNK): likewise
38009 (struct grub_ufs_sblock): new fields mtime
38010 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38011 all users updated
38012 (grub_ufs_dir): mtime support
38013 (grub_ufs_mtime): new function
38014 * fs/affs.c (grub_affs_dir): use new dir syntax
38015 * fs/afs.c (grub_afs_dir): likewise
38016 * fs/cpio.c (grub_cpio_dir): likewise
38017 * fs/fat.c (grub_fat_find_dir): likewise
38018 * fs/hfs.c (grub_hfs_dir): likewise
38019 * fs/iso9660.c (grub_iso9660_dir): likewise
38020 * fs/jfs.c (grub_jfs_dir): likewise
38021 * fs/minix.c (grub_minix_dir): likewise
38022 * fs/ntfs.c (grub_ntfs_dir): likewise
38023 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38024 * fs/sfs.c (grub_sfs_dir): likewise
38025 * fs/xfs.c (grub_xfs_dir): likewise
38026 * util/hostfs.c (grub_hostfs_dir): likewise
38027 * lib/datetime.c: moved to ...
38028 * normal/datetime.c: ... moved here
38029 (grub_unixtime2datetime): new function
38030 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38031 * normal/completion.c (iterate_dir): use new dir syntax
38032 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38033 last modification time of a volume
7dd4a573 38034 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38035 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38036 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38037 (normal_mod_SOURCES): likewise
38038 (datetime_mod_SOURCES): Removed lib/datetime.c
38039 * conf/i386-efi.rmk: likewise
7dd4a573 38040 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38041 * conf/i386-pc.rmk: likewise
38042 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38043 * conf/sparc64-ieee1275.rmk: likewise
38044 * conf/x86_64-efi.rmk: likewise
05aaebfb 38045
8a7e1a14 380462009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38047
38048 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38049
38050 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38051 on grub_fat_find_dir
38052 (grub_fat_find_dir): use grub_fat_iterate_dir
38053 (grub_fat_label): likewise
38054
04186a9c 380552009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38056
7dd4a573 38057 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38058 and command.h
38059 remove extraneous kernel_elf_HEADERS
38060
da4c0bb6 380612009-04-04 Bean <bean123ch@gnail.com>
38062
38063 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38064
38065 * util/misc.c: Likewise.
38066
54ad9555 380672009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38068
38069 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38070 instead of grub_printf.
38071
7a6bf9f2 380722009-04-03 Robert Millan <rmh@aybabtu.com>
38073
38074 * loader/i386/linux.c (grub_linux_setup_video): Fill
38075 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38076 values from `mode info' structure instead of hardcoded
38077 values.
38078
3fcc2083 380792009-04-01 Pavel Roskin <proski@gnu.org>
38080
38081 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38082 unused now.
38083 * genmk.rb: Likewise.
38084 * configure.ac: Likewise.
38085
5ec9740b 380862009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38087
38088 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38089 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38090
5270cec8 380912009-04-01 David S. Miller <davem@davemloft.net>
38092
38093 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38094 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38095 (grub_setjmp): Mark with 'returns_twice' attribute.
38096 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38097 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38098 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38099
9c3dd854 381002009-04-01 Robert Millan <rmh@aybabtu.com>
38101
38102 Reapply fix from 2008-07-28 which was accidentally reverted; also
38103 perform the same fix to a similar check in same function.
38104
38105 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38106 with the same number are found, just use issue a warning with
38107 grub_dprintf(), as this error has been reported to be non-fatal.
38108
0d818b7e 381092009-03-31 Pavel Roskin <proski@gnu.org>
38110
38111 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38112 for cross-compilation.
38113
95646d92 381142009-03-30 Robert Millan <rmh@aybabtu.com>
38115
38116 Fix i386-ieee1275 build.
38117
38118 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38119 Remove declaration.
38120
6a003ed1 381212009-03-30 Pavel Roskin <proski@gnu.org>
38122
38123 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38124 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38125 zero-terminated, rely only on the strlen value. Fix comparison
38126 of strings differing in length.
38127
92f33540 381282009-03-30 Robert Millan <rmh@aybabtu.com>
38129
38130 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38131 checking for abi version. Improve error messages on BIOS to notify
38132 user about `linux16' command.
38133
a8c48fd5 381342009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38135
f968172e 38136 Leak fixes
a8c48fd5 38137
f968172e 38138 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38139 in case of collision
38140 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38141
9c323f09 381422009-03-29 Robert Millan <rmh@aybabtu.com>
38143
38144 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38145 set `vid_mode' accordingly.
38146 (grub_linux_boot): Process `vid_mode' and set video mode.
38147
ae68f423 381482009-03-29 Robert Millan <rmh@aybabtu.com>
38149
38150 * util/grub.d/10_linux.in (linux_entry): New function.
38151 Factorize generation of Linux boot entries.
38152
5709cfc4 381532009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38154
38155 Make the format of Environment Block plain text. The boot loader
38156 part is not tested well yet.
7dd4a573 38157
5709cfc4 38158 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38159 (buffer): Removed.
38160 (envblk): Likewise.
38161 (usage): Remove "info" and "clear". Add "unset". Update the
38162 description of "set", as this does not delete variables any
38163 longer.
38164 (create_envblk_file): Complete rewrite.
38165 (open_envblk_file): Likewise.
38166 (cmd_info): Removed.
38167 (cmd_list): Likewise.
38168 (cmd_set): Likewise.
38169 (cmd_clear): Likewise.
38170 (list_variables): New function.
38171 (write_envblk): Likewise.
38172 (set_variables): Likewise.
38173 (unset_variables): Likewise.
38174 (main): Complete rewrite.
38175
38176 * commands/loadenv.c (buffer): Removed.
38177 (envblk): Likewise.
38178 (open_envblk_file): New function.
38179 (read_envblk_file): Complete rewrite.
38180 (grub_cmd_load_env): Likewise.
38181 (grub_cmd_list_env): Likewise.
38182 (struct blocklist): New struct.
38183 (free_blocklists): New function.
38184 (check_blocklists): Likewise.
38185 (write_blocklists): Likewise.
38186 (grub_cmd_save_env): Complete rewrite.
38187
38188 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38189 a plain text signature.
38190 (GRUB_ENVBLK_MAXLEN): Removed.
38191 (struct grub_envblk): Complete rewrite.
38192 (grub_envblk_find): Removed.
38193 (grub_envblk_insert): Likewise.
38194 (grub_envblk_open): New prototype.
38195 (grub_envblk_set): Likewise.
38196 (grub_envblk_delete): Put const to VALUE.
38197 (grub_envblk_iterate): Put const to NAME and VALUE.
38198 (grub_envblk_close): New prototype.
38199 (grub_envblk_buffer): New inline function.
38200 (grub_envblk_size): Likewise.
38201
38202 * lib/envblk.c: Include grub/mm.h.
38203 (grub_env_find): Removed.
38204 (grub_envblk_open): New function.
38205 (grub_envblk_close): Likewise.
38206 (escaped_value_len): Likewise.
38207 (find_next_line): Likewise.
38208 (grub_envblk_insert): Removed.
38209 (grub_envblk_set): New function.
38210 (grub_envblk_delete): Complete rewrite.
38211 (grub_envblk_iterate): Likewise.
38212
a9368fd3 382132009-03-28 Robert Millan <rmh@aybabtu.com>
38214
38215 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38216 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38217 variables. Use 16-bit loader.
38218 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38219 loader.
38220 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38221 (grub_linux16_boot): ... this. Update all users.
38222 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38223 (grub_linux_boot): ... this. Update all users.
38224
38225 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38226 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38227 commands to `linux16' and `initrd16'.
38228 (GRUB_MOD_FINI(linux)): Rename to ...
38229 (GRUB_MOD_FINI(linux16)): ... this.
38230
e4dd5a7e 382312009-03-24 Pavel Roskin <proski@gnu.org>
38232
38233 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38234 not just for compilation.
38235
c04d6e05 382362009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38237
38238 Move multiboot helper out of kernel
38239
38240 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38241 `loader/i386/multiboot_helper.S'.
38242 * conf/i386-coreboot.rmk: Likewise
38243 * conf/i386-ieee1275.rmk: Likewise
38244
38245 * kern/i386/loader.S: Move multiboot helpers from here...
38246 * loader/i386/multiboot_helper.S: ...moved here
38247 * include/grub/i386/loader.h: Move declarations of multiboot
38248 helpers from here...
38249 * include/grub/i386/multiboot.h: ...moved here
38250 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38251
42a5b3fc 382522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38253
38254 * kern/env.c (grub_env_context_open): Added an argument to specify
38255 whether a new context inherits exported variables from current
38256 one. This is useful when making a sandbox to interpret a config
38257 file.
38258 All callers updated.
38259
38260 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38261
b28bbc4e 382622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38263
38264 * kern/env.c (grub_env_context_close): Fix memory leaks.
38265
f04f02e4 382662009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38267
38268 * normal/main.c (grub_normal_execute): Added an argument
38269 BATCH to specify if an interactive interface should be provided
38270 after reading a config file.
38271 All callers updated.
38272 (read_command_list): Prevent being executed twice.
38273 (read_fs_list): Likewise.
38274
42a5b3fc 38275 * include/grub/normal.h (grub_normal_execute): Updated the
38276 prototype.
f04f02e4 38277
41473ac2 382782009-03-22 Pavel Roskin <proski@gno.org>
38279
fbc00b0c 38280 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38281 _start.
38282 * kern/i386/pc/startup.S: Likewise.
38283 * kern/i386/efi/startup.S: Likewise.
38284 * kern/i386/ieee1275/startup.S: Likewise.
38285 * kern/i386/coreboot/startup.S: Likewise.
38286 * kern/x86_64/efi/startup.S: Likewise.
38287
41473ac2 38288 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38289 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38290 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38291
2274cc8f 382922009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38293
38294 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38295
38296 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38297 limit detection.
38298 Use vaddr of correct segment for entry_point.
38299
b1b797cb 383002009-03-21 Bean <bean123ch@gmail.com>
38301
38302 * commands/blocklist.c: Add include file <grub/command.h>, remove
38303 <grub/normal.h> and <grub/arg.h>.
38304 (grub_cmd_blocklist): Use the new command interface.
38305 (GRUB_MOD_INIT): Likewise.
38306 (GRUB_MOD_FINI): Likewise.
38307 * commands/boot.c: Likewise.
38308 * commands/cat.c: Likewise.
38309 * commands/cmp.c: Likewise.
38310 * commands/configfile.c: Likewise.
38311 * commands/crc.c: Likewise.
38312 * commands/echo.c: Likewise.
38313 * commands/halt.c: Likewise.
38314 * commands/handler.c: Likewise.
38315 * commands/hdparm.c: Likewise.
38316 * commands/help.c: Likewise.
38317 * commands/hexdump.c: Likewise.
38318 * commands/loadenv.c: Likewise.
38319 * commands/ls.c: Likewise.
38320 * commands/lsmmap.c: Likewise.
38321 * commands/lspci.c: Likewise.
38322 * commands/loadenv.c: Likewise.
38323 * commands/read.c: Likewise.
38324 * commands/reboot.c: Likewise.
38325 * commands/search.c: Likewise.
38326 * commands/sleep.c: Likewise.
38327 * commands/test.c: Likewise.
38328 * commands/usbtest.c: Likewise.
38329 * commands/videotest.c: Likewise.
38330 * commands/i386/cpuid.c: Likewise.
38331 * commands/i386/pc/halt.c: Likewise.
38332 * commands/i386/pc/play.c: Likewise.
38333 * commands/i386/pc/pxecmd.c: Likewise.
38334 * commands/i386/pc/vbeinfo.c: Likewise.
38335 * commands/i386/pc/vbetest.c: Likewise.
38336 * commands/ieee1275/suspend.c: Likewise.
38337 * disk/loopback.c: Likewise.
38338 * font/font_cmd.c: Likewise.
38339 * hello/hello.c: Likewise.
38340 * loader/efi/appleloader.c: Likewise.
38341 * loader/efi/chainloader.c: Likewise.
38342 * loader/i386/bsd.c: Likewise.
38343 * loader/i386/efi/linux.c: Likewise.
38344 * loader/i386/ieee1275/linux.c: Likewise.
38345 * loader/i386/linux.c: Likewise.
38346 * loader/i386/pc/chainloader.c: Likewise.
38347 * loader/i386/pc/linux.c: Likewise.
38348 * loader/powerpc/ieee1275/linux.c: Likewise.
38349 * loader/multiboot_loader.c: Likewise.
38350 * term/gfxterm.c: Likewise.
38351 * term/i386/pc/serial.c: Likewise.
38352 * term/terminfo.c: Likewise.
38353
38354 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38355 * term/i386/pc/vga.c: Likewise.
38356 * video/readers/jpeg.c: Likewise.
38357 * video/readers/png.c: Likewise.
38358 * video/readers/tga.c: Likewise.
38359
38360 * util/grub-fstest (cmd_loopback): Removed.
38361 (cmd_blocklist): Likewise.
38362 (cmd_ls): Likewise.
38363 (grub_register_command): Likewise.
38364 (grub_unregister_command): Likewise.
38365 (execute_command): Use grub_command_find to locate command and execute
38366 it.
38367
38368 * include/grub/efi/chainloader.h: Removed.
38369 * loader/efi/chainloader_normal.c: Likewise.
38370 * loader/i386/bsd_normal.c: Likewise.
38371 * loader/i386/pc/chainloader_normal.c: Likewise.
38372 * loader/i386/pc/multiboot_normal.c: Likewise.
38373 * loader/linux_normal.c: Likewise.
38374 * loader/multiboot_loader_normal.c: Likewise.
38375 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38376
38377 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38378 and grub_register_command_p1.
38379
38380 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38381 kern/command.c, lib/arg.c and commands/extcmd.c.
38382 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38383 (minicmd_mod_SOURCES): New variable.
38384 (minicmd_mod_CFLAGS): Likewise.
38385 (minicmd_mod_LDFLAGS): Likewise.
38386 (extcmd_mod_SOURCES): Likewise.
38387 (extcmd_mod_CFLAGS): Likewise.
38388 (extcmd_mod_LDFLAGS): Likewise.
38389 (boot_mod_SOURCES): Removed.
38390 (boot_mod_CFLAGS): Likewise.
38391 (boot_mod_LDFLAGS): Likewise.
38392
38393 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38394 kern/corecmd.c.
38395 (kernel_img_HEADERS): Add command.h.
38396 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38397 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38398 and lib/arg.c.
38399 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38400 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38401 remove the corresponding normal mode command.
38402 (normal_mod_SOURCES): Remove normal/arg.c.
38403 * conf/i386-coreboot.rmk: Likewise.
38404 * conf/i386-efi.rmk: Likewise.
38405 * conf/i386-ieee1275.rmk: Likewise.
38406 * conf/powerpc-ieee1275.rmk: Likewise.
38407 * conf/x86_64-efi.rmk: Likewise.
38408
38409 * include/grub/arg.h: Move from here ...
38410 * include/grub/lib/arg.h: ... to here.
38411
38412 * normal/arg.c: Move from here ...
38413 * lib/arg.c: ... to here.
38414
38415 * commands/extcmd.c: New file.
38416 * commands/minicmd.c: Likewise.
38417 * include/grub/command.h: Likewise.
38418 * include/grub/extcmd.h: Likewise.
38419 * kern/command.c: Likewise.
38420 * kern/corecmd.c: Likewise.
38421
38422 * kern/list.c (grub_list_iterate): Return int instead of void.
38423 (grub_list_insert): New function.
38424 (grub_prio_list_insert): Likewise.
38425
38426 * kern/rescue.c (grub_rescue_command): Removed.
38427 (grub_rescue_command_list): Likewise.
38428 (grub_rescue_register_command): Likewise.
38429 (grub_rescue_unregister_command): Likewise.
38430 (grub_rescue_cmd_boot): Move to minicmd.c
38431 (grub_rescue_cmd_help): Likewise.
38432 (grub_rescue_cmd_info): Likewise.
38433 (grub_rescue_cmd_boot): Likewise.
38434 (grub_rescue_cmd_testload): Likewise.
38435 (grub_rescue_cmd_dump): Likewise.
38436 (grub_rescue_cmd_rmmod): Likewise.
38437 (grub_rescue_cmd_lsmod): Likewise.
38438 (grub_rescue_cmd_exit): Likewise.
38439 (grub_rescue_print_devices): Moved to corecmd.c.
38440 (grub_rescue_print_files): Likewise.
38441 (grub_rescue_cmd_ls): Likewise.
38442 (grub_rescue_cmd_insmod): Likewise.
38443 (grub_rescue_cmd_set): Likewise.
38444 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38445 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38446 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38447 commands, remove grub_rescue_register_command calls.
b1b797cb 38448
7d074e3c 38449 * normal/command.c (grub_register_command): Removed.
b1b797cb 38450 (grub_unregister_command): Likewise.
38451 (grub_command_find): Likewise.
38452 (grub_iterate_commands): Likewise.
38453 (rescue_command): Likewise.
38454 (export_command): Moved to corecmd.c.
38455 (set_command): Removed.
38456 (unset_command): Likewise.
38457 (insmod_command): Likewise.
38458 (rmmod_command): Likewise.
38459 (lsmod_command): Likewise.
38460 (grub_command_init): Likewise.
38461
38462 * normal/completion.c (iterate_command): Use cmd->prio to check for
38463 active command.
38464 (complete_arguments): Use grub_extcmd_t structure to find options.
38465 (grub_normal_do_completion): Change function grub_iterate_commands to
38466 grub_command_iterate.
38467
38468 * normal/execute.c (grub_script_execute_cmd): No need to parse
38469 argument here.
38470
38471 * normal/main.c (grub_dyncmd_dispatcher): New function.
38472 (read_command_list): Register unload commands as dyncmd.
38473 (grub_cmd_normal): Use new command interface, register rescue,
38474 unregister normal at entry, register normal, unregister rescue at exit.
38475
38476 * include/grub/list.h (grub_list_test_t): New type.
38477 (grub_list_iterate): Return int instead of void.
38478 (grub_list_insert): New function.
38479 (GRUB_AS_NAMED_LIST_P): New macro.
38480 (GRUB_AS_PRIO_LIST): Likewise.
38481 (GRUB_AS_PRIO_LIST_P): Likewise.
38482 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38483 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38484 (grub_prio_list): New structure.
38485 (grub_prio_list_insert): New function.
38486 (grub_prio_list_remove): New inline function.
38487
38488 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38489 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38490 (GRUB_COMMAND_FLAG_MENU): Likewise.
38491 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38492 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38493 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38494 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38495 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38496 (grub_command): Likewise.
38497 (grub_register_command): Likewise.
38498 (grub_command_find): Likewise.
38499 (grub_iterate_commands): Likewise.
38500 (grub_command_init): Likewise.
38501 (grub_arg_parse): Likewise.
38502 (grub_arg_show_help): Likewise.
38503
38504 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38505 (grub_rescue_unregister_command): Likewise.
38506
38507 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38508 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38509 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38510
38511 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38512 grub_rescue_cmd_initrd.
38513 * include/grub/i386/loader.h: Likewise.
38514 * include/grub/x86_64/loader.h: Likewise.
38515
38516 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38517
1f4147aa 385182009-03-21 Bean <bean123ch@gmail.com>
38519
38520 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38521 instead of stat in mingw environment.
38522
38523 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38524
38525 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38526
38527 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38528 AC_CONFIG_LINKS.
38529
2156d5ba 385302009-03-21 Bean <bean123ch@gmail.com>
38531
38532 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38533 out of range error.
38534
177b82ca 385352009-03-18 Michel Dänzer <michel@daenzer.net>
38536
38537 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38538 checking inode flags for EXT4_EXTENTS_FLAG.
38539
14aad807 385402009-03-18 Robert Millan <rmh@aybabtu.com>
38541
38542 * loader/i386/linux.c: Include `<grub/video.h>' and
38543 `<grub/i386/pc/vbe.h>'..
38544 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38545 (grub_linux32_boot): Attempt to configure video settings with
38546 grub_linux_setup_video().
38547 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38548 to avoid grub_console_fini() which would step out of graphical mode
38549 unconditionally.
38550
8cf83a27 385512009-03-14 Robert Millan <rmh@aybabtu.com>
38552
38553 Fix build on powerpc.
38554 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38555
40164e75 385562009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38557
38558 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38559 background image command.
38560
c58bc32a 385612009-03-12 Colin D Bennett <colin@gibibit.com>
38562
38563 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38564 (grub_gfxterm_putchar): Extract pairs of identical calls to
38565 draw_cursor out of conditional blocks.
38566
5415144a 385672009-03-11 Pavel Roskin <proski@gnu.org>
38568
38569 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38570 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38571
6394042e 385722009-03-11 Robert Millan <rmh@aybabtu.com>
38573
38574 * loader/i386/multiboot_elfxx.c
38575 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38576
b7b50e5f 385772009-03-11 Felix Zielcke <fzielcke@z-51.de>
38578
38579 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38580 `kern/handler.c'.
38581
1ca7fc96 385822009-03-11 Robert Millan <rmh@aybabtu.com>
38583
38584 * loader/i386/multiboot.c (code_size): New variable.
38585 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38586 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38587 4-byte alignment to MBI and others by increasing
7d074e3c 38588 `boot_loader_name_length' appropriately.
1ca7fc96 38589
38590 * loader/i386/multiboot_elfxx.c
38591 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38592
a83ea1d2 385932009-03-09 Felix Zielcke <fzielcke@z-51.de>
38594
38595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38596 `fs/ext2.c'.
38597
aa9f3bff 385982009-03-08 Robert Millan <rmh@aybabtu.com>
38599
38600 Make loader/i386/linux.c usable on i386-pc again.
38601
38602 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38603 memory to heap.
38604 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38605 `#error' stanza.
38606
d8b3b60e 386072009-03-07 Bean <bean123ch@gmail.com>
38608
38609 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38610 allocation.
38611
b362c9e9 386122009-03-06 Robert Millan <rmh@aybabtu.com>
38613
38614 Fix display issue on terminals with screen size other than 80x25
38615 (e.g. gfxterm with resolution higher than 640x480).
38616
38617 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38618 position relative to the center of the terminal instead of relying
b362c9e9 38619 on a hardcoded offset.
38620
9304eef1 386212009-03-04 Robert Millan <rmh@aybabtu.com>
38622
38623 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38624 installed.
38625
38626 * Makefile.in (host_kernel): New variable.
38627 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38628 scripts instead of just the windows one.
38629 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38630
eabc95fb 386312009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38632
38633 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38634 `kern/handler.c'.
38635 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38636 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38639 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38641
ceb1223c 386422009-03-04 Felix Zielcke <fzielcke@z-51.de>
38643
38644 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38645 or if there's no space for the disk label and print the partition number on a
38646 invalid magic.
38647
4910684a 386482009-03-04 Felix Zielcke <fzielcke@z-51.de>
38649
38650 * util/misc.c: Include <time.h>.
38651 (grub_millisleep): New function.
38652
7e9ca17a 386532009-03-04 Bean <bean123ch@gmail.com>
38654
38655 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38656 another option -mno-red-zone.
38657
38658 * commands/handler.c: Change module description.
38659
38660 * kern/handler.c: Add missing space at the end of description line.
38661
38662 * kern/list.c: Likewise.
38663
f501677c 386642009-03-03 Robert Millan <rmh@aybabtu.com>
38665
38666 Move more components to the relocation area, and fix mbi pointer
38667 handling to use the destination rather than the origin (thanks to
38668 Vladimir Serbinenko for spotting).
38669
38670 * loader/i386/multiboot.c (mbi_dest): New variable.
38671 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38672 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38673 relocation area.
38674
9902d047 386752009-03-01 Bean <bean123ch@gmail.com>
38676
50fb7002 38677 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38678 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38679 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38680 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38681
38682 * loader/i386/efi/linux.c (acpi_guid): New variable.
38683 (acpi_guid): Likewise.
38684 (EBDA_SEG_ADDR): New constant.
38685 (LOW_MEM_ADDR): Likewise.
38686 (FAKE_EBDA_SEG): Likewise.
38687 (fake_bios_data): New function.
38688 (grub_linux_boot): Call fake_bios_data.
38689
71b9f361 386902009-03-01 Bean <bean123ch@gmail.com>
38691
38692 * commands/terminal.c: Removed.
38693
38694 * commands/handler.c: New file.
38695
38696 * include/grub/list.h: Likewise.
38697
38698 * include/grub/handler.h: Likewise.
38699
38700 * kern/list.c: Likewise.
38701
38702 * kern/handler.c: Likewise.
38703
38704 * kern/term.h: Include header file <grub/handler.h>.
38705 (grub_term_input): Move next field to the beginning.
38706 (grub_term_output): Likewise.
38707 (grub_term_input_class): New variable.
38708 (grub_term_output_class): Likewise.
38709 (grub_term_register_input): Changed to inline function.
38710 (grub_term_register_output): Likewise.
38711 (grub_term_unregister_input): Likewise.
38712 (grub_term_unregister_output): Likewise.
38713 (grub_term_set_current_input): Likewise.
38714 (grub_term_set_current_output): Likewise.
38715 (grub_term_get_current_input): Likewise.
38716 (grub_term_get_current_output): Likewise.
38717 (grub_term_iterate_input): Removed.
38718 (grub_term_iterate_output): Likewise.
38719
38720 * kern/term.c (grub_term_list_input): Removed.
38721 (grub_term_list_output): Likewise.
38722 (grub_term_input_class): New variable.
38723 (grub_term_output_class): Likewise.
50fb7002 38724 (grub_cur_term_input): Change variable as macro.
71b9f361 38725 (grub_cur_term_output): Likewise.
38726 (grub_term_register_input): Removed.
38727 (grub_term_register_output): Likewise.
38728 (grub_term_unregister_input): Likewise.
38729 (grub_term_unregister_output): Likewise.
38730 (grub_term_set_current_input): Likewise.
38731 (grub_term_set_current_output): Likewise.
38732 (grub_term_iterate_input): Likewise.
38733 (grub_term_iterate_output): Likewise.
38734 (grub_term_get_current_input): Likewise.
38735 (grub_term_get_current_output): Likewise.
38736
38737 * util/grub-editenv.c: Include header file <grub/handler.h>.
38738 (grub_term_get_current_input): Removed.
38739 (grub_term_get_current_output): Likewise.
38740 (grub_term_input_class): New variable.
50fb7002 38741 (grub_term_output_class): Likewise.
71b9f361 38742
38743 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38744 (grub_term_get_current_output): Likewise.
38745 (grub_term_input_class): New variable.
50fb7002 38746 (grub_term_output_class): Likewise.
71b9f361 38747
38748 * util/grub-probe.c (grub_term_get_current_input): Removed.
38749 (grub_term_get_current_output): Likewise.
38750 (grub_term_input_class): New variable.
50fb7002 38751 (grub_term_output_class): Likewise.
71b9f361 38752
38753 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38754 (grub_term_get_current_output): Likewise.
38755 (grub_term_input_class): New variable.
50fb7002 38756 (grub_term_output_class): Likewise.
71b9f361 38757
38758 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38759 (terminal_mod_SOURCES): Likewise.
38760 (terminal_mod_CFLAGS): Likewise.
38761 (terminal_mod_LDFLAGS): Likewise.
38762
38763 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38764 handler.c.
38765 (kernel_img_SOURCES): Add list.c and handler.c.
38766 (kernel_img_HEADERS): Add list.h and handler.h.
38767
38768 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38769 handler.c.
38770 (kernel_mod_SOURCES): Add list.c and handler.c.
38771 (kernel_mod_HEADERS): Add list.h and handler.h.
38772
38773 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38774 handler.c.
38775 (kernel_elf_SOURCES): Add list.c and handler.c.
38776 (kernel_elf_HEADERS): Add list.h and handler.h.
38777
38778 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38779 handler.c.
38780 (kernel_elf_SOURCES): Add list.c and handler.c.
38781 (kernel_elf_HEADERS): Add list.h and handler.h.
38782
38783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38784 handler.c.
38785 (kernel_mod_SOURCES): Add list.c and handler.c.
38786 (kernel_mod_HEADERS): Add list.h and handler.h.
38787
38788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38789 handler.c.
38790 (kernel_elf_SOURCES): Add list.c and handler.c.
38791 (kernel_elf_HEADERS): Add list.h and handler.h.
38792
8a31787f 387932009-02-27 Robert Millan <rmh@aybabtu.com>
38794
38795 Factorize elf32 / elf64 code in Multiboot loader. This will
38796 prevent it from getting out of sync again.
38797
38798 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38799 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38800 grub_multiboot_load_elf64): Move from here ...
38801 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38802 grub_multiboot_load_elf): ... to here (new file).
38803
51cd3dfc 388042009-02-27 Robert Millan <rmh@aybabtu.com>
38805
38806 * util/grub.d/10_linux.in: Rename "single-user mode" to
38807 "recovery mode".
38808
6e8c9c3a 388092009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38810
38811 Don't leak in SCSI code.
38812 * disk/scsi.c (grub_scsi_close): free `scsi'.
38813
4b6bf4f9 388142009-02-27 Robert Millan <rmh@aybabtu.com>
38815
38816 * loader/i386/pc/multiboot.c: Move from here ...
38817 * loader/i386/multiboot.c: ... to here. Update all users.
38818
b9413424 388192009-02-27 Robert Millan <rmh@aybabtu.com>
38820
38821 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38822 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38823
50fb7002 388242009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38825
38826 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38827 b-tree.
38828
8cc50345 388292009-02-27 Robert Millan <rmh@aybabtu.com>
38830
38831 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38832 `0x' qualifier as 0 when base is specified as parameter).
38833
6e09b8b7 388342009-02-24 Bean <bean123ch@gmail.com>
38835
38836 * configure.ac: Check for -mcmodel=large in x86_64 target.
38837
38838 * include/grub/efi/api.h (efi_call_10): New macro.
38839 (efi_wrap_10): New function.
38840
38841 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38842 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38843 (GRUB_PE32_REL_BASED_LOW): Likewise.
38844 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38845 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38846 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38847 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38848 (GRUB_PE32_REL_BASED_REL): Likewise.
38849 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38850 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38851 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38852
38853 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38854 issue.
38855
38856 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38857 (efi_wrap_10): New function.
38858
38859 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38860
38861 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38862 MB/MBP model (NV chipset).
38863 (devdata_devs): Add devpath_5 to the list.
38864
38865 * load/i386/efi/linux.c (video_base): Remove variable.
38866 (RGB_MASK): New macro.
38867 (RGB_MAGIC): Likewise.
38868 (LINE_MIN): Likewise.
38869 (LINE_MAX): Likewise.
38870 (FBTEST_STEP): Likewise.
38871 (FBTEST_COUNT): Likewise.
38872 (fb_list): New variable.
38873 (grub_find_video_card): Remove function.
38874 (find_framebuf): New function.
38875 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38876 line length.
38877
38878 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38879 problem for x86_64.
38880
74b21bee 388812009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38882
38883 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38884
38885 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38886 coding tool name.
38887
a455f472 388882009-02-22 Robert Millan <rmh@aybabtu.com>
38889
38890 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38891 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38892 in our relocation, instead of using it directly from heap. Also
38893 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38894
6374daf3 388952009-02-21 Robert Millan <rmh@aybabtu.com>
38896
38897 Implement USB keyboard support (based on patch by Marco Gerards)
38898
38899 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38900 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38901 (usb_keyboard_mod_LDFLAGS): New variables.
38902
38903 * term/usb_keyboard.c: New file.
38904
8fa4ea70 389052009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38906
38907 Corrected wrong declaration
38908
38909 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38910
353976ac 389112009-02-14 Christian Franke <franke@computer.org>
38912
38913 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38914 (grub_lspci_iter): Print class code and programming interface byte.
38915
6aa1169b 389162009-02-14 Christian Franke <franke@computer.org>
38917
38918 * gendistlist.sh: Ignore `.svn' directories.
38919
265372ca 389202009-02-14 Felix Zielcke <fzielcke@z-51.de>
38921
38922 * fs/fat.c: Add 2009 to Copyright line.
38923
9ff516f3 389242009-02-14 Christian Franke <franke@computer.org>
38925
38926 * commands/hdparm.c: New file. Provides `hdparm' command
38927 which sends ATA commands via grub_disk_ata_pass_through ().
38928
38929 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38930
38931 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38932 and <grub/cpu/io.h> to include/grub/ata.h.
38933 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38934 (GRUB_CDROM_SECTOR_SIZE): Remove.
38935 (GRUB_ATA_*): Move to include/grub/ata.h.
38936 (GRUB_ATAPI_*): Likewise.
38937 (enum grub_ata_commands): Likewise.
38938 (enum grub_ata_timeout_milliseconds): Likewise.
38939 (struct grub_ata_device): Likewise.
38940 (grub_ata_regset): Likewise.
38941 (grub_ata_regget): Likewise.
38942 (grub_ata_regset2): Likewise.
38943 (grub_ata_regget2): Likewise.
38944 (grub_ata_check_ready): Likewise.
38945 (grub_ata_wait_not_busy): Remove static, exported in
38946 include/grub/ata.h.
38947 (grub_ata_wait_drq): Likewise.
38948 (grub_ata_pio_read): Likewise.
38949
38950 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38951 function for hdparm.mod.
38952
38953 * include/grub/ata.h: New file, contains declarations from
38954 disk/ata.c.
38955 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38956
38957 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38958 (grub_disk_ata_pass_through): New exported variable.
38959
38960 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38961
772e23da 389622009-02-13 Colin D Bennett <colin@gibibit.com>
38963
38964 Support multiple fallback entries, and provide an API to support
38965 executing default+fallback menu entries. Renamed the `terminal' menu
38966 viewer to `text'.
38967
38968 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38969 variable declaration.
38970 (grub_menu_execute_callback): New structure declaration.
38971 (grub_menu_execute_callback_t): New typedef.
38972 (grub_menu_execute_with_fallback): New function declaration.
38973 (grub_menu_get_entry): Likewise.
38974 (grub_menu_get_timeout): Likewise.
38975 (grub_menu_set_timeout): Likewise.
38976
38977 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38978
38979 * normal/menu.c (grub_wait_after_message): Moved to
38980 `normal/menu_text.c'.
38981 (draw_border): Likewise.
38982 (print_message): Likewise.
38983 (print_entry): Likewise.
38984 (print_entries): Likewise.
38985 (grub_menu_init_page): Likewise.
38986 (get_entry_number): Likewise.
38987 (print_timeout): Likewise.
38988 (run_menu): Likewise.
38989 (grub_menu_execute_entry): Likewise.
38990 (show_text_menu): Likewise.
38991 (get_and_remove_first_entry_number): New function.
38992 (grub_menu_execute_with_fallback): Likewise.
38993 (get_entry): Renamed to ...
38994 (grub_menu_get_entry): .. this and made it global.
38995 (get_timeout): Renamed to ...
38996 (grub_menu_get_timeout): ... this and made it global.
38997 (set_timeout): Renamed to ...
38998 (grub_menu_set_timeout): ... this and made it global.
38999 (grub_normal_terminal_menu_viewer): Renamed to ...
39000 (grub_normal_text_menu_viewer): ... this.
39001
39002 * normal/menu_text.c: New file. Extracted text-menu-specific code
39003 from normal/menu.c.
39004
39005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39006 (normal_mod_SOURCES): Likewise.
39007
39008 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39009 (normal_mod_SOURCES): Likewise.
39010
39011 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39012 (normal_mod_SOURCES): Likewise.
39013
39014 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39015 (normal_mod_SOURCES): Likewise.
39016
39017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39018 (normal_mod_SOURCES): Likewise.
39019
39020 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39021 (normal_mod_SOURCES): Likewise.
39022
39023 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39024 (normal_mod_SOURCES): Likewise.
39025
16ac430e 390262009-02-11 Robert Millan <rmh@aybabtu.com>
39027
39028 * util/grub.d/00_header.in: Update old reference to `font' command.
39029
06ff20fc 390302009-02-10 Felix Zielcke <fzielcke@z-51.de>
39031
39032 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39033
39034 Based on patch from Javier Martín.
39035
96da9407 390362009-02-09 Felix Zielcke <fzielcke@z-51.de>
39037
39038 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39039 to avoid false positives with FAT.
96da9407 39040 (grub_fstest_SOURCES): Likewise.
39041 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39042 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39045 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39046 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39047
6dca6fe4 390482009-02-09 Felix Zielcke <fzielcke@z-51.de>
39049
06ff20fc 39050 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39051 bpb.version_specific.fat12_or_fat16.fstype and
39052 bpb.version_specific.fat32.fstype.
39053
2550c62f 390542009-02-08 Robert Millan <rmh@aybabtu.com>
39055
be110b30 39056 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39057
56978920 390582009-02-08 Robert Millan <rmh@aybabtu.com>
39059
39060 * Makefile.in (host_os, host_cpu): New variables.
39061 (target_os): Remove. Update all users.
39062
d64399b5 390632009-02-08 Marco Gerards <marco@gnu.org>
39064
39065 * Makefile.in (enable_grub_emu_usb): New variable.
39066 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39067 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39068 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39069 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39070 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39071 `usbtest.mod' and `usbms.mod'.
39072 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39073 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39074 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39075 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39076 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39077 variables.
39078
39079 * disk/usbms.c: New file.
39080
39081 * include/grub/usb.h: Likewise.
39082
39083 * include/grub/usbtrans.h: Likewise.
39084
39085 * include/grub/usbdesc.h: Likewise.
39086
39087 * bus/usb/usbtrans.c: Likewise.
39088
39089 * bus/usb/ohci.c: Likewise.
39090
39091 * bus/usb/uhci.c: Likewise.
39092
39093 * bus/usb/usbhub.c: Likewise.
39094
39095 * bus/usb/usb.c: Likewise.
39096
39097 * commands/usbtest.c: Likewise.
39098
39099 * util/usb.c: Likewise.
50fb7002 39100
d64399b5 39101 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39102
39103 * configure.ac: Test for libusb presence.
50fb7002 39104
d64399b5 39105 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39106
2b40d6bb 391072009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39108
39109 * kern/mm.c: Add more comments.
39110
73a4ce81 391112009-02-08 Robert Millan <rmh@aybabtu.com>
39112
39113 Patch from Javier Martín.
39114 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39115 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39116
f821ce59 391172009-02-08 Robert Millan <rmh@aybabtu.com>
39118
39119 * fs/cpio.c: Split tar functionality to ...
39120 * fs/tar.c: ... here (new file). Update all users.
39121
aebfc4b0 391222009-02-07 Robert Millan <rmh@aybabtu.com>
39123
39124 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39125 backward-incompatible features.
39126
39127 Based on patch from Javier Martín, with some adjustments.
39128
50fb7002 391292009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39130
39131 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39132
0bb5115e 391332009-02-07 Robert Millan <rmh@aybabtu.com>
39134
39135 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39136 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39137 after the RAID stuff.
39138
38a0f8e7 391392009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39140
50fb7002 39141 Fixes problem when running vbetest command as reported by
38a0f8e7 39142 Vladimir Serbinenko <phcoder@gmail.com>.
39143
39144 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39145
3143cc1c 391462009-02-04 Felix Zielcke <fzielcke@z-51.de>
39147
39148 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39149 /dev/md/NpN style mdraid devices.
39150
9cba6fce 391512009-02-03 Felix Zielcke <fzielcke@z-51.de>
39152
39153 * util/unifont2pff.rb: Remove.
39154
e507a2c1 391552009-02-03 Felix Zielcke <fzielcke@z-51.de>
39156
39157 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39158 `#'.
39159
d2c2b4cd 391602009-02-03 Felix Zielcke <fzielcke@z-51.de>
39161
39162 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39163 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39164 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39165 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39167 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39168 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39169
b4315fb0 391702009-02-02 Christian Franke <franke@computer.org>
39171
39172 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39173
de3aa260 391742009-02-01 Felix Zielcke <fzielcke@z-51.de>
39175
7c3ff286 39176 * INSTALL: Note that we now require at least autoconf 2.59 and
39177 that LZO is optional.
de3aa260 39178
825a182b 391792009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39180
39181 Base on patch on bug #24154 created by Tomas Tintera
39182 <trosos@seznam.cz>.
39183
39184 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39185
a69ef770 391862009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39187
7c3ff286 39188 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39189 <bero@arklinux.org>.
39190
39191 * normal/parser.y (script_init): Add missing semicolon.
39192
6fa42fa6 391932009-01-31 Colin D Bennett <colin@gibibit.com>
39194
7c3ff286 39195 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39196 (free_menu_entry_classes): Added.
39197 (grub_normal_menu_addentry): Added class property handling.
39198 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39199 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39200
39201 * normal/menu_viewer.c: New file.
39202
39203 * normal/menu.c (run_menu_entry): Renamed to ...
39204 (grub_menu_execute_entry): ... this and made it as global.
39205 (grub_menu_run): Renamed to ...
39206 (show_text_menu): ... this and made it local.
39207 (show_text_menu): Adapt to new function names.
39208 (grub_normal_terminal_menu_viewer): New global variable.
39209
39210 * include/grub/menu.h: New file.
39211
39212 * include/grub/menu_viewer.h: New file.
39213
39214 * include/grub/normal.h: Added include to grub/menu.h.
39215 (grub_menu_entry): Moved to include/grub/menu.h.
39216 (grub_menu_entry_t): Likewise.
39217 (grub_menu): Likewise.
39218 (grub_menu_t): Likewise.
39219 (grub_normal_terminal_menu_viewer): Added.
39220 (grub_menu_execute_entry): Likewise.
39221 (grub_menu_run): Removed.
39222
39223 * DISTLIST: Added include/grub/menu.h.
39224 Added include/grub/menu_viewer.h.
39225 Added normal/menu_viewer.c.
39226
392272009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39228
39229 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39230 arglist for menutitle arguments.
39231
39232 * normal/main.c (grub_normal_menu_addentry): Likewise.
39233
39234 * normal/parser.y (menuentry): Likewise.
39235
39236 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39237
39238 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39239 (grub_script_create_cmdmenu): Likewise.
39240
39241 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39242
39243 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39244 changes.
39245
39246 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39247
39248 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39249
39250 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39251
39252 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39253
39254 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39255
39256 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39257
56192c23 392582009-01-30 Christian Franke <franke@computer.org>
39259
39260 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39261 in option help text.
39262
d72521b3 392632009-01-27 Pavel Roskin <proski@gnu.org>
39264
39265 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39266
994b5e84 392672009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39268
39269 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39270
39271 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39272
39273 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39274 unregister function.
39275
6a7eab2c 392762009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39277
39278 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39279
39280 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39281
39282 * util/grub-mkfont.c (usage): Fix typo.
39283
39284 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39285
1806b56e 392862009-01-26 Daniel Mierswa <impulze@impulze.org>
39287
3fb18f09 39288 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39289
336e1fb9 39290 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39291
1806b56e 39292 * kern/misc.c (grub_strcasecmp): New function.
39293 (grub_strcasecmp): Use grub_size_t instead of int for length.
39294 Fix return value.
39295 * include/grub/misc.h: Update function prototypes.
39296
580b2a0f 392972009-01-26 Robert Millan <rmh@aybabtu.com>
39298
39299 * configure.ac: Fix cross-compilation check.
ef257b36 39300
d31c24f1 393012009-01-22 Christian Franke <franke@computer.org>
39302
39303 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39304 (precision) digit string. Allow `.format2' without `format1' (width).
39305 Limit input chars for `%s' output to `format2' if specified. This is
39306 compatible with standard printf ().
39307
3138b44c 393082009-01-22 Christian Franke <franke@computer.org>
39309
39310 * disk/ata.c (grub_ata_wait_status): Replace by ...
39311 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39312 other status bits may be invalid while BSY is asserted.
39313 (grub_ata_check_ready): New function.
39314 (grub_ata_cmd): Removed.
39315 (grub_ata_wait_drq): New function.
39316 (grub_ata_strncpy): Remove inline.
39317 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39318 and error check now done by grub_ata_wait_drq ().
39319 (grub_ata_pio_write): Likewise.
39320 (grub_atapi_identify): Set DEV before check for !BSY. Use
39321 grub_ata_wait_drq () to wait for data.
39322 (grub_ata_device_initialize): Add status register check to
39323 detect missing SATA slave devices. Add debug messages.
39324 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39325 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39326 transfer loop by grub_ata_pio_write ().
39327 (grub_ata_identify): Set DEV before check for !BSY. Use
39328 grub_ata_wait_drq () to wait for data.
ef257b36 39329 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39330 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39331 read/write in one loop. Fix invalid command on write. Fix incomplete
39332 command on (size % batch) == 0. Add missing error check after write of
39333 last block. Add debug messages.
39334 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39335
59a64ef6 393362009-01-19 Christian Franke <franke@computer.org>
39337
39338 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39339 (GRUB_ATAPI_IREASON_*): Likewise.
39340 (grub_ata_pio_write): Fix timeout error return.
39341 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39342 (grub_atapi_wait_drq): New function.
39343 (grub_atapi_packet): New parameter `size'.
39344 Use grub_atapi_wait_drq () and direct write instead of
39345 grub_ata_pio_write ().
39346 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39347 reads the number of bytes requested by the device for each DRQ
39348 assertion.
39349 (grub_atapi_write): Remove old implementation, return not
39350 implemented instead.
39351
1cfe20b3 393522009-01-19 Christian Franke <franke@computer.org>
39353
39354 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39355 of 512 to calculate data size.
39356 (grub_scsi_read12): Likewise.
39357 (grub_scsi_write10): Likewise.
39358 (grub_scsi_write12): Likewise.
39359 (grub_scsi_read): Adjust size according to blocksize.
39360 Add checks for invalid blocksize and unaligned transfer.
39361
bee5fe5d 393622009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39363
39364 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39365
ef257b36 39366 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39367 width glyphs.
39368
3e643f8c 393692009-01-19 Robert Millan <rmh@aybabtu.com>
39370
39371 * config.guess: Update to latest version from config git.
39372 * config.sub: Likewise.
39373
4fa80998 393742009-01-17 Felix Zielcke <fzielcke@z-51.de>
39375
39376 * Makefile.in: Change font compilation to use new grub-mkfont instead
39377 of java version.
39378
39379 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39380 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39381 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39382 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39383 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39384 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39385 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39386 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39387 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39388
7086085b 393892009-01-16 Christian Franke <franke@computer.org>
39390
39391 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39392 (enum grub_ata_timeout_milliseconds): New enum.
39393 (grub_ata_wait_status): Add parameter milliseconds.
39394 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39395 recovery from timed-out commands.
39396 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39397 return grub_errno instead of REG_ERROR.
39398 (grub_ata_pio_write): Add parameter milliseconds.
39399 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39400 Pass milliseconds to grub_ata_wait_status () and
39401 grub_ata_pio_read ().
39402 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39403 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39404 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39405 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39406 It is not suitable for device detection, because DEV bit is ignored,
39407 the command may run too long, and not all devices set the signature
39408 properly.
39409 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39410 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39411 Fix device selection, DEV bit must be set first to address the registers
39412 of the correct device.
39413 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39414 grub_ata_pio_read/write ().
39415 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39416 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39417
4a412913 394182009-01-13 Carles Pina i Estany <carles@pina.cat>
39419
39420 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39421
7795c55e 394222009-01-13 Bean <bean123ch@gmail.com>
d913988c 39423
39424 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39425
7795c55e 394262009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39427
39428 * Makefile.in: (enable_grub_mkfont): New variable.
39429 (freetype_cflags): Likewise.
39430 (freetype_libs): Likewise.
39431
39432 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39433 (grub_mkfont_SOURCES): New variable.
39434 (grub_mkfont_CFLAGS): Likewise.
39435 (grub_mkfont_LDFLAGS): Likewise.
39436
39437 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39438 library if `--enable-grub-mkfont' is requested.
39439 (enable_grub_mkfont): New variable.
39440 (freetype_cflags): Likewise.
39441 (freetype_libs): Likewise.
39442
39443 * util/grub-mkfont.c: New file.
39444
093af1fe 394452009-01-12 Christian Franke <franke@computer.org>
39446
39447 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39448 mode check. Fix setting of compat_use[].
39449
f36cc108 394502009-01-10 Robert Millan <rmh@aybabtu.com>
39451
39452 Update a few copyright years which we forgot to do in 2008 (only for
39453 files whose changes made in 2008 were copyright-significant)
39454
39455 * Makefile.in: Add 2008 to Copyright line.
39456 * disk/ieee1275/ofdisk.c: Likewise.
39457 * disk/efi/efidisk.c: Likewise.
39458 * kern/dl.c: Likewise.
39459 * kern/sparc64/ieee1275/init.c: Likewise.
39460 * kern/mm.c: Likewise.
39461 * kern/efi/mm.c: Likewise.
39462 * boot/i386/pc/boot.S: Likewise.
39463 * genfslist.sh: Likewise.
39464 * fs/iso9660.c: Likewise.
39465 * fs/hfs.c: Likewise.
39466 * fs/jfs.c: Likewise.
39467 * fs/minix.c: Likewise.
39468 * fs/ufs.c: Likewise.
39469 * gensymlist.sh.in: Likewise.
39470 * genkernsyms.sh.in: Likewise.
39471 * include/grub/misc.h: Likewise.
39472 * include/grub/types.h: Likewise.
39473 * include/grub/symbol.h: Likewise.
39474 * include/grub/elf.h: Likewise.
39475 * include/grub/kernel.h: Likewise.
39476 * include/grub/disk.h: Likewise.
39477 * include/grub/dl.h: Likewise.
39478 * include/grub/i386/linux.h: Likewise.
39479 * include/grub/i386/pc/biosdisk.h: Likewise.
39480 * include/grub/efi/api.h: Likewise.
39481 * include/grub/efi/pe32.h: Likewise.
39482 * include/grub/util/misc.h: Likewise.
39483 * normal/execute.c: Likewise.
39484 * normal/arg.c: Likewise.
39485 * normal/completion.c: Likewise.
39486 * normal/lexer.c: Likewise.
39487 * normal/parser.y: Likewise.
39488 * normal/misc.c: Likewise.
39489 * commands/i386/pc/vbeinfo.c: Likewise.
39490 * commands/hexdump.c: Likewise.
39491 * commands/terminal.c: Likewise.
39492 * commands/ls.c: Likewise.
39493 * commands/help.c: Likewise.
39494 * partmap/pc.c: Likewise.
39495 * loader/efi/chainloader.c: Likewise.
39496 * loader/multiboot_loader.c: Likewise.
39497 * loader/i386/pc/multiboot2.c: Likewise.
39498 * term/efi/console.c: Likewise.
39499 * term/i386/pc/serial.c: Likewise.
39500 * util/lvm.c: Likewise.
39501 * util/console.c: Likewise.
39502 * util/i386/efi/grub-mkimage.c: Likewise.
39503 * util/raid.c: Likewise.
39504
7f02114b 395052009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39506
39507 * commands/videotest.c: Removed include to grub/machine/memory.h.
39508
39509 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39510 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39511 (video_mod_SOURCES): Removed.
39512 (video_mod_CFLAGS): Likewise.
39513 (video_mod_LDFLAGS): Likewise.
39514 (gfxterm_mod_SOURCES): Likewise.
39515 (gfxterm_mod_CFLAGS): Likewise.
39516 (gfxterm_mod_LDFLAGS): Likewise.
39517 (videotest_mod_SOURCES): Likewise.
39518 (videotest_mod_CFLAGS): Likewise.
39519 (videotest_mod_LDFLAGS): Likewise.
39520 (bitmap_mod_SOURCES): Likewise.
39521 (bitmap_mod_CFLAGS): Likewise.
39522 (bitmap_mod_LDFLAGS): Likewise.
39523 (tga_mod_SOURCES): Likewise.
39524 (tga_mod_CFLAGS): Likewise.
39525 (tga_mod_LDFLAGS): Likewise.
39526 (jpeg_mod_SOURCES): Likewise.
39527 (jpeg_mod_CFLAGS): Likewise.
39528 (jpeg_mod_LDFLAGS): Likewise.
39529 (png_mod_SOURCES): Likewise.
39530 (png_mod_CFLAGS): Likewise.
39531 (png_mod_LDFLAGS): Likewise.
39532
39533 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39534 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39535 (video_mod_SOURCES): Added.
39536 (video_mod_CFLAGS): Likewise.
39537 (video_mod_LDFLAGS): Likewise.
39538 (videotest_mod_SOURCES): Likewise.
39539 (videotest_mod_CFLAGS): Likewise.
39540 (videotest_mod_LDFLAGS): Likewise.
39541 (bitmap_mod_SOURCES): Likewise.
39542 (bitmap_mod_CFLAGS): Likewise.
39543 (bitmap_mod_LDFLAGS): Likewise.
39544 (tga_mod_SOURCES): Likewise.
39545 (tga_mod_CFLAGS): Likewise.
39546 (tga_mod_LDFLAGS): Likewise.
39547 (jpeg_mod_SOURCES): Likewise.
39548 (jpeg_mod_CFLAGS): Likewise.
39549 (jpeg_mod_LDFLAGS): Likewise.
39550 (png_mod_SOURCES): Likewise.
39551 (png_mod_CFLAGS): Likewise.
39552 (png_mod_LDFLAGS): Likewise.
39553 (gfxterm_mod_SOURCES): Likewise.
39554 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39555 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39556
39557 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39558 grub/machine/console.h.
39559
644fff97 395602009-01-04 Jerone Young <jerone@gmail.com>
39561
39562 Make on screen instructions clearer
39563
39564 Based on patch created by Jidanni <jidanni@jidanni.org>
39565
39566 * normal/menu.c: print clearer instructions on the screen
39567
1e901a75 395682009-01-02 Colin D Bennett <colin@gibibit.com>
39569
39570 New font engine.
34c44600 39571
1e901a75 39572 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39573 build system and fixed gfxterm.c to work with different sized fonts.
39574
39575 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39576
1e901a75 39577 * configure: Re-generated.
34c44600 39578
1e901a75 39579 * DISTLIST: Removed font/manager.c.
39580 Added font/font.c.
39581 Added font/font_cmd.c.
34c44600 39582
1e901a75 39583 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39584 compilation.
34c44600 39585
1e901a75 39586 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39587
39588 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39589
39590 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39591
1e901a75 39592 * normal/menu.c: Likewise.
34c44600 39593
1e901a75 39594 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39595 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39596
1e901a75 39597 * include/grub/font.h: Replaced with new file.
34c44600 39598
1e901a75 39599 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39600 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39601 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39602 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39603 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39604 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39605 fg_red, fg_green, fg_blue, fg_alpha.
39606 (grub_video_adapter): Removed blit_glyph.
34c44600 39607 (grub_video_blit_glyph): Removed.
39608
1e901a75 39609 * font/manager.c: Removed file.
34c44600 39610
39611 * font/font.c: New file.
39612
1e901a75 39613 * font/font_cmd.c: Likewise.
34c44600 39614
1e901a75 39615 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39616
1e901a75 39617 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39618 (grub_video_vbe_map_rgba): Likewise.
39619 (grub_video_vbe_unmap_color_int): Likewise.
39620 (grub_video_vbe_blit_glyph): Removed.
39621 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39622
1e901a75 39623 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39624 (get_pixel): Likewise.
34c44600 39625 (set_pixel): Likewise.
39626
1e901a75 39627 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39628
1e901a75 39629 * term/gfxterm.c: Adapted to new font engine.
34c44600 39630
1e901a75 39631 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39632
1e901a75 39633 * term/i386/pc/vga.c: Likewise.
34c44600 39634
1e901a75 39635 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39636
1e901a75 39637 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39638
1e901a75 39639 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39640
1e901a75 39641 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39642
1e901a75 39643 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39644
1e901a75 39645 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39646
1e901a75 39647 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39648
1e901a75 39649 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39650
1e901a75 39651 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39652
39653 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39654
1e901a75 39655 * util/grub-mkconfig_lib.in: Changed font extension.
39656
278922e8 396572008-12-28 Felix Zielcke <fzielcke@z-51.de>
39658
39659 * util/getroot.c (grub_util_get_grub_dev): Add support for
39660 /dev/md/dNNpNN style partitionable mdraid devices.
39661
3ced05cf 396622008-12-12 Alex Smith <alex@alex-smith.me.uk>
39663
39664 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39665 at a time limit of the PXE TFTP API correctly.
39666 (grub_pxefs_close): Likewise.
39667
7fd0ee30 396682008-11-29 Robert Millan <rmh@aybabtu.com>
39669
34c44600 39670 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39671 grub_ata_device_initialize() calls.
39672
34c44600 396732008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39674
39675 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39676 iteration failed.
39677 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39678
89313780 396792008-11-28 Robert Millan <rmh@aybabtu.com>
39680
39681 Fix build on powerpc-ieee1275. Based on patch created by
39682 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39683 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39684 `kern/ieee1275/mmap.c'.
39685 * include/grub/powerpc/ieee1275/memory.h: New file.
39686
15257703 39687 Provide grub-install on coreboot.
39688 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39689 (grub_install_SOURCES): New variable.
39690 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39691 usable on coreboot.
39692
9fc5388a 396932008-11-25 Felix Zielcke <fzielcke@z-51.de>
39694
39695 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39696 to `grub_term_input_t'.
39697 (grub_term_get_current_output): Change return type to
39698 `grub_term_output_t'.
39699
bc3a2f31 397002008-11-22 Robert Millan <rmh@aybabtu.com>
39701
34c44600 39702 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39703 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39704 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39705 grub_vga_text_cls().
39706
80fc88f2 39707 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39708 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39709
cbf36fd3 39710 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39711 to 0x200000 (avoids trouble with some OFW implementations, and matches
39712 with the one in Yaboot).
39713 Reported by Manoel Abranches
39714
73e8e268 397152008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39716
39717 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39718 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39719
73e8e268 39720 * util/grub-mkconfig_lib.in (grub_warn): New function.
39721 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39722 warnings, to obtain consistent formatting.
39723 * util/grub.d/00_header.in: Likewise.
39724 * util/update-grub_lib.in: Likewise.
39725
e94045a1 39726 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39727 Move comment text to `#error' stanza.
e94045a1 39728
79d29fd7 39729 Harmonize ieee1275's grub_available_iterate() with the generic
39730 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39731 build problem on i386-ieee1275):
39732 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39733 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39734 parameter `type'. Update all users of this function.
39735 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39736 `kern/ieee1275/mmap.c'.
39737 * kern/ieee1275/init.c
39738 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39739 with ...
39740 (grub_machine_mmap_iterate): ... this.
39741 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39742 return type to `grub_err_t'. Update all implementations of this
39743 function prototype.
39744 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39745 Likewise.
39746
60d6b16e 39747 Add `lsmmap' command (lists firmware-provided memory map):
39748 * commands/lsmmap.c: New file.
39749 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39750 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39751 variables.
39752 * conf/powerpc-ieee1275.rmk: Likewise.
39753 * conf/i386-coreboot.rmk: Likewise.
39754 * conf/i386-ieee1275.rmk: Likewise.
39755
ebaaf49b 397562008-11-19 Robert Millan <rmh@aybabtu.com>
39757
39758 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39759 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39760 constraints to initrd allocation (based on code from
39761 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39762 for Linux to find it.
ebaaf49b 39763
dfab719f 397642008-11-14 Robert Millan <rmh@aybabtu.com>
39765
39766 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39767 order to cope with duplicate slashes.
39768
10fc3eb9 397692008-11-14 Robert Millan <rmh@aybabtu.com>
39770
39771 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39772 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39773 don't want to mess with lower memory, because it is used in the Linux
39774 loader.
39775
39776 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39777 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39778 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39779 is in our heap (probably as a result of it being corrupted during
2f2a3442 39780 decompression). Add #error instance with comment to explain why this
39781 loader isn't currently usable on PC/BIOS.
10fc3eb9 39782
e2e07847 397832008-11-14 Robert Millan <rmh@aybabtu.com>
39784
39785 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39786 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39787
fe8e8d69 397882008-11-12 Robert Millan <rmh@aybabtu.com>
39789
39790 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39791
39792 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39793 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39794 from here ...
39795 * include/grub/i386/pc/memory.h: ... to here.
39796
976b07d0 397972008-11-12 Robert Millan <rmh@aybabtu.com>
39798
39799 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39800 split).
39801
39802 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39803 (grub_console_cur_color, grub_console_real_putchar)
39804 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39805 (grub_console_setcolorstate, grub_console_setcolor)
39806 (grub_console_getcolor): Move from here ...
39807 * include/grub/i386/vga_common.h: ... to here (new file).
39808
39809 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39810 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39811 `<grub/i386/io.h>'.
39812 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39813 `<grub/i386/vga_common.h>'.
39814
76679cd3 398152008-11-12 Robert Millan <rmh@aybabtu.com>
39816
39817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39818 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39819 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39820 variables.
39821 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39822 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39823
39824 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39825 grub_console_init() with call to grub_vga_text_init().
39826 (grub_machine_fini): Replace call to
39827 grub_console_fini() with call to grub_vga_text_fini() and
39828 grub_at_keyboard_fini().
39829
39830 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39831 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39832 (grub_console_setcolorstate, grub_console_setcolor)
39833 (grub_console_getcolor): New function prototypes.
39834
39835 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39836 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39837 (grub_vga_text_setcursor): Static-ize.
39838 (grub_vga_text_term): New structure.
39839 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39840
39841 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39842 (grub_console_cur_color, grub_console_standard_color)
39843 (grub_console_normal_color, grub_console_highlight_color)
39844 (map_char, grub_console_putchar, grub_console_getcharwidth)
39845 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39846 (grub_console_getcolor): Move from here ...
39847 * term/i386/vga_common.c: ... to here (same function names).
39848
95b841d3 398492008-11-12 Robert Millan <rmh@aybabtu.com>
39850
39851 Use newly-added Multiboot support in coreboot.
39852
39853 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39854 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39855
39856 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39857 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39858 (codestart): Store the MBI in `startup_multiboot_info' when we're
39859 being loaded using Multiboot.
39860
39861 * kern/i386/coreboot/init.c (grub_machine_init): Move
39862 grub_at_keyboard_init() call to beginning of function (useful for
39863 debugging). Call grub_machine_mmap_init() before attempting to use
39864 grub_machine_mmap_iterate().
39865 (grub_lower_mem, grub_upper_mem): Move from here ...
39866 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39867 here (new file).
39868
39869 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39870 function prototype.
39871
761ca975 398722008-11-12 Robert Millan <rmh@aybabtu.com>
39873
39874 Fix a regression introduced by the at_keyboard.mod split. Because
39875 some terminals are default on some platforms and non-default on
39876 others, the first terminal being registered determines which is
39877 going to be default.
39878
39879 * kern/term.c (grub_term_register_input): If this is the first
39880 terminal being registered, set it as the current one.
39881 (grub_term_register_output): Likewise.
39882
39883 * term/efi/console.c (grub_console_init): Do not call
39884 grub_term_set_current_output() or grub_term_set_current_input().
39885 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39886 * term/i386/pc/console.c (grub_console_init): Likewise.
39887 (grub_console_fini): Do not call grub_term_set_current_input()
39888 (but leave grub_term_set_current_output() to restore text mode).
39889
6c529df7 398902008-11-10 Robert Millan <rmh@aybabtu.com>
39891
39892 * util/grub.d/00_header.in: Add backward compatibility check for
39893 versions of terminal.mod that don't understand `terminal_input' or
39894 `terminal_output'.
39895
132e4113 398962008-11-09 Robert Millan <rmh@aybabtu.com>
39897
39898 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39899 `terminal_input' / `terminal_output', not `terminal'.
39900
ac293d50 399012008-11-08 Robert Millan <rmh@aybabtu.com>
39902
39903 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39904 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39905
0025933a 399062008-11-08 Robert Millan <rmh@aybabtu.com>
39907
39908 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39909 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39910 members. Update all users.
39911 * util/console.c (grub_ncurses_term): Split in ...
39912 (grub_ncurses_term_input): ... this, and ...
39913 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39914 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39915
37c86336 399162008-11-08 Robert Millan <rmh@aybabtu.com>
39917
39918 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39919 (PKGDATA): Add $(pkgdata_SRCDIR).
39920 (pkglib_BUILDDIR): New variable.
39921 (pkgdata_SRCDIR): New variable.
39922 (build_env.mk): New target.
39923 (include_DATA): New variable.
39924 (install-local): Install $(include_DATA) files in $(includedir).
39925
b6c15a2d 399262008-11-07 Pavel Roskin <proski@gnu.org>
39927
d99d46f1 39928 * gendistlist.sh: Use C locale for sorting to ensure consistent
39929 output on all systems.
39930
b6c15a2d 39931 * util/grub.d/00_header.in: Remove incorrect space before
39932 "serial".
39933
c32ee8c9 399342008-11-07 Robert Millan <rmh@aybabtu.com>
39935
39936 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39937 per specification.
39938 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39939 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39940 (based on find_multi_boot1_header).
39941 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39942 using find_multi_boot2_header(), and abort if neither Multiboot or
39943 Multiboot headers were found.
39944
651c29b7 399452008-11-07 Robert Millan <rmh@aybabtu.com>
39946
39947 Modularize at_keyboard.mod:
39948
39949 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39950 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39951 (at_keyboard_mod_LDFLAGS): New variables.
39952
39953 Actual terminal split:
39954
39955 * include/grub/term.h (struct grub_term): Split in ...
39956 (struct grub_term_input): ... this, and ...
39957 (struct grub_term_output): ... this. Update all users.
39958 (grub_term_set_current): Split in ...
39959 (grub_term_set_current_input): ... this, and ...
39960 (grub_term_set_current_output): ... this.
39961 (grub_term_get_current): Split in ...
39962 (grub_term_get_current_input): ... this, and ...
39963 (grub_term_get_current_output): ... this.
39964 (grub_term_register): Split in ...
39965 (grub_term_register_input): ... this, and ...
39966 (grub_term_register_output): ... this.
39967 (grub_term_unregister): Split in ...
39968 (grub_term_unregister_input): ... this, and ...
39969 (grub_term_unregister_output): ... this.
39970 (grub_term_iterate): Split in ...
39971 (grub_term_iterate_input): ... this, and ...
39972 (grub_term_iterate_output): ... this.
39973
39974 * kern/term.c (grub_term_list): Split in ...
39975 (grub_term_list_input): ... this, and ...
39976 (grub_term_list_output): ... this. Update all users.
39977 (grub_cur_term): Split in ...
39978 (grub_cur_term_input): ... this, and ...
39979 (grub_cur_term_output): ... this. Update all users.
39980 (grub_term_set_current): Split in ...
39981 (grub_term_set_current_input): ... this, and ...
39982 (grub_term_set_current_output): ... this.
39983 (grub_term_get_current): Split in ...
39984 (grub_term_get_current_input): ... this, and ...
39985 (grub_term_get_current_output): ... this.
39986 (grub_term_register): Split in ...
39987 (grub_term_register_input): ... this, and ...
39988 (grub_term_register_output): ... this.
39989 (grub_term_unregister): Split in ...
39990 (grub_term_unregister_input): ... this, and ...
39991 (grub_term_unregister_output): ... this.
39992 (grub_term_iterate): Split in ...
39993 (grub_term_iterate_input): ... this, and ...
39994 (grub_term_iterate_output): ... this.
39995
39996 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39997 a check for input and one for output (and only attempt to get keys
39998 from user when input works).
39999
40000 * util/grub-probe.c (grub_term_get_current): Split in ...
40001 (grub_term_get_current_input): ... this, and ...
40002 (grub_term_get_current_output): ... this.
40003 * util/grub-fstest.c: Likewise.
40004 * util/i386/pc/grub-setup.c: Likewise.
40005 * util/grub-editenv.c: Likewise.
40006
40007 Portability adjustments:
40008
40009 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40010 `term/i386/pc/at_keyboard.c'.
40011 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40012 grub_keyboard_controller_init() (now handled by terminal .init).
40013 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40014 grub_at_keyboard_init().
40015 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40016 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40017 at_keyboard.mod via input terminal interface).
40018 * include/grub/i386/coreboot/console.h: Convert into a stub for
40019 `<grub/i386/pc/console.h>'.
40020
40021 Migrate full terminals to new API:
40022
40023 * term/efi/console.c (grub_console_term): Split into ...
40024 (grub_console_term_input): ... this, and ...
40025 (grub_console_term_output): ... this. Update all users.
40026 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40027 (grub_ofconsole_init): Split into ...
40028 (grub_ofconsole_init_input): ... this, and ...
40029 (grub_ofconsole_init_output): ... this.
40030 (grub_ofconsole_term): Split into ...
40031 (grub_ofconsole_term_input): ... this, and ...
40032 (grub_ofconsole_term_output): ... this. Update all users.
40033 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40034 (grub_serial_term_input): ... this, and ...
40035 (grub_serial_term_output): ... this. Update all users.
40036 * term/i386/pc/console.c (grub_console_term): Split into ...
40037 (grub_console_term_input): ... this, and ...
40038 (grub_console_term_output): ... this. Update all users.
40039 (grub_console_term_input): Only enable it on PC/BIOS platform.
40040 (grub_console_init): Remove grub_keyboard_controller_init() call.
40041
40042 Migrate input terminals to new API:
40043
40044 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40045 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40046 i386-specific anyway).
40047 (grub_console_checkkey): Rename to ...
40048 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40049 users.
40050 (grub_keyboard_controller_orig): New variable.
40051 (grub_console_getkey): Rename to ...
40052 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40053 users.
40054 (grub_keyboard_controller_init): Static-ize. Save original
40055 controller value so that it can be restored ...
40056 (grub_keyboard_controller_fini): ... here (new function).
40057 (grub_at_keyboard_term): New structure.
40058 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40059 functions.
40060
40061 Migrate output terminals to new API:
40062
40063 * term/i386/pc/vga.c (grub_vga_term): Change type to
40064 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40065 members. Update all users.
40066 * term/gfxterm.c (grub_video_term): Change type to
40067 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40068 members. Update all users.
40069 * include/grub/i386/pc/console.h (grub_console_checkkey)
40070 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40071 etc).
40072
40073 Migrate `terminal' command and userland tools to new API:
40074
40075 * commands/terminal.c (grub_cmd_terminal): Split into ...
40076 (grub_cmd_terminal_input): ... this, and ...
40077 (grub_cmd_terminal_output): ... this.
40078 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40079 `terminal_input' and `terminal_output'.
40080 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40081 `terminal_input' / `terminal_output' API.
40082 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40083 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40084 provided ${GRUB_TERMINAL}, convert it).
40085
96e5d876 400862008-11-04 Robert Millan <rmh@aybabtu.com>
40087
40088 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40089 for FreeBSD.
40090 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40091
556f3775 400922008-11-03 Bean <bean123ch@gmail.com>
40093
40094 * kern/elf.c (grub_elf32_load): Revert to previous code.
40095 (grub_elf64_load): Likewise.
40096
40097 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40098
926b9823 400992008-11-01 Robert Millan <rmh@aybabtu.com>
40100
40101 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40102 (TARGET_CPPFLAGS): Likewise.
40103 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40104
1432e958 401052008-11-01 Carles Pina i Estany <carles@pina.cat>
40106
40107 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40108
dba3f844 401092008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40110
40111 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40112 addition of objects until the code is not going to be able to fail.
40113
dba3f844 401142008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40115
40116 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40117 (add a missing NULL check, and correct them by moving the pointer
40118 operations after the actual check).
40119
7ab28c21 401202008-10-29 Robert Millan <rmh@aybabtu.com>
40121
40122 * util/i386/pc/grub-install.in: Handle empty string as output from
40123 make_system_path_relative_to_its_root().
40124
1b7748eb 401252008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40126
40127 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40128 circular metadata worst case scenario. If the metadata is circular
40129 then copy the wrap in place.
40130 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40131 project lib/format_text/layout.h
40132 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40133
c9618ab2 401342008-10-03 Felix Zielcke <fzielcke@z-51.de>
40135
7a36edca 40136 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40137
bf981c62 401382008-10-03 Felix Zielcke <fzielcke@z-51.de>
40139
40140 * util/update-grub_lib.in: Mention filename in warning message.
40141
6d994591 401422008-09-29 Felix Zielcke <fzielcke@z-51.de>
40143
40144 * NEWS: Update for rename of update-grub to grub-mkconfig.
40145
18ade780 401462008-09-29 Felix Zielcke <fzielcke@z-51.de>
40147
40148 * util/update-grub_lib.in: Copy to ...
40149 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40150 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40151 * util/update-grub.in: Rename to ...
40152 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40153 option. Add `--output' option to allow users to specify the generated
40154 configuration file. Default to stdout.
40155 (update_grub_dir): Rename to ...
40156 (grub_mkconfig_dir): ... this.
40157 (grub_cfg): Default to an empty string.
40158 * conf/common.rmk (update-grub): Rename to ...
40159 (grub-mkconfig): ... this.
40160 (update-grub_lib): Copy to ...
40161 (grub-mkconfig_lib): ... this.
40162 (update-grub_SCRIPTS): Copy to ...
40163 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40164 (update-grub_DATA): Rename to ...
40165 (grub-mkconfig_DATA): ... this.
40166
556ce6ac 401672008-09-28 Robert Millan <rmh@aybabtu.com>
40168
40169 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40170 to `modified'. Add the real `created' field.
40171 (grub_iso9660_uuid): Use `modified' rather than `created' for
40172 constructing the UUID.
40173
401742008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40175
40176 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40177 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40178
92274e85 401792008-09-28 Bean <bean123ch@gmail.com>
40180
40181 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40182 Thanks to Christian Franke for finding this bug.
40183
add6f17a 401842008-09-25 Robert Millan <rmh@aybabtu.com>
40185
40186 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40187 instances of grub_util_get_disk_name() (see previous commit).
40188
d2a367b8 401892008-09-25 Robert Millan <rmh@aybabtu.com>
40190
40191 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40192 `util/i386/get_disk_name.c'.
40193 * conf/i386-efi.rmk: Likewise.
40194 * conf/x86_64-efi.rmk: Likewise.
40195 * conf/i386-coreboot.rmk: Likewise.
40196 * conf/i386-ieee1275.rmk: Likewise.
40197 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40198 `util/ieee1275/get_disk_name.c'.
40199 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40200 * util/ieee1275/get_disk_name.c: Remove file.
40201 * util/i386/get_disk_name.c: Remove file.
40202 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40203 "hd%d" for device.map entries, rather than using
40204 grub_util_get_disk_name().
40205
81a06771 402062008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40207
40208 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40209 warning.
40210 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40211
5a004279 402122008-09-24 Carles Pina i Estany <carles@pina.cat>
40213
40214 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40215 Changed to 0x5100.
40216 (GRUB_TERM_PPAGE): Changed to 0x4900.
40217
397093d3 402182008-09-24 Robert Millan <rmh@aybabtu.com>
40219
40220 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40221 macros (they were i386-pc specific).
40222 * include/grub/sparc64/ieee1275/console.h: Likewise.
40223 * include/grub/efi/console.h: Likewise.
40224
a91b6c7c 402252008-09-22 Bean <bean123ch@gmail.com>
40226
40227 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40228 resident and in attribute list.
40229
40230 * include/grub/ntfs.h (BMP_LEN): Removed.
40231
c40fd116 402322008-09-22 Bean <bean123ch@gmail.com>
40233
81a06771 40234 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40235 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40236
40237 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40238 error occurs, as grub_disk_open will call grub_disk_close, which will
40239 call p->close (scsi).
40240
81a06771 402412008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40242
40243 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40244 (AC_PREREQ): Bumped to 2.59.
40245 (AC_TRY_COMPILE): Replace obsolete macro with ...
40246 (AC_COMPILE_IFELSE): ... this.
40247 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40248 (AC_LINK_IFELSE): ... this.
40249
5dc43410 402502008-09-21 Felix Zielcke <fzielcke@z-51.de>
40251
40252 * autogen.sh: Add a call to `gendistlist.sh'.
40253
9035dce4 402542008-09-19 Christian Franke <franke@computer.org>
40255
40256 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40257 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40258 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40259 Export __enable_execute_stack() to modules.
40260 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40261 New function.
40262
7fd75377 402632008-09-09 Felix Zielcke <fzielcke@z-51.de>
40264
040030b3 40265 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40266 Sort the list.
40267
402682008-09-09 Felix Zielcke <fzielcke@z-51.de>
40269
40270 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40271 #include <grub/util/hostdisk.h>.
40272
89d5ffcf 402732008-09-08 Robert Millan <rmh@aybabtu.com>
40274
40275 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40276 segments when their filesz is zero (grub_file_read() interprets
81a06771 40277 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40278 Use `lowest_segment' rather than 0 for calculating the current
40279 segment load address.
40280
40da438f 402812008-09-08 Robert Millan <rmh@aybabtu.com>
40282
40283 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40284 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40285 clobbered useful information.
40286
ddbf5556 402872008-09-08 Robert Millan <rmh@aybabtu.com>
40288
40289 * include/grub/util/biosdisk.h: Move to ...
40290 * include/grub/util/hostdisk.h: ... here. Update all users.
40291 * util/biosdisk.c: Move to ...
40292 * util/hostdisk.c: ... here. Update all users.
40293
783d0f48 402942008-09-07 Robert Millan <rmh@aybabtu.com>
40295
40296 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40297 variables.
40298 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40299 and length can be stored directly in the `mbi->mmap_addr' and
40300 `mbi->mmap_length' struct fields.
40301
548e2ea5 403022008-09-07 Robert Millan <rmh@aybabtu.com>
40303
40304 * conf/i386.rmk: New file. Provides declaration for building
40305 `cpuid.mod'.
40306 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40307 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40308 variables.
40309 Include `conf/i386.mk'.
40310 * conf/i386-efi.rmk: Likewise.
40311 * conf/x86_64-efi.rmk: Likewise.
40312 * conf/i386-coreboot.rmk: Likewise.
40313 * conf/i386-ieee1275.rmk: Likewise.
40314
0ea85a37 403152008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40316
40317 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40318 Adds optimization support for BGR based modes.
40319
40320 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40321 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40322 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40323 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40324 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40325 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40326 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40327 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40328 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40329 (grub_video_i386_vbeblit_index_index): Likewise.
40330 (grub_video_i386_vbeblit_replace_directN): Added.
40331 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40332 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40333 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40334 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40335 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40336 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40337 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40338 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40339 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40340 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40341 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40342 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40343 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40344
40345 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40346 (grub_video_i386_vbefill_R8G8B8): Likewise.
40347 (grub_video_i386_vbefill_index): Likewise.
40348 (grub_video_i386_vbefill_direct32): Added.
40349 (grub_video_i386_vbefill_direct24): Likewise.
40350 (grub_video_i386_vbefill_direct16): Likewise.
40351 (grub_video_i386_vbefill_direct8): Likewise.
40352
81a06771 40353 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40354 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40355 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40356 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40357 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40358 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40359
0ea85a37 40360 * video/video.c (grub_video_get_blit_format): Updated to use new
40361 blit formats. Added handling for 16 bit color modes.
81a06771 40362
40363 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40364 fillers.
40365 (common_blitter): Updated to use new blitters.
40366
40367 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40368 Removed.
40369 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40370 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40371 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40372 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40373 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40374 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40375 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40376 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40377 (grub_video_i386_vbeblit_index_index): Likewise.
40378 (grub_video_i386_vbeblit_replace_directN): Added.
40379 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40380 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40381 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40382 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40383 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40384 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40385 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40386 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40387 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40388 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40389 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40390 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40391 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40392
0ea85a37 40393 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40394 (grub_video_i386_vbefill_R8G8B8): Likewise.
40395 (grub_video_i386_vbefill_index): Likewise.
40396 (grub_video_i386_vbefill_direct32): Added.
40397 (grub_video_i386_vbefill_direct24): Likewise.
40398 (grub_video_i386_vbefill_direct16): Likewise.
40399 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40400
0ea85a37 40401 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40402 types.
81a06771 40403
0ea85a37 40404 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40405 types.
81a06771 40406
0ea85a37 40407 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40408 blitter types.
81a06771 40409
0ea85a37 40410 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40411 types.
40412
e8a83df6 404132008-09-06 Felix Zielcke <fzielcke@z-51.de>
40414
40415 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40416 RAID level 1.
40417
6bcd8ee5 404182008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40419
6bcd8ee5 40420 * fs/iso9660.c (grub_iso9660_date): New structure.
40421 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40422 (grub_iso9660_uuid): New function.
c375ae58 40423
59261157 404242008-09-05 Bean <bean123ch@gmail.com>
40425
40426 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40427
40428 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40429 insensitive bit for names in Win32 and Win32 & DOS namespace.
40430
40431 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40432
40433 * include/grub/types.h (LONG_MAX): Likewise.
40434
58b6645a 404352008-09-04 Felix Zielcke <fzielcke@z-51.de>
40436
4ee55921 40437 * util/getroot.c: Include <config.h>.
40438 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40439 add support for /dev/md/N devices and handle LVM double dash escaping.
40440
404412008-09-04 Felix Zielcke <fzielcke@z-51.de>
40442
40443 * config.guess: Update to latest version from config git.
40444 * config.sub: Likewise.
58b6645a 40445
9124f65d 404462008-09-03 Robert Millan <rmh@aybabtu.com>
40447
40448 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40449 `disk->total_sectors'.
40450
81a06771 404512008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40452
40453 * include/grub/normal.h: Fixed incorrect comment for
40454 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40455
81a06771 404562008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40457
40458 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40459 values with defines.
40460
40461 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40462 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40463 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40464 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40465 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40466 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40467 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40468 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40469 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40470 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40471 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40472 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40473 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40474 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40475 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40476 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40477 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40478 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40479 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40480
93d5cbf8 404812008-08-31 Robert Millan <rmh@aybabtu.com>
40482
40483 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40484 declaration.
40485 (grub_multiboot): Fix a few warnings.
40486
21751d50 404872008-08-31 Robert Millan <rmh@aybabtu.com>
40488
40489 * loader/i386/pc/multiboot.c: Update comment not to say that
40490 boot_device support is unimplemented.
40491
e27a75c5 404922008-08-31 Robert Millan <rmh@aybabtu.com>
40493
40494 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40495 or memory map support are unimplemented.
40496
81a06771 404972008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40498
40499 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40500
81a06771 405012008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40502
40503 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40504 total video memory in 'vbeinfo' output; show color format details for
40505 each video mode.
40506
7c5d8d95 405072008-08-30 Pavel Roskin <proski@gnu.org>
40508
40509 * util/genmoddep.c: Remove for real this time.
40510 * DISTLIST: Remove util/genmoddep.c.
40511
4cebd25a 405122008-08-30 Robert Millan <rmh@aybabtu.com>
40513
40514 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40515 as required by Multiboot spec (it was already 4-byte aligned, but
40516 only by chance).
40517
b497a269 405182008-08-29 Pavel Roskin <proski@gnu.org>
40519
e3925185 40520 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40521 * kern/powerpc/ieee1275/startup.S: ... this.
40522 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40523 * DISTLIST: Likewise.
40524
b497a269 40525 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40526 grub/cpu/kernel.h. Add start label for consistency with other
40527 platforms. Add grub_prefix immediately after start. Add jump
40528 to the code after grub_prefix.
40529 * include/grub/powerpc/kernel.h: Provide valid values for
40530 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40531
6e5a42fe 405322008-08-29 Bean <bean123ch@gmail.com>
40533
40534 * configure.ac: Change host_os to cygwin for mingw.
40535 (asprintf): New check for function.
40536
40537 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40538 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40539
40540 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40541 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40542 sync, sleep and grub_util_get_disk_size for mingw.
40543
40544 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40545 to get size in mingw.
40546 (open_device): Use flag O_BINARY if it's defined.
40547 (find_root_device): Add dummy code for mingw.
40548
40549 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40550 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40551 (get_scsi_disk_name): Return 0 for mingw.
40552
40553 * util/hostfs.c: #include <grub/util/misc.h>.
40554 (grub_hostfs_open): Use "rb" flag to open file, use
40555 grub_util_get_disk_size to get disk size for mingw.
40556
40557 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40558 (asprintf): New function if HAVE_ASPRINTF is not set.
40559 (sync): New function for mingw.
40560 (sleep): Likewise.
40561 (grub_util_get_disk_size): Likewise.
40562
ab3f2673 405632008-08-28 Pavel Roskin <proski@gnu.org>
40564
40565 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40566 kern/time.c.
40567
1c282483 405682008-08-28 Robert Millan <rmh@aybabtu.com>
40569
40570 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40571
678e849c 405722008-08-28 Robert Millan <rmh@aybabtu.com>
40573
40574 Change find_grub_drive() syntax so it doesn't prevent it from
40575 detecting NULL names as errors.
40576
40577 * util/biosdisk.c (find_grub_drive): Move free slot search code
40578 from here ...
40579 (find_free_slot): ... to here.
40580 (read_device_map): Use find_free_slot() to search for free slots.
40581
965c75ca 405822008-08-27 Marco Gerards <marco@gnu.org>
40583
40584 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40585 (scsi_mod_SOURCES): New variable.
40586 (scsi_mod_CFLAGS): Likewise
40587 (scsi_mod_LDFLAGS): Likewise.
40588
40589 * disk/scsi.c: New file.
40590
40591 * include/grub/scsi.h: Likewise.
40592
40593 * include/grub/scsicmd.h: Likewise.
40594
40595 * disk/ata.c: Include <grub/scsi.h>.
40596 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40597 instead.
40598 (grub_ata_iterate): Skip ATAPI devices.
40599 (grub_ata_open): Only handle ATAPI devices.
40600 (struct grub_atapi_read): Removed.
40601 (grub_atapi_readsector): Likewise.
40602 (grub_ata_read): No longer handle ATAPI devices.
40603 (grub_ata_write): Likewise.
40604 (grub_atapi_iterate): New function.
40605 (grub_atapi_read): Likewise.
40606 (grub_atapi_write): Likewise.
40607 (grub_atapi_open): Likewise.
40608 (grub_atapi_close): Likewise.
40609 (grub_atapi_dev): New variable.
40610 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40611 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40612
40613 * include/grub/disk.h (enum grub_disk_dev_id): Add
40614 `GRUB_DISK_DEVICE_SCSI_ID'.
40615
c07ae501 406162008-08-26 Robert Millan <rmh@aybabtu.com>
40617
40618 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40619 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40620 descriptive.
40621
5ed20adc 406222008-08-23 Bean <bean123ch@gmail.com>
40623
40624 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40625 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40626 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40627 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40628 dm_nv.mod.
40629 (raid5rec_mod_SOURCES): New macro.
40630 (raid5rec_mod_CFLAGS): Likewise.
40631 (raid5rec_mod_LDFLAGS): Likewise.
40632 (raid6rec_mod_SOURCES): Likewise.
40633 (raid6rec_mod_CFLAGS): Likewise.
40634 (raid6rec_mod_LDFLAGS): Likewise.
40635 (mdraid_mod_SOURCES): Likewise.
40636 (mdraid_mod_CFLAGS): Likewise.
40637 (mdraid_mod_LDFLAGS): Likewise.
40638 (dm_nv_mod_SOURCES): Likewise.
40639 (dm_nv_mod_CFLAGS): Likewise.
40640 (dm_nv_mod_LDFLAGS): Likewise.
40641
40642 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40643 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40644 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40645
40646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40647 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40648
40649 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40650
40651 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40652
40653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40654
40655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40656
40657 * disk/raid5_recover.c: New file.
40658
40659 * disk/raid6_recover.c: Likewise.
40660
40661 * disk/mdraid_linux.c: Likewise.
40662
40663 * disk/dmraid_nvidia.c: Likewise.
40664
40665 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40666 ULONG_MAX.
40667
40668 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40669 calculate the size of raid device.
40670 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40671 different layout of raid5.
40672 (grub_raid_scan_device): Remove code specific to mdraid.
40673 (grub_raid_list): New variable.
40674 (free_array): New function.
40675 (grub_raid_register): Likewise.
40676 (grub_raid_unregister): Likewise.
40677 (grub_raid_rescan): Likewise.
40678 (GRUB_MOD_INIT): Don't iterate device here.
40679 (GRUB_MOD_FINI): Use free_array to release resource.
40680
40681 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40682 (grub_raid5_recover_func_t): New function variable type.
40683 (grub_raid6_recover_func_t): Likewise.
40684 (grub_raid5_recover_func): New variable.
40685 (grub_raid6_recover_func): Likewise.
40686 (grub_raid_register): New function.
40687 (grub_raid_unregister): Likewise.
40688 (grub_raid_rescan): Likewise.
40689 (grub_raid_block_xor): Likewise.
40690
40691 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40692 (CMD_CRC): New macro.
40693 (part): Removed.
40694 (read_file): Handle device as well as file.
40695 (cmd_crc): New function.
40696 (fstest): Handle multiple disks.
40697 (options): Remove part, raw and long, add root and diskcount.
40698 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40699 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40700 add handling for the new options, support multiple disks.
40701
40702 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40703
29c18915 407042008-08-23 Bean <bean123ch@gmail.com>
40705
40706 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40707
40708 * genfslist.sh: Ignore kernel.mod.
40709
40710 * genpartmaplist.sh: Likewise.
40711
8415f261 407122008-08-23 Robert Millan <rmh@aybabtu.com>
40713
40714 * util/getroot.c (find_root_device): Skip anything that starts with
40715 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40716
d5a7dc5b 407172008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40718
d5a7dc5b 40719 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40720 * util/grub.d/00_header.in: Allow the administrator to change default
40721 gfxmode via ${GRUB_GFXMODE}.
40722
380cfbb4 407232008-08-21 Felix Zielcke <fzielcke@z-51.de>
40724
40725 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40726
c9baafe7 407272008-08-21 Robert Millan <rmh@aybabtu.com>
40728
40729 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40730 loader.
40731 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40732 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40733
e290bef2 407342008-08-20 Carles Pina i Estany <carles@pina.cat>
40735
40736 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40737 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40738
f9dbfc96 407392008-08-19 Robert Millan <rmh@aybabtu.com>
40740
40741 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40742 (struct grub_virtual_screen): Remove `cursor_color'.
40743 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40744 initialization.
40745 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40746
dd6bd6ab 407472008-08-18 Robert Millan <rmh@aybabtu.com>
40748
40749 Unify (identical) linux_normal.c files.
40750 * loader/i386/efi/linux_normal.c: Move from here ...
40751 * loader/linux_normal.c: ... to here. Update all users.
40752 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40753 * loader/i386/ieee1275/linux_normal.c: Likewise.
40754
7f42f83e 407552008-08-18 Robert Millan <rmh@aybabtu.com>
40756
40757 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40758 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40759 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40760 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40761 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40762 New macros.
40763 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40764 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40765 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40766 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40767 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40768 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40769 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40770 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40771 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40772 portably using grub_getxy().
40773 Replace `-EFI' with `-bzImage' in boot message.
40774
38487ddb 407752008-08-17 Robert Millan <rmh@aybabtu.com>
40776
40777 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40778
deceb3ec 407792008-08-17 Robert Millan <rmh@aybabtu.com>
40780
40781 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40782
40783 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40784 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40785 (grub_machine_mmap_iterate): New function declaration.
40786 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40787 structure.
40788 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40789 macros.
40790
40791 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40792 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40793 Move e820 parsing from here ...
40794 * kern/i386/pc/mmap.c: New file.
40795 (grub_machine_mmap_iterate): ... to here.
40796
40797 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40798 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40799 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40800 (grub_available_iterate): Redeclare to return `void', and redeclare
40801 its hook to use grub_uint64_t as addr and size parameters, and rename
40802 to ...
40803 (grub_machine_mmap_iterate): ... this. Update all users.
40804
40805 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40806 to make it more readable. Rename to ...
40807 (grub_machine_mmap_iterate): ... this.
40808
40809 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40810 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40811 (grub_multiboot): Allocate an extra region after the payload, and fill
40812 it with a Multiboot memory map. Adjust a.out loader to calculate size
40813 with the extra space.
40814 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40815 with the extra space.
40816
f8aa0f43 408172008-08-17 Carles Pina i Estany <carles@pina.cat>
40818
9807deb9 40819 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40820
605f5bb6 408212008-08-17 Felix Zielcke <fzielcke@z-51.de>
40822
40823 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40824 mdate-sh to the list `find' searches for.
40825 * DISTLIST: Regenerated.
40826
210db6c6 408272008-08-16 Felix Zielcke <fzielcke@z-51.de>
40828
40829 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40830 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40831 genmoddep.awk, gensymlist.sh.in.
40832 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40833 * DISTLIST: Regenerated.
48cdbfd4 40834 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40835
1082b929 408362008-08-16 Robert Millan <rmh@aybabtu.com>
40837
40838 * disk/raid.c (grub_raid_init): Handle/report errors set by
40839 grub_device_iterate().
40840 * disk/lvm.c (grub_lvm_init): Likewise.
40841
42ce5170 408422008-08-15 Bean <bean123ch@gmail.com>
40843
40844 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40845 and datehook.mod.
40846 (datetime_mod_SOURCES): New macro.
40847 (datetime_mod_CFLAGS): Likewise.
40848 (datetime_mod_LDFLAGS): Likewise.
40849 (date_mod_SOURCES): Likewise.
40850 (date_mod_CFLAGS): Likewise.
40851 (date_mod_LDFLAGS): Likewise.
40852 (datehook_mod_SOURCES): Likewise.
40853 (datehook_mod_CFLAGS): Likewise.
40854 (datehook_mod_LDFLAGS): Likewise.
40855
40856 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40857 and datehook.mod.
40858 (datetime_mod_SOURCES): New macro.
40859 (datetime_mod_CFLAGS): Likewise.
40860 (datetime_mod_LDFLAGS): Likewise.
40861 (date_mod_SOURCES): Likewise.
40862 (date_mod_CFLAGS): Likewise.
40863 (date_mod_LDFLAGS): Likewise.
40864 (datehook_mod_SOURCES): Likewise.
40865 (datehook_mod_CFLAGS): Likewise.
40866 (datehook_mod_LDFLAGS): Likewise.
40867
40868 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40869 and datehook.mod.
40870 (datetime_mod_SOURCES): New macro.
40871 (datetime_mod_CFLAGS): Likewise.
40872 (datetime_mod_LDFLAGS): Likewise.
40873 (date_mod_SOURCES): Likewise.
40874 (date_mod_CFLAGS): Likewise.
40875 (date_mod_LDFLAGS): Likewise.
40876 (datehook_mod_SOURCES): Likewise.
40877 (datehook_mod_CFLAGS): Likewise.
40878 (datehook_mod_LDFLAGS): Likewise.
40879
40880 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40881 and datehook.mod.
40882 (datetime_mod_SOURCES): New macro.
40883 (datetime_mod_CFLAGS): Likewise.
40884 (datetime_mod_LDFLAGS): Likewise.
40885 (date_mod_SOURCES): Likewise.
40886 (date_mod_CFLAGS): Likewise.
40887 (date_mod_LDFLAGS): Likewise.
40888 (datehook_mod_SOURCES): Likewise.
40889 (datehook_mod_CFLAGS): Likewise.
40890 (datehook_mod_LDFLAGS): Likewise.
40891
40892 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40893 and datehook.mod.
40894 (datetime_mod_SOURCES): New macro.
40895 (datetime_mod_CFLAGS): Likewise.
40896 (datetime_mod_LDFLAGS): Likewise.
40897 (date_mod_SOURCES): Likewise.
40898 (date_mod_CFLAGS): Likewise.
40899 (date_mod_LDFLAGS): Likewise.
40900 (datehook_mod_SOURCES): Likewise.
40901 (datehook_mod_CFLAGS): Likewise.
40902 (datehook_mod_LDFLAGS): Likewise.
40903
40904 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40905
40906 * commands/date.c: New file.
40907
40908 * hook/datehook.c: Likewise.
40909
40910 * include/grub/lib/datetime.h: Likewise.
40911
40912 * include/grub/i386/cmos.h: Likewise.
40913
40914 * lib/datetime.c: Likewise.
40915
40916 * lib/i386/datetime.c: Likewise.
40917
40918 * lib/efi/datetime.c: Likewise.
40919
0e9242da 409202008-08-14 Robert Millan <rmh@aybabtu.com>
40921
40922 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40923 (grub_mkelfimage_SOURCES): New variable.
40924 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40925
40926 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40927 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40928 * conf/powerpc-ieee1275.rmk: Likewise.
40929 * conf/i386-ieee1275.rmk: Likewise.
40930
40931 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40932 * kern/i386/coreboot/init.c: Likewise.
40933
40934 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40935 with `<grub/cpu/kernel.h>'.
40936 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40937 to ...
40938 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40939 * kern/i386/coreboot/startup.S: Likewise.
40940
40941 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40942 (GRUB_MOD_GAP): Remove.
40943 * include/grub/powerpc/kernel.h: New file.
40944 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40945 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40946 * include/grub/i386/kernel.h: New file.
40947 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40948 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40949 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40950
40951 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40952 `grub-mkelfimage'.
40953 Use --directory when invoking grub_mkimage.
40954
40955 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40956 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40957 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40958 and GRUB_KERNEL_CPU_PREFIX.
40959
b86408f8 409602008-08-14 Felix Zielcke <fzielcke@z-51.de>
40961
d5e619ca 40962 * include/grub/err.h (grub_err_printf): New function prototype.
40963 * util/misc.c (grub_err_printf): New function.
40964 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40965 grub_printf.
40966 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40967
7161f0e0 409682008-08-13 Robert Millan <rmh@aybabtu.com>
40969
40970 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40971
a1967522 409722008-08-13 Robert Millan <rmh@aybabtu.com>
40973
40974 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40975 boot entry.
40976
371458b5 409772008-08-12 Robert Millan <rmh@aybabtu.com>
40978
40979 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40980 of the relocation code from here ...
40981 (grub_multiboot): ... to here.
40982 (forward_relocator, backward_relocator): Move from here ...
40983 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40984 (grub_multiboot_backward_relocator): ... to here.
40985 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40986 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40987 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40988 (grub_multiboot_forward_relocator_end)
40989 (grub_multiboot_backward_relocator)
40990 (grub_multiboot_backward_relocator_end): New variables.
40991
05f9452b 409922008-08-12 Bean <bean123ch@gmail.com>
40993
40994 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40995
20024ab0 409962008-08-11 Robert Millan <rmh@aybabtu.com>
40997
40998 * kern/i386/linuxbios/startup.S: Move from here ...
40999 * kern/i386/coreboot/startup.S: ... to here.
41000
41001 * kern/i386/linuxbios/init.c: Move from here ...
41002 * kern/i386/coreboot/init.c: ... to here.
41003
41004 * kern/i386/linuxbios/table.c: Move from here ...
41005 * kern/i386/coreboot/mmap.c: ... to here.
41006
41007 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41008
e352e9cd 410092008-08-11 Robert Millan <rmh@aybabtu.com>
41010
41011 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41012 errors. Leave it to the upper layer to handle them.
41013
2d05bc6a 410142008-08-09 Christian Franke <franke@computer.org>
41015
41016 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41017 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41018 Install `grub.d/10_windows' only on Cygwin.
41019 * configure.ac: Add subst of `target_os'.
41020 Check `target_os' also before setting TARGET_OBJ2ELF.
41021 Add `--enable-grub-pe2elf'.
41022
042bd419 410232008-08-08 Robert Millan <rmh@aybabtu.com>
41024
41025 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41026 (grub_last_time): Change type to grub_uint64_t.
41027 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41028 (grub_disk_close): Likewise.
41029
41030 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41031 (run_menu): Migrate code from to using grub_get_time_ms().
41032
41033 * util/misc.c (grub_get_time_ms): New function.
41034
7f280db5 410352008-08-08 Marco Gerards <marco@gnu.org>
41036
41037 * disk/ata.c (grub_ata_regget): Change return type to
41038 `grub_uint8_t'.
41039 (grub_ata_regget2): Likewise.
41040 (grub_ata_wait_status): New function.
41041 (grub_ata_wait_busy): Removed function, updated all users to use
41042 `grub_ata_wait_status'.
41043 (grub_ata_wait_drq): Likewise.
41044 (grub_ata_cmd): New function.
41045 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41046 error handling.
41047 (grub_ata_pio_write): Add error handling.
41048 (grub_atapi_identify): Likewise.
41049 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41050 handling.
41051 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41052 handling. Actually use the detected registers. Reorder the
41053 detection logic such that it is easier to read.
41054 (grub_ata_pciinit): Do not assign the same ID to each controller.
41055 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41056 handling.
41057 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41058
41059 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41060
1fbc5e66 410612008-08-08 Marco Gerards <marco@gnu.org>
41062
41063 * NEWS: Update.
41064
819ce6c0 410652008-08-07 Bean <bean123ch@gmail.com>
41066
41067 * include/grub/x86_64/pci.h: New file.
41068
5c41d44d 410692008-08-07 Christian Franke <franke@computer.org>
41070
41071 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41072 (TIMER2_GATE): Likewise.
41073 (grub_pit_wait): Add enable/disable of the timer2 gate
41074 bit of port 0x61. This fixes a possible infinite loop.
41075
5ebc275d 410762008-08-07 Bean <bean123ch@gmail.com>
41077
41078 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41079 kern/i386/tsc.c and kern/i386/pit.c.
41080
41081 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41082 x86_64 platform.
41083
41084 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41085 <grub/i386/tsc.h>.
41086
41087 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41088
e383b3d0 410892008-08-07 Bean <bean123ch@gmail.com>
41090
41091 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41092
41093 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41094
41095 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41096 multiple inclusion. Add #include <grub/types.h>.
41097
1cbb58ac 410982008-08-06 Christian Franke <franke@computer.org>
41099
41100 * conf/common.rmk: Build and install `10_windows'.
41101 * util/grub.d/10_windows.in: New script.
41102
337f5a1e 411032008-08-06 Pavel Roskin <proski@gnu.org>
41104
41105 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41106
057bc4ac 411072008-08-06 Robert Millan <rmh@aybabtu.com>
41108
41109 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41110 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41111
2b99f123 411122008-08-06 Bean <bean123ch@gmail.com>
41113
41114 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41115 (grub_pxefs_fs_int): Remove dummy definition.
41116 (grub_pxefs_open): Use data->block_size to store the current block
41117 size setting.
41118 (grub_pxefs_read): Use block size stored in data->block_size. As the
41119 value of grub_pxe_blksize can be changed after the file is opened.
41120
9f0234cb 411212008-08-06 Bean <bean123ch@gmail.com>
41122
41123 * fs/i386/pc/pxe.c (curr_file): new variable.
41124 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41125 require the dummy internal file system anymore.
41126 (grub_pxefs_read): Removed.
41127 (grub_pxefs_close): Likewise.
41128 (grub_pxefs_fs_int): Likewise.
41129 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41130 connection when we switch file.
41131 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41132
a55d42e0 411332008-08-06 Robert Millan <rmh@aybabtu.com>
41134
41135 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41136 `halt.mod'.
41137 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41138 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41139
41140 * kern/i386/halt.c: New file.
41141 * kern/i386/reboot.c: Likewise.
41142 * include/grub/i386/reboot.h: Likewise.
41143 * include/grub/i386/halt.h: Likewise.
41144
41145 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41146 Include `<grub/cpu/halt.h>'.
41147 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41148 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41149
41150 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41151 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41152 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41153 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41154 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41155 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41156 from here ...
41157 * include/grub/i386/at_keyboard.h: ... to here.
41158
24371d26 411592008-08-05 Robert Millan <rmh@aybabtu.com>
41160
41161 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41162 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41163 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41164 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41165 `kern/generic/millisleep.c'.
41166
41167 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41168 instead of grub_get_rtc().
41169 (grub_tsc_init): Initialize `tsc_boot_time'.
41170
41171 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41172 (grub_machine_init): Use grub_tsc_init() rather than
41173 installing an RTC-based handler via grub_install_get_time_ms().
41174
41175 * kern/i386/pit.c: New file.
41176 * include/grub/i386/pit.h: Likewise.
41177
9e7007b3 411782008-08-05 Bean <bean123ch@gmail.com>
41179
41180 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41181
41182 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41183 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41184 (pxe_mod_SOURCES): New macro.
41185 (pxe_mod_CFLAGS): Likewise.
41186 (pxe_mod_LDFLAGS): Likewise.
41187 (pxecmd_mod_SOURCES): Likewise.
41188 (pxecmd_mod_CFLAGS): Likewise.
41189 (pxecmd_mod_LDFLAGS): Likewise.
41190
41191 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41192 (grub_pxe_call): Likewise.
41193
41194 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41195
41196 * commands/i386/pc/pxecmd.c: New file.
41197
9f0234cb 41198 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41199
41200 * include/grub/i386/pc/pxe.h: Likewise.
41201
6977d49f 412022008-08-05 Bean <bean123ch@gmail.com>
41203
41204 * util/console.c (grub_console_cur_color): New variable.
41205 (grub_console_standard_color): Likewise.
41206 (grub_console_normal_color): Likewise.
41207 (grub_console_highlight_color): Likewise.
41208 (color_map): Likewise.
41209 (use_color): Likewise.
41210 (NUM_COLORS): New macro.
41211 (grub_ncurses_setcolorstate): Handle color properly.
41212 (grub_ncurses_setcolor): Don't change color here, just remember the
41213 settings, color will be set in grub_ncurses_setcolorstate.
41214 (grub_ncurses_getcolor): New function.
41215 (grub_ncurses_init): Initialize color pairs.
41216 (grub_ncurses_term): New member grub_ncurses_getcolor.
41217
9c2ff3ee 412182008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41219
9c2ff3ee 41220 High resolution timer support. Implemented for x86 CPUs using TSC.
41221 Extracted generic grub_millisleep() so it's linked in only as needed.
41222 This requires a Pentium compatible CPU; if the RDTSC instruction is
41223 not supported, then it falls back on the generic grub_get_time_ms()
41224 implementation that uses the machine's RTC.
41225
41226 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41227 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41228 `kern/generic/millisleep.c'.
41229
41230 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41231 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41232
41233 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41234 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41235
41236 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41237
41238 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41239 `kern/generic/millisleep.c'.
41240
41241 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41242
41243 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41244
41245 * kern/generic/rtc_get_time_ms.c: New file.
41246
41247 * kern/generic/millisleep.c: New file.
337f5a1e 41248
9c2ff3ee 41249 * kern/misc.c: Don't include
41250 <kern/time.h> anymore.
41251 (grub_millisleep_generic): Removed.
41252
41253 * commands/sleep.c (grub_interruptible_millisleep): Uses
41254 grub_get_time_ms() instead of grub_get_rtc().
41255
41256 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41257 function.
41258 (grub_cpu_is_cpuid_supported): New inline function.
41259 (grub_cpu_is_tsc_supported): New inline function.
41260 (grub_tsc_init): New function prototype.
41261 (grub_tsc_get_time_ms): New function prototype.
41262
41263 * kern/i386/tsc.c (grub_get_time_ms): New file.
41264
41265 * include/grub/time.h: Include <grub/types.h.
41266 (grub_millisleep_generic): Removed.
41267 (grub_get_time_ms): New prototype.
41268 (grub_install_get_time_ms): New prototype.
41269 (grub_rtc_get_time_ms): New prototype.
41270
41271 * kern/time.c (grub_get_time_ms): New function.
41272 (grub_install_get_time_ms): New function.
41273
41274 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41275 <grub/time.h> anymore.
41276 (grub_millisleep): Removed.
41277 (grub_machine_init): Call grub_tsc_init.
41278
41279 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41280 get_time_ms() implementation.
41281
41282 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41283 (ieee1275_get_time_ms): New function.
41284 (grub_machine_init): Install get_time_ms() implementation.
41285
41286 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41287 (grub_machine_init): Call grub_tsc_init().
41288 (grub_millisleep): Removed.
bf06a93f 41289
9c2ff3ee 41290 * kern/ieee1275/init.c (grub_millisleep): Removed.
41291 (grub_machine_init): Install ieee1275_get_time_ms()
41292 implementation.
41293 (ieee1275_get_time_ms): New function.
41294 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41295 real work.
41296
9ec92aaf 412972008-08-05 Marco Gerards <marco@gnu.org>
41298
41299 * disk/ata.c: Include <grub/pci.h>.
41300 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41301 (grub_ata_initialize): Rewritten.
41302 (grub_ata_device_initialize): New function.
41303
8d23f507 413042008-08-04 Pavel Roskin <proski@gnu.org>
41305
41306 * kern/main.c: Include grub/mm.h.
41307
5e15ee3d 413082008-08-04 Robert Millan <rmh@aybabtu.com>
41309
41310 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41311 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41312 corruption problem).
41313
a9053f8f 413142008-08-04 Robert Millan <rmh@aybabtu.com>
41315
41316 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41317 warnings introduced in my last commit.
41318
dd19c7d7 413192008-08-03 Robert Millan <rmh@aybabtu.com>
41320
41321 Make PCI available on all i386 architectures.
41322
41323 * include/grub/i386/pc/pci.h: Move from here ...
41324 * include/grub/i386/pci.h: ... to here.
41325
41326 * include/grub/i386/pc/pci.h: Remove.
41327 * include/grub/i386/efi/pci.h: Remove.
41328 * include/grub/x86_64/efi/pci.h: Remove.
41329
41330 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41331 `<grub/cpu/pci.h>'.
41332
41333 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41334 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41335 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41336
41337 * conf/i386-ieee1275.rmk: Likewise.
41338
e14a6184 413392008-08-03 Robert Millan <rmh@aybabtu.com>
41340
41341 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41342 (grub_console_setcursor): Make it possible to set cursor off.
41343
52768e37 413442008-08-03 Robert Millan <rmh@aybabtu.com>
41345
41346 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41347 of modules instead of assuming which platform provides what.
41348 * util/update-grub.in: Likewise.
41349
2d52f57f 413502008-08-03 Robert Millan <rmh@aybabtu.com>
41351
41352 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41353 instead of `grub_install_dos_part' to determine whether a drive needs
41354 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41355 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41356
2a5cd121 413572008-08-02 Robert Millan <rmh@aybabtu.com>
41358
41359 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41360
93808428 413612008-08-02 Robert Millan <rmh@aybabtu.com>
41362
41363 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41364 of informational grub_dprintf() calls.
41365
3bd0a12a 413662008-08-02 Robert Millan <rmh@aybabtu.com>
41367
41368 * disk/memdisk.c (memdisk_size): Don't initialize.
41369 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41370
41371 * include/grub/i386/pc/kernel.h
41372 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41373 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41374 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41375 (grub_arch_memdisk_size): Remove.
41376
41377 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41378 field (was only used to transfer a constant). Add `type' field to
41379 support multiple module types.
41380 (grub_module_iterate): New function.
41381
41382 * kern/device.c (grub_device_open): Do not hide error messages
41383 when grub_disk_open() fails. Use grub_print_error() instead.
41384
41385 * kern/i386/pc/init.c (grub_arch_modules_addr)
41386 (grub_arch_memdisk_size): Remove functions.
41387 (grub_arch_modules_addr): Return the module address in high memory
41388 (now that it isn't copied anymore).
41389
41390 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41391 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41392 decompression routine (grub_total_module_size already includes that
41393 now). Don't copy modules back to low memory.
41394
41395 * kern/main.c: Include `<grub/mm.h>'.
41396 (grub_load_modules): Split out (and use) ...
41397 (grub_module_iterate): ... this function, which iterates through
41398 module objects and runs a hook.
41399 Comment out grub_mm_init_region() call, as it would cause non-ELF
41400 modules to be overwritten.
41401
41402 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41403 the memdisk image in its own region, make it part of the module list.
41404 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41405 (main): Parse --memdisk|-m option, and pass user-provided path as
41406 parameter to generate_image().
41407 (add_segments): Pass `memdisk_path' down to load_modules().
41408 (load_modules): Embed memdisk image in module section when requested.
41409 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41410 `header.type' instead of `header.offset'.
41411
41412 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41413 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41414 (memdisk_mod_LDFLAGS): New variables.
41415 * conf/i386-coreboot.rmk: Likewise.
41416 * conf/i386-ieee1275.rmk: Likewise.
41417
a927cc73 414182008-08-02 Robert Millan <rmh@aybabtu.com>
41419
41420 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41421 (backward_relocator): New variables. Used to allocate and relocate
41422 the payload, respectively.
41423 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41424 address, install the appropriate relocator code in each bound of
a927cc73 41425 the payload, and set the entry point such that
41426 grub_multiboot_real_boot() will jump to one of them.
41427
41428 * kern/i386/loader.S (grub_multiboot_payload_size)
41429 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41430 (grub_multiboot_payload_entry_offset): New variables.
41431 (grub_multiboot_real_boot): Set cpu context to what the relocator
41432 expects, and jump to the relocator instead of the payload.
41433
41434 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41435 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41436 (grub_multiboot_payload_entry_offset): Export.
41437
b15d8a0c 414382008-08-01 Bean <bean123ch@gmail.com>
41439
41440 * normal/menu_entry.c (editor_getline): Don't return the original
41441 string as result, as it will be released by lexer once it has done
41442 using it.
41443
cdfb3d22 414442008-08-01 Robert Millan <rmh@aybabtu.com>
41445
41446 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41447 within menuentries, not before them.
41448 util/grub.d/10_hurd.in: Likewise.
41449
9175e93d 414502008-08-01 Bean <bean123ch@gmail.com>
41451
41452 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41453 (bufio_mod_SOURCES): New macro.
41454 (bufio_mod_CFLAGS): Likewise.
41455 (bufio_mod_LDFLAGS): Likewise.
41456
41457 * include/grub/bufio.h: New file.
41458
41459 * io/bufio.c: Likewise.
41460
41461 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41462 (grub_video_reader_png): Use grub_buffile_open to open file.
41463
41464 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41465 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41466
41467 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41468 (grub_video_reader_tga): Use grub_buffile_open to open file.
41469
41470 * font/manager.c: Include <grub/bufio.h>.
41471 (add_font): Use grub_buffile_open to open file.
41472
3d8383e7 414732008-07-31 Robert Millan <rmh@aybabtu.com>
41474
41475 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41476 ELF segments, use a macro for arbitrarily accessing any of them instead
41477 of preparing a pointer that allows access to one at a time.
41478 (grub_multiboot_load_elf64): Likewise.
41479
16e641b6 414802008-07-31 Bean <bean123ch@gmail.com>
41481
41482 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41483 GRUB_KERNEL_MACHINE_DATA_END.
41484
59198b72 414852008-07-30 Robert Millan <rmh@aybabtu.com>
41486
41487 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41488 Increase from 0x50 to 0x60.
41489 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41490 use UUIDs to identify the root drive for them. If that's not
41491 possible, abort.
41492 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41493 check, for cross-disk installs.
41494
ae88bca3 414952008-07-30 Robert Millan <rmh@aybabtu.com>
41496
41497 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41498 is non-empty, use it to set the `prefix' environment variable instead
41499 of the usual approach.
41500 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41501 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41502 environment variable instead of dummy make_install_device().
41503
41504 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41505 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41506 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41507
41508 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41509 New variable reference.
41510 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41511 New macro. Defines offset of `grub_prefix' within startup.S (relative
41512 to `start').
41513 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41514 section within startup.S (relative to `start').
41515 * include/grub/i386/coreboot/kernel.h: Likewise.
41516
41517 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41518 Overwrite grub_prefix with its contents, at the beginning of the
41519 first segment.
41520 (main): Understand -p|--prefix.
41521
14f41dd1 415222008-07-30 Robert Millan <rmh@aybabtu.com>
41523
41524 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41525
4ca049a3 415262008-07-30 Robert Millan <rmh@aybabtu.com>
41527
41528 * term/i386/pc/vga_text.c (grub_console_cls): Use
41529 grub_console_gotoxy() to go back to beginning of the screen.
41530 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41531
2921d337 415322008-07-29 Christian Franke <franke@computer.org>
41533
41534 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41535 Add conversion of emulated mount points on Cygwin.
41536
b609876d 415372008-07-29 Christian Franke <franke@computer.org>
41538
41539 * util/update-grub.in: Add a check for admin
41540 group on Cygwin.
41541 Remove old `grub.cfg.new' before creation.
41542 Add `-f' to `mv' to handle the different filesystem
41543 semantics of Windows.
41544
e93e4679 415452008-07-29 Bean <bean123ch@gmail.com>
41546
41547 * normal/main.c (get_line): Fix buffer overflow bug.
41548
41694fd0 415492008-07-28 Robert Millan <rmh@aybabtu.com>
41550
41551 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41552 (struct grub_apple_header): New struct. Describes the layout of
41553 the partmap header.
41554 (apple_partition_map_iterate): Check the header magic as well as the
41555 partition magic (which was already being checked).
41556
cfd0b4e6 415572008-07-28 Pavel Roskin <proski@gnu.org>
41558
41559 * genmk.rb: Add a warning to the beginning of the output that
41560 it's a generated file and should not be edited.
41561
93cce016 415622008-07-28 Robert Millan <rmh@aybabtu.com>
41563
41564 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41565 with the same number are found, just use issue a warning with
41566 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41567
cd1df915 415682008-07-27 Robert Millan <rmh@aybabtu.com>
41569
41570 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41571 information.
41572
b70a8427 415732008-07-27 Bean <bean123ch@gmail.com>
41574
41575 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41576 (grub_fat_find_dir): Ignore case when comparing filename.
41577
8f5e379f 415782008-07-27 Bean <bean123ch@gmail.com>
41579
41580 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41581 smallino, as it's more descriptive, and i8count can be confused with
41582 the other field count.
41583 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41584 inode type.
41585
a85cd5a0 415862008-07-27 Bean <bean123ch@gmail.com>
41587
41588 * commands/crc.c: New file.
41589
41590 * lib/crc.c: Likewise.
41591
41592 * include/grub/lib/crc.h: Likewise.
41593
41594 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41595
41596 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41597 (hexdump): Move this function to ...
41598
41599 * lib/hexdump.c: ... here.
41600
41601 * include/grub/hexdump.h: Renamed to ...
41602
41603 * include/grub/lib/hexdump.h: ... this.
41604
41605 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41606
41607 * util/grub-editenv.c: Likewise.
41608
41609 * include/envblk.h: Renamed to ...
41610
41611 * include/lib/envblk.h: ... this.
41612
41613 * util/envblk.c: Renamed to ...
41614
41615 * lib/envblk.c: ... this.
41616
41617 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41618 lib/hexdump.c.
41619 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41620 (pkglib_MODULES): Add crc.mod.
41621 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41622 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41623 (crc_mod_SOURCES): New macro.
41624 (crc_mod_CFLAGS): Likewise.
41625 (crc_mod_LDFLAGS): Likewise.
41626
41627 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41628
41629 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41630
41631 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41632
41633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41634
41635 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41636
c298def0 416372008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41638
41639 * commands/help.c: Include <grub/term.h>.
41640 (TERM_WIDTH): Removed. Updated all users.
41641
cc349fb3 416422008-07-27 Pavel Roskin <proski@gnu.org>
41643
41644 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41645 spurious warnings about a comment within a comment.
41646
9051607e 416472008-07-25 Robert Millan <rmh@aybabtu.com>
41648
41649 * util/getroot.c (find_root_device): Skip devices that match
41650 /dev/dm-[0-9]. This lets the real device be found for any type of
41651 abstraction (LVM, EVMS, RAID..).
41652 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41653 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41654 device is found first, find_root_device() will now skip it.
41655
01453bfc 416562008-07-24 Pavel Roskin <proski@gnu.org>
41657
41658 * include/grub/types.h: Use __builtin_bswap32() and
41659 __builtin_bswap64() with gcc 4.3 and newer.
41660
6af9849f 416612008-07-24 Christian Franke <franke@computer.org>
41662
3a0fa256 41663 * util/i386/pc/grub-install.in: If `--debug' is specified,
41664 pass `--verbose' to grub-setup.
41665 Abort script if make_system_path_relative_to_its_root() fails.
41666
7810e747 416672008-07-24 Bean <bean123ch@gmail.com>
41668
41669 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41670 variable `target_platform' should be `platform'.
41671
42290e17 416722008-07-24 Bean <bean123ch@gmail.com>
41673
51cc5193 41674 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41675 (grub_png_init_fixed_block): New function.
41676 (grub_png_decode_image_data): Handle fixed huffman code compression.
41677
2a8a80e4 416782008-07-24 Bean <bean123ch@gmail.com>
41679
41680 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41681 (grub_pe2elf_SOURCES): New macro.
41682 (CLEANFILES): Add grub-pe2elf.
41683
41684 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41685 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41686 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41687 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41688 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41689 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41690 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41691 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41692 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41693 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41694 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41695 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41696 (GRUB_PE32_DT_FUNCTION): Likewise.
41697 (GRUB_PE32_REL_I386_DIR32): Likewise.
41698 (GRUB_PE32_REL_I386_REL32): Likewise.
41699 (grub_pe32_symbol): New structure.
41700 (grub_pe32_reloc): Likewise.
41701
41702 * util/grub-pe2elf.c: New file.
41703
41704 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41705 start symbol in non pc platform.
41706
41707 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41708
41709 The following patches are from Christian Franke.
41710
41711 * include/grub/dl.h: Remove .previous, gas supports this only
41712 for ELF format.
41713
41714 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41715 Remove .type, gas supports this only for ELF format.
41716
41717 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41718 nullbytes in symbol table. This fixes an infinite loop if table is
41719 zero filled.
41720
41721 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41722 TARGET_IMG_LDFLAGS and EXEEXT.
41723
41724 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41725 TARGET_IMG_LDFLAGS_AC.
41726 (grub_CHECK_STACK_ARG_PROBE): New function.
41727
41728 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41729
41730 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41731
41732 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41733 to set TARGET_IMG_LD* accordingly.
41734 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41735 Add call to grub_CHECK_STACK_ARG_PROBE.
41736 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41737
41738 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41739
41740 * genmk.rb: Add EXEEXT to CLEANFILES.
41741
12ccdb75 417422008-07-23 Robert Millan <rmh@aybabtu.com>
41743
41744 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41745 define the codes for arrows and lines used for the menu).
41746 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41747 as well.
41748
41749 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41750 fonts, because the latter are too slow.
41751
18eeaf04 417522008-07-21 Bean <bean123ch@gmail.com>
41753
41754 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41755 a20. Run keyboard test last, as it will cause macbook to halt.
41756
b095e2ad 417572008-07-18 Pavel Roskin <proski@gnu.org>
41758
41759 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41760 load foreign architecture modules correctly anyway. Keep
41761 support for loading host architecture modules, whether we
41762 compile them or not.
41763
737feb35 417642008-07-17 Pavel Roskin <proski@gnu.org>
41765
3f4ce737 41766 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41767 change target_cpu. The compiler default can mismatch target_cpu
41768 in any case.
41769
4ad2d049 41770 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41771 * kern/efi/efi.c: Likewise.
41772
f6130a12 41773 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41774 target compiler is functional.
41775 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41776 are set up.
41777
58393a2d 41778 * configure.ac: Default to efi platform for x86_64-apple. Allow
41779 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41780 adjustments from the rest, only do them if target is not
41781 explicitly given. Merge other adjustments with the final sanity
41782 check. Remove an extraneous check for supported CPU. Be
41783 specific which CPU and which platform is not supported.
41784
737feb35 41785 * configure.ac: Default to pc platform for x86_64.
41786
546f966a 417872008-07-17 Robert Millan <rmh@aybabtu.com>
41788
41789 Partial LinuxBIOS -> Coreboot rename.
41790
41791 * conf/i386-linuxbios.rmk: Renamed to ...
41792 * conf/i386-coreboot.rmk: ... this.
41793 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41794 * configure.ac: Accept "coreboot" as input platform (but maintain
41795 compatibility with "linuxbios").
41796 * include/grub/i386/linuxbios: Renamed to ...
41797 * include/grub/i386/coreboot: ... this.
41798
20011694 417992008-07-17 Bean <bean123ch@gmail.com>
41800
41801 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41802 (appleldr_mod_SOURCE): New variable.
20011694 41803 (appleldr_mod_CFLAGS): Likewise.
41804 (appleldr_mod_LDFLAGS): Likewise.
41805 (pci_mod_SOURCES): Likewise.
41806 (pci_mod_CFLAGS): Likewise.
41807 (pci_mod_LDFLAGS): Likewise.
41808 (lspci_mod_SOURCES): Likewise.
41809 (lspci_mod_CFLAGS): Likewise.
41810 (lspci_mod_LDFLAGS): Likewise.
41811
41812 * conf/x86_64-efi.rmk: New file.
41813
41814 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41815 macro.
41816 (grub_efidisk_write): Likewise.
41817
41818 * include/efi/api.h (efi_call_0): New macro.
41819 (efi_call_1): Likewise.
41820 (efi_call_2): Likewise.
41821 (efi_call_3): Likewise.
41822 (efi_call_4): Likewise.
41823 (efi_call_5): Likewise.
41824 (efi_call_6): Likewise.
41825
41826 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41827 grub_rescue_cmd_chainloader.
41828
41829 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41830 (grub_pe32_optional_header): Change some fields based on i386 or
41831 x86_64 platform.
41832 (GRUB_PE32_PE32_MAGIC): Likewise.
41833
41834 * include/grub/efi/uga_draw.h: New file.
41835
41836 * include/grub/elf.h (STN_ABS): New constant.
41837 (R_X86_64_NONE): Relocation constant for x86_64.
41838 (R_X86_64_64): Likewise.
41839 (R_X86_64_PC32): Likewise.
41840 (R_X86_64_GOT32): Likewise.
41841 (R_X86_64_PLT32): Likewise.
41842 (R_X86_64_COPY): Likewise.
41843 (R_X86_64_GLOB_DAT): Likewise.
41844 (R_X86_64_JUMP_SLOT): Likewise.
41845 (R_X86_64_RELATIVE): Likewise.
41846 (R_X86_64_GOTPCREL): Likewise.
41847 (R_X86_64_32): Likewise.
41848 (R_X86_64_32S): Likewise.
41849 (R_X86_64_16): Likewise.
41850 (R_X86_64_PC16): Likewise.
41851 (R_X86_64_8): Likewise.
41852 (R_X86_64_PC8): Likewise.
41853
41854 * include/grub/i386/efi/pci.h: New file.
41855
41856 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41857 Change it value based on platform.
41858 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41859 (GRUB_E820_RAM): Likewise.
41860 (GRUB_E820_RESERVED): Likewise.
41861 (GRUB_E820_ACPI): Likewise.
41862 (GRUB_E820_NVS): Likewise.
41863 (GRUB_E820_EXEC_CODE): Likewise.
41864 (GRUB_E820_MAX_ENTRY): Likewise.
41865 (grub_e820_mmap): New structure.
41866 (linux_kernel_header): Change the efi field according to different
41867 kernel version, also field from linux_kernel_header.
41868
41869 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41870
41871 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41872 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41873 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41874 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41875 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41876 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41877 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41878 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41879 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41880 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41881
41882 * include/grub/x86_64/efi/kernel.h: New file.
41883
41884 * include/grub/x86_64/efi/loader.h: Likewise.
41885
41886 * include/grub/x86_64/efi/machine.h: Likewise.
41887
41888 * include/grub/x86_64/efi/pci.h: Likewise.
41889
41890 * include/grub/x86_64/efi/time.h: Likewise.
41891
41892 * include/grub/x86_64/linux.h: Likewise.
41893
41894 * include/grub/x86_64/setjmp.h: Likewise.
41895
41896 * include/grub/x86_64/time.h: Likewise.
41897
41898 * include/grub/x86_64/types.h: Likewise.
41899
41900 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41901 GRUB_TARGET_SIZEOF_VOID_P.
41902
41903 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41904 (grub_efi_locate_handle): Likewise.
41905 (grub_efi_open_protocol): Likewise.
41906 (grub_efi_set_text_mode): Likewise.
41907 (grub_efi_stall): Likewise.
41908 (grub_exit): Likewise.
41909 (grub_reboot): Likewise.
41910 (grub_halt): Likewise.
41911 (grub_efi_exit_boot_services): Likewise.
41912 (grub_get_rtc): Likewise.
41913
41914 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41915 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41916 (grub_efi_allocate_pages): Wrap efi calls.
41917 (grub_efi_free_pages): Wrap efi calls.
41918 (grub_efi_get_memory_map): Wrap efi calls.
41919
41920 * kern/x86_64/dl.c: New file.
41921
41922 * kern/x86_64/efi/callwrap.S: Likewise.
41923
41924 * kern/x86_64/efi/startup.S: Likewise.
41925
41926 * loader/efi/appleloader.c: Likewise.
41927
41928 * loader/efi/chainloader.c (cmdline): New variable.
41929 (grub_chainloader_unload): Wrap efi calls.
41930 (grub_chainloader_boot): Likewise.
41931 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41932 command line.
41933
41934 * loader/efi/chainloader_normal.c (chainloader_command):
41935 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41936 command line.
41937
41938 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41939 method.
41940 (grub_e820_add_region): New function.
41941 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41942 booting.
41943 (grub_find_video_card): New function.
41944 (grub_linux_setup_video): New function.
41945 (grub_rescue_cmd_linux): Probe for video information.
41946
41947 * normal/x86_64/setjmp.S: New file.
41948
41949 * term/efi/console.c (map_char): New function.
41950 (grub_console_putchar): Map unicode char.
41951 (grub_console_checkkey): Wrap efi calls.
41952 (grub_console_getkey): Likewise.
41953 (grub_console_getwh): Likewise.
41954 (grub_console_gotoxy): Likewise.
41955 (grub_console_cls): Likewise.
41956 (grub_console_setcolorstate): Likewise.
41957 (grub_console_setcursor): Likewise.
41958
41959 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41960
59652a20 419612008-07-16 Pavel Roskin <proski@gnu.org>
41962
ef294055 41963 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41964 format strings.
41965
59652a20 41966 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41967 pointer, not an integer. This fixes a warning and prevents
41968 precision loss on 64-bit systems.
41969 (relocate_addresses): Remove unneeded cast.
41970
afc3b5d7 419712008-07-15 Pavel Roskin <proski@gnu.org>
41972
506b2b3e 41973 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41974
62ead89c 41975 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41976
c4cd51d7 41977 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41978 Fix comparison between signed and unsigned.
41979
0d3d8f28 41980 * include/grub/i386/ieee1275/console.h: Declare
41981 grub_console_init() and grub_console_fini().
41982
8804b286 41983 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41984 It's empty and unused.
41985
ee01cf35 41986 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41987 beginning to avoid warnings with some compilers.
41988
afc3b5d7 41989 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41990 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41991
e4e8eaa5 419922008-07-14 Pavel Roskin <proski@gnu.org>
41993
407aceb4 41994 * kern/env.c (grub_register_variable_hook): Don't copy empty
41995 string, it leaks memory. Pass "" to grub_env_set(), it should
41996 handle constant strings.
41997
e4e8eaa5 41998 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41999 * commands/cmp.c (grub_cmd_cmp): Likewise.
42000 * kern/dl.c (grub_dl_flush_cache): Likewise.
42001 (grub_dl_load_core): Likewise.
42002 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42003 (grub_elf64_load_phdrs): Likewise.
42004
d4e2dad3 420052008-07-13 Pavel Roskin <proski@gnu.org>
42006
42007 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42008 between signed and unsigned.
42009 (LzmaEnc_Finish): Fix warning about an unused parameter.
42010
aa24b516 420112008-07-13 Bean <bean123ch@gmail.com>
42012
42013 * Makefile.in (enable_lzo): New rule.
42014
42015 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42016
42017 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42018
42019 * boot/i386/pc/lnxboot.S: #include <config.h>.
42020
42021 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42022 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42023
42024 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42025 compression algorithm according to configure macro.
42026
42027 * kern/i386/pc/startup.S (codestart): Likewise.
42028
42029 * kern/i386/pc/lzma_decode.S: New file.
42030
42031 * include/grub/lib/LzFind.h: Likewise.
42032
42033 * include/grub/lib/LzHash.h: Likewise.
42034
42035 * include/grub/lib/LzmaDec.h: Likewise.
42036
42037 * include/grub/lib/LzmaEnc.h: Likewise.
42038
42039 * include/grub/lib/LzmaTypes.h: Likewise.
42040
42041 * lib/LzFind.c: Likewise.
42042
42043 * lib/LzmaDec.c: Likewise.
42044
42045 * lib/LzmaEnc.c: Likewise.
42046
4ae821ac 420472008-07-13 Bean <bean123ch@gmail.com>
42048
42049 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42050 (grub_ext4_extent_header): New structure.
42051 (grub_ext4_extent): Likewise.
42052 (grub_ext4_extent_idx): Likewise.
42053 (grub_ext4_find_leaf): New function.
42054 (grub_ext2_read_block): Handle extents.
42055
9a745147 420562008-07-12 Robert Millan <rmh@aybabtu.com>
42057
42058 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42059
d49a4cf6 420602008-07-11 Robert Millan <rmh@aybabtu.com>
42061
42062 * util/grub.d/40_custom.in: New file. Example on how to add custom
42063 entries to /etc/grub.d.
42064 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42065 40_custom (implicitly, by merging all the grub.d rules).
42066
947414b4 420672008-07-11 Pavel Roskin <proski@gnu.org>
42068
0059cf6f 42069 * commands/read.c (grub_getline): Fix invalid memory access.
42070 Don't add newline to the variable value.
42071
947414b4 42072 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42073 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42074 (serial_hw_get_port): Check validity of the port number.
42075 (grub_cmd_serial): Check return value of serial_hw_get_port().
42076
62a02d00 420772008-07-07 Pavel Roskin <proski@gnu.org>
42078
42079 * boot/i386/pc/diskboot.S (notification_string): Replace
42080 "Loading kernel" with just "loading". This is shorter, less
42081 confusing and saves a few bytes for possible future changes.
42082
3e5581b0 420832008-07-05 Pavel Roskin <proski@gnu.org>
42084
ea387a48 42085 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42086 size for ATAPI devices, they are undefined. Output sector
42087 number in decimal form.
42088
3e5581b0 42089 * disk/ata.c: Use named constants for status bits.
42090
fdecb8fd 420912008-07-04 Pavel Roskin <proski@gnu.org>
42092
bcd35b90 42093 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42094 grub_addr_t before casting it to the void pointer to fix a
42095 warning. Non-addressable regions are discarded earlier.
42096 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42097 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42098 (check_signature): Don't shadow table_header.
42099 (grub_linuxbios_table_iterate): Cast numeric constants to
42100 grub_linuxbios_table_header_t.
42101 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42102 grub_stop().
42103
af58ab3d 42104 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42105 prevent warnings.
42106
1759aa57 42107 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42108 pointer, which can cause warnings. Support 64-bit addresses.
42109
fdecb8fd 42110 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42111 of sizeof(long). This fixes PowerPC image generation on x86_64.
42112
8516d2a8 421132008-07-04 Robert Millan <rmh@aybabtu.com>
42114
42115 This fixes a performance issue when pc & gpt partmap iterators
42116 didn't abort iteration even after our hook found what it was
fe987087 42117 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42118
42119 Some callers relied on previous buggy behaviour, since they would
34c44600 42120 raise an error when their own hooks caused early abortion of its
8516d2a8 42121 iteration.
42122
42123 * kern/device.c (grub_device_open): Improve error message.
42124 * disk/lvm.c (grub_lvm_open): Likewise.
42125 * disk/raid.c (grub_raid_open): Likewise.
42126
42127 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42128 when hook requests it, independently of grub_errno.
42129 (pc_partition_map_probe): Do not fail when find_func() caused
42130 early abortion of pc_partition_map_iterate().
42131
42132 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42133 when hook requests it, independently of grub_errno.
42134 (gpt_partition_map_probe): Do not fail when find_func() caused
42135 early abortion of gpt_partition_map_iterate().
42136
42137 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42138 when hook requests it, independently of grub_errno. Do not fail when
42139 part_map_iterate_hook() caused early abortion of p->iterate().
42140
42141 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42142 when grub_partition_iterate() returned with non-zero.
42143
277d0de9 421442008-07-03 Pavel Roskin <proski@gnu.org>
42145
42146 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42147 like we do in grub_ata_pio_read().
42148 (grub_ata_readwrite): Always write individual sectors. Fix the
42149 sector count for the remainder.
42150 (grub_ata_write): Enable writing to ATA devices. Correctly
42151 report error for ATAPI devices.
42152
d4c9b428 421532008-07-02 Pavel Roskin <proski@gnu.org>
42154
e43fc690 42155 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42156 warning.
42157
f707af42 42158 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42159 for every read sector, we already increment it for the whole
42160 batch. This fixes reading more than 256 sectors at once.
42161
11e16b15 42162 * util/grub-editenv.c (cmd_info): Cast argument to long
42163 explicitly. ptrdiff_t reduces to int on i386.
42164
cbabfdd4 42165 * util/grub-editenv.c (main): Be specific which parameter is
42166 missing.
42167
b8fbce0a 42168 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42169 (memdisk): Make memdisk_orig_addr a pointer.
42170
c9c8e606 42171 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42172 for file offsets, use grub_off_t instead. Fix printf format
42173 warnings.
42174
ca62e598 42175 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42176 there. Real unexpected warnings should not drown in the noise
42177 about known problems.
42178
ce8d1766 42179 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42180 grub_disk_addr_t for memory addresses.
42181
00c7a56a 42182 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42183 explicitly to fix a warning.
42184
08d3ef09 42185 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42186
cb71ba20 42187 * Makefile.in (MODULE_LDFLAGS): New variable.
42188 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42189 the linker accepts --build-id=none.
42190 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42191 MODULE_LDFLAGS.
42192 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42193
d4c9b428 42194 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42195 those in Linux XFS code. Provide a way to access 64-bit parent
42196 inode.
42197 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42198 the end of struct grub_xfs_dir_header.
42199
d4156eee 422002008-07-02 Bean <bean123ch@gmail.com>
42201
42202 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42203 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42204 and GRUB_IEEE1275_FLAG_NO_ANSI.
42205
42206 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42207 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42208 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42209
42210 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42211 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42212
42213 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42214 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42215
42216 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42217 esc sequence on non ANSI terminal.
42218 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42219
42220 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42221 beginning of file.
42222
2270f77b 422232008-07-02 Bean <bean123ch@gmail.com>
42224
42225 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42226 (grub_editenv_SOURCES): New variable.
42227 (pkglib_MODULES): Add loadenv.mod.
42228 (loadenv_mod_SOURCES): New variable.
42229 (loadenv_mod_CFLAGS): Likewise.
42230 (loadenv_mod_LDFLAGS): Likewise.
42231
42232 * include/grub/envblk.h: New file.
42233
42234 * util/envblk.c: New file.
42235
42236 * util/grub-editenv.c: New file.
42237
42238 * commands/loadenv.c: New file.
42239
0e9e51ec 422402008-07-01 Pavel Roskin <proski@gnu.org>
42241
d89b7634 42242 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42243 not unsigned char. This fixes warnings and is consistent with
42244 other tags.
42245
bf1835b1 42246 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42247
8222a04b 42248 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42249
6a42d99d 42250 * term/tparm.c (analyze): Always set *popcount.
42251
10b159d1 42252 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42253 cast to fix a warning.
42254
b8789f6c 42255 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42256 cast to suppress a warning.
42257
29d7e38a 42258 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42259 grub_fshelp_read_file() expects.
42260
f341f669 42261 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42262 write uuid as a 32-bit value in CPU byte order, so declare and
42263 use it as such.
42264
0e9e51ec 42265 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42266 long if the format specifier expects it.
42267 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42268 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42269 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42270 long to fix a warning.
42271 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42272 grub_dprintf() arguments to fix warnings.
42273
3aefa857 422742008-06-30 Pavel Roskin <proski@gnu.org>
42275
56c7668b 42276 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42277 install_bsd_part immediately before core.img is embedded or
42278 modified on disk. This fixes core.img verification if core.img
42279 cannot be embedded.
42280
3aefa857 42281 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42282 core_path to calculate the blocklist.
42283 Patch from Javier Martín <lordhabbit@gmail.com>
42284
5444088d 422852008-06-29 Robert Millan <rmh@aybabtu.com>
42286
42287 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42288 block to disk block.
42289 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42290 Patch from Niels Böhm <bitbucket@arcor.de>
42291
674835c8 422922008-06-29 Robert Millan <rmh@aybabtu.com>
42293
42294 * util/update-grub_lib.in (font_path): Search for fonts in
42295 /boot/grub first, which is more likely to be readable (we aren't
42296 deciding where fonts live, just looking for them).
42297
f527dbc8 422982008-06-26 Pavel Roskin <proski@gnu.org>
42299
6c2d8df6 42300 * util/biosdisk.c (read_device_map): Don't leave dead map
42301 entries for devices failing stat() check.
42302
f527dbc8 42303 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42304 core_path_dev for the core.img path on the target device.
42305
aebe3d13 423062008-06-26 Robert Millan <rmh@aybabtu.com>
42307
42308 * disk/fs_uuid.c: New file.
42309 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42310 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42311 (fs_uuid_mod_LDFLAGS): New variables.
42312 * include/grub/disk.h (grub_disk_dev_id): Add
42313 `GRUB_DISK_DEVICE_UUID_ID'.
42314 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42315 implement iterate().
42316
37aaf354 423172008-06-26 Robert Millan <rmh@aybabtu.com>
42318
42319 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42320 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42321 Linux image includes no initrd.
42322
25ff262a 423232008-06-21 Javier Martín <lordhabbit@gmail.com>
42324
42325 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42326 call to resolve the core image location that effectively appended the
42327 name twice.
42328
76a2bd44 423292008-06-21 Robert Millan <rmh@aybabtu.com>
42330
42331 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42332 call from here ...
42333
42334 * util/grub.d/10_hurd.in: ... to here ...
42335 * util/grub.d/10_linux.in: ... and here.
42336
650e1c79 423372008-06-19 Robert Millan <rmh@aybabtu.com>
42338
fe987087 42339 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42340 after it has been set by grub_machine_set_prefix().
42341
6ce63911 423422008-06-19 Robert Millan <rmh@aybabtu.com>
42343
42344 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42345 search result when not saving to variable, not the other way around.
42346 When saving to variable, abort iteration as soon as a match is found.
42347
73940cec 423482008-06-19 Robert Millan <rmh@aybabtu.com>
42349
42350 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42351 check for partition that provides /boot/grub. Its logic is flawed,
42352 as it prevents prepare_grub_to_access_device() from being called
42353 multiple times.
42354
3c62a39d 423552008-06-19 Robert Millan <rmh@aybabtu.com>
42356
42357 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42358 "insmod" command directly when abstraction modules are needed,
fe987087 42359 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42360 since it had already been processed).
42361
47395a42 423622008-06-19 Pavel Roskin <proski@gnu.org>
42363
42364 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42365 changed. This is needed in case GRUB_LIBDIR changes.
42366 * conf/i386-ieee1275.rmk: Likewise.
42367 * conf/i386-linuxbios.rmk: Likewise.
42368 * conf/i386-pc.rmk: Likewise.
42369 * conf/powerpc-ieee1275.rmk: Likewise.
42370
a145ac2d 423712008-06-18 Pavel Roskin <proski@gnu.org>
42372
42373 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42374 kernel_elf_symlist.c to symlist.c for consistency with other
42375 architectures. Update all users.
42376 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42377
7847c51e 423782008-06-18 Robert Millan <rmh@aybabtu.com>
42379
42380 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42381 it in prefix.
42382
42383 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42384 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42385 a RAID device, run setup() for all members independently on whether
42386 LVM abstraction is being used.
42387 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42388 If grub-mkimage has set `*install_dos_part == -2', don't override this
42389 value.
42390 Perform *install_dos_part adjustments independently on whether
42391 we're embedding or not.
42392 Clarify error message when image is too big for embedding.
42393 Remove duplicate *install_dos_part stanza.
42394
b23e5644 423952008-06-17 Robert Millan <rmh@aybabtu.com>
42396
42397 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42398 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42399 variables.
42400 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42401 values in grub_ofconsole_normal_color and
42402 grub_ofconsole_highlight_color (they're not directly related to
42403 background and foreground).
42404 (grub_ofconsole_setcolorstate): Extract background and foreground
42405 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42406
0aac2f79 424072008-06-17 Robert Millan <rmh@aybabtu.com>
42408
42409 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42410 /boot/grub for the check in last commit, not /boot (they could be
42411 different partitions).
42412
3cca7ef3 424132008-06-16 Robert Millan <rmh@aybabtu.com>
42414
42415 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42416 asked to setup access for the same partition that provides /boot,
42417 don't bother using UUIDs since our root already has the value we
42418 want.
42419
347396d8 424202008-06-16 Robert Millan <rmh@aybabtu.com>
42421
42422 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42423 I2O devices.
42424 Patch from Sven Mueller <sven@debian.org>.
42425
991477f8 424262008-06-16 Robert Millan <rmh@aybabtu.com>
42427
42428 * util/update-grub.in: Check for $EUID instead of $UID.
42429 Reported by Vincent Zweije.
42430
d31a32a1 424312008-06-16 Bean <bean123ch@gmail.com>
42432
fe987087 42433 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42434 (grub_ext2_read_block): Likewise.
42435 (grub_ext2_read_inode): Likewise.
42436 (grub_ext2_mount): Likewise.
42437 (grub_ext2_close): Likewise.
42438 (grub_ext3_get_journal): Removed.
42439
fe987087 42440 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42441 (grub_reiserfs_read_symlink): Likewise.
42442 (grub_reiserfs_mount): Likewise.
42443 (grub_reiserfs_open): Likewise.
42444 (grub_reiserfs_read): Likewise.
42445 (grub_reiserfs_close): Likewise.
42446 (grub_reiserfs_get_journal): Removed.
42447
42448 * fs/fshelp.c (grub_fshelp_read): Removed.
42449 (grub_fshelp_map_block): Likewise.
42450
42451 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42452 (grub_fshelp_journal): Likewise.
42453 (grub_fshelp_read): Likewise.
42454 (grub_fshelp_map_block): Likewise.
42455
3540a760 424562008-06-16 Pavel Roskin <proski@gnu.org>
42457
42458 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42459 floating point anymore.
42460 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42461
95614c84 424622008-06-15 Pavel Roskin <proski@gnu.org>
42463
42464 * commands/ls.c (grub_ls_list_files): Use integer calculations
42465 for human readable format, avoid floating point use.
42466 * kern/misc.c (grub_ftoa): Remove.
42467 (grub_vsprintf): Remove floating point support.
42468
50465dd6 424692008-06-15 Robert Millan <rmh@aybabtu.com>
42470
fe6b695a 42471 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42472 devices.
42473 Reported by Max Vozeler.
42474
a9207284 424752008-06-15 Robert Millan <rmh@aybabtu.com>
42476
42477 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42478 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42479 skipped later.
42480 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42481 the beginning of the prefix.
42482
42483 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42484 It is assumed that if we have a memdisk, grub-mkimage has set
42485 grub_prefix to include the "(memdisk)" drive in it.
42486
a7cbd45a 424872008-06-15 Robert Millan <rmh@aybabtu.com>
42488
42489 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42490 Initialize keyboard controller after registering the terminal, so that
42491 grub_printf() can be called from grub_keyboard_controller_init().
42492
21cf716a 424932008-06-15 Robert Millan <rmh@aybabtu.com>
42494
42495 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42496 extent-btree which is written as big endian on disk.
42497 Reported by Alain Greppin <al@chilibi.org>.
42498
23a64d8e 424992008-06-14 Robert Millan <rmh@aybabtu.com>
42500
42501 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42502 * util/i386/pc/grub-install.in (modules): Likewise.
42503
d687651c 425042008-06-13 Pavel Roskin <proski@gnu.org>
42505
42506 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42507
dfe9ddd4 425082008-06-13 Bean <bean123ch@gmail.com>
42509
42510 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42511
42512 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42513
42514 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42515 to indicate sparse block.
42516
16ae7781 425172008-06-12 Pavel Roskin <proski@gnu.org>
42518
e6d1a308 42519 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42520 number, grub_fshelp_read() does it for us.
42521
16ae7781 42522 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42523 linear disk read with journal translation.
42524 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42525 * include/grub/fshelp.h: Declare grub_fshelp_read().
42526
40fd3a2b 425272008-06-09 Pavel Roskin <proski@gnu.org>
42528
42529 * fs/minix.c (grub_minix_mount): Handle error reading
42530 superblock.
42531
f5679726 425322008-06-08 Robert Millan <rmh@aybabtu.com>
42533
42534 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42535 don't append the RAID prefix afterwards.
42536 Reported by Clint Adams.
42537
ce525529 425382008-06-08 Robert Millan <rmh@aybabtu.com>
42539
42540 Based on description from Pavel:
42541 * kern/disk.c (grub_disk_check_range): Rename to ...
42542 (grub_disk_adjust_range): ... this. Add a comment explaining the
42543 tasks performed by this function.
42544
ad4936a0 425452008-06-08 Robert Millan <rmh@aybabtu.com>
42546
42547 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42548 `num_serial' (for consistency with other variables).
42549 (struct grub_ntfs_data): Add `uuid' member.
42550 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42551 (grub_ntfs_uuid): New function.
42552 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42553
dc20b0f9 425542008-06-07 Pavel Roskin <proski@gnu.org>
42555
42556 * util/biosdisk.c (open_device): Revert last change to the
42557 function, it broke installation. The sector needs to be
42558 different dependent on which device is opened.
42559
c5e3cfba 425602008-06-06 Robert Millan <rmh@aybabtu.com>
42561
42562 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42563 rest of GRUB, and breakage doesn't happen if its value were modified.
42564
42565 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42566 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42567 a constant (same value).
42568 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42569 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42570
26a1f8c4 425712008-06-06 Robert Millan <rmh@aybabtu.com>
42572
42573 * util/biosdisk.c (open_device): Do not modify sector offset when
42574 accessing a partition. kern/disk.c already handles this for us.
42575
25d6b327 425762008-06-06 Robert Millan <rmh@aybabtu.com>
42577
42578 * util/grub-emu.c (grub_machine_init): Move code in this function from
42579 here ...
42580 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42581 segfault in case grub_printf() is called).
42582
42583 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42584 grub_probe. Update all users not to explicitly add it again.
42585 (grub_device): New variable; contains corresponding device for grubdir.
42586 (fs_module, partmap_module, devabstraction_module): Pass
42587 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42588 every time.
42589
9ece62fb 425902008-06-05 Robert Millan <rmh@aybabtu.com>
42591
42592 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42593 is found, print it (same layout as with labels).
42594
1ad36d37 425952008-06-04 Robert Millan <rmh@aybabtu.com>
42596
42597 * util/biosdisk.c (get_drive): Rename to ...
42598 (find_grub_drive): ... this. Update all users.
42599
42600 (get_os_disk): Rename to ...
42601 (convert_system_partition_to_system_disk): ... this. Update all users.
42602
42603 (find_drive): Rename to ...
42604 (find_system_device): ... this. Update all users.
42605
e6a30859 426062008-06-04 Robert Millan <rmh@aybabtu.com>
42607
42608 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42609 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42610 (make_device_map): Likewise.
42611
00c108a4 426122008-06-01 Robert Millan <rmh@aybabtu.com>
42613
42614 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42615 before dereferencing it.
42616
42617 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42618 union with fat12/fat16-specific ones. Add some new fields, including
42619 `num_serial' for both versions.
42620 (struct grub_fat_data): Add `uuid' member.
42621 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42622 names. Initialize `data->uuid' using `num_serial'.
42623 (grub_fat_uuid): New function.
42624 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42625
42626 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42627 (grub_reiserfs_uuid): New function.
42628 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42629 member.
42630
42631 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42632 (grub_xfs_uuid): New function.
42633 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42634
1385c5bb 426352008-06-01 Robert Millan <rmh@aybabtu.com>
42636
42637 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42638 code that is backward compatible with pre-uuid search command.
42639
c682dfd7 426402008-05-31 Robert Millan <rmh@aybabtu.com>
42641
42642 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42643 floppies after everything else, to ensure floppy drive isn't accessed
42644 unnecessarily (patch from Bean).
42645
b7db5d47 426462008-05-31 Robert Millan <rmh@aybabtu.com>
42647
42648 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42649 not print device names when we were asked to set a variable.
42650
6e037aa9 426512008-05-31 Robert Millan <rmh@aybabtu.com>
42652
42653 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42654 using "cursor-on" and "cursor-off" commands (understood at least by
42655 the Open Firmware flavour on OLPC).
42656
41305bc8 426572008-05-31 Michael Gorven <michael@gorven.za.net>
42658
42659 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42660 on and off sequences.
42661
69ba137e 426622008-05-31 Robert Millan <rmh@aybabtu.com>
42663
42664 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42665 * util/update-grub.in: Likewise.
42666
520ae21b 426672008-05-30 Pavel Roskin <proski@gnu.org>
42668
42669 * util/biosdisk.c (linux_find_partition): Simplify logic and
42670 make the code more universal. Keep special processing for
42671 devfs, but use a simple rule for all other devices. If the
42672 device ends with a number, append 'p' and the partition number.
42673 Otherwise, append only the partition number.
42674
5786569b 426752008-05-30 Robert Millan <rmh@aybabtu.com>
42676
42677 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42678 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42679 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42680 the `root' parameter to Linux.
42681
51500452 426822008-05-30 Robert Millan <rmh@aybabtu.com>
42683
42684 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42685 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42686 --fs_uuid with --fs-uuid.
42687 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42688 all filesystems support them).
42689
811d3878 426902008-05-30 Robert Millan <rmh@aybabtu.com>
42691
42692 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42693 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42694
cab63c95 426952008-05-30 Robert Millan <rmh@aybabtu.com>
42696
42697 * util/grub.d/00_header.in: Remove obsolete comment referencing
42698 convert_system_path_to_grub_path().
42699 * util/update-grub.in: Likewise.
42700 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42701 (convert_system_path_to_grub_path): Add a warning message explaining
42702 that this function is deprecated. Rely on is_path_readable_by_grub()
42703 for the readability checks.
42704 (font_path): Use is_path_readable_by_grub() for the readability
42705 check rather than convert_system_path_to_grub_path().
42706
972e2f7a 427072008-05-30 Robert Millan <rmh@aybabtu.com>
42708
42709 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42710 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42711 converting it first.
42712 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42713 grub.cfg for access to font file, and afterwards call it again to set
42714 the root device.
42715
62191274 427162008-05-30 Robert Millan <rmh@aybabtu.com>
42717
42718 * commands/search.c (options): Add --fs_uuid option.
42719 (search_fs_uuid): New function.
42720 (grub_cmd_search): Fix --set argument passing.
42721 Use search_fs_uuid() when requested via --fs_uuid.
42722 (grub_search_init): Update help message.
42723 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42724 and redeclare it as an array of 16-bit words.
42725 (grub_ext2_uuid): New function.
42726 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42727 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42728 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42729 (GRUB_DEVICE_BOOT_UUID): New variables.
42730 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42731 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42732 whenever possible.
42733 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42734 just assume `root' variable has the right value.
42735 * util/grub.d/10_linux.in: Likewise.
42736 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42737 via PRINT_FS_UUID.
42738 (main): Recognise `-t fs_uuid' argument.
42739
01b73ec8 427402008-05-30 Robert Millan <rmh@aybabtu.com>
42741
42742 * util/biosdisk.c (map): Redefine structure to hold information
42743 about GRUB drive name.
fe6b695a 42744 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42745 drive names.
42746 (call_hook): Remove.
42747 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42748 member. Assume drive has partitions.
42749 (grub_util_biosdisk_open): Access device names via `.device' struct
42750 member.
42751 (open_device): Likewise.
42752 (find_drive): Likewise.
42753 (read_device_map): Adjust map[] usage to match the new struct
42754 definition. Don't check for duplicates (still possible, but not cheap
42755 anymore).
42756 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42757 (make_device_name): Remove assumption of BIOS-like drive names.
42758
22f16596 427592008-05-30 Pavel Roskin <proski@gnu.org>
42760
42761 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42762 compiling execute.c doesn't need grub_script.tab.h anymore.
42763 (normal/command.c_DEPENDENCIES): Likewise.
42764 (normal/function.c_DEPENDENCIES): Likewise.
42765 * conf/i386-ieee1275.rmk: Likewise.
42766 * conf/i386-linuxbios.rmk: Likewise.
42767 * conf/i386-pc.rmk: Likewise.
42768 * conf/powerpc-ieee1275.rmk: Likewise.
42769 * conf/sparc64-ieee1275.rmk: Likewise.
42770
528ad8f2 427712008-05-29 Pavel Roskin <proski@gnu.org>
42772
d1dff95d 42773 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42774 when scanning metadata for volume group name.
42775
528ad8f2 42776 * include/grub/script.h: Don't include grub_script.tab.h. It's
42777 a generated file, which may only be included from the files with
42778 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42779 use union YYSTYPE, as the later allows forward declaration.
42780 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42781
47248e08 427822008-05-29 Robert Millan <rmh@aybabtu.com>
42783
42784 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42785 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42786 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42787 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42788 scan codes.
42789
ee632529 427902008-05-29 Robert Millan <rmh@aybabtu.com>
42791
42792 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42793 control key combinations.
42794
eee96e08 427952008-05-29 Robert Millan <rmh@aybabtu.com>
42796
42797 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42798 * util/ieee1275/grub-install.in: ... to here.
42799 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42800 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42801 (grub_install_SOURCES): Likewise.
42802
da9a6a94 428032008-05-29 Robert Millan <rmh@aybabtu.com>
42804
42805 * fs/affs.c: Update copyright year.
42806 * fs/ext2.c: Likewise.
42807 * fs/fshelp.c: Likewise.
42808 * fs/hfsplus.c: Likewise.
42809 * fs/ntfs.c: Likewise.
42810 * fs/xfs.c: Likewise.
42811 * include/grub/fshelp.h: Likewise.
42812 * util/grub-mkdevicemap.c: Likewise.
42813
12e65f3a 428142008-05-28 Robert Millan <rmh@aybabtu.com>
42815
42816 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42817 might need to be fatfs to support some firmware implementations
42818 (e.g. OFW or EFI).
42819
23023641 428202008-05-28 Robert Millan <rmh@aybabtu.com>
42821
42822 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42823 devices.
42824 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42825 (make_device_map): Likewise.
42826
887d2619 428272008-05-20 Bean <bean123ch@gmail.com>
42828
42829 * fs/fshelp.c (grub_fshelp_map_block): New function.
42830 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42831 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42832
42833 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42834 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42835 (grub_fshelp_journal): New structure.
42836 (grub_fshelp_map_block): New function prototype.
42837 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42838 (grub_fshelp_map_block): Likewise.
42839
42840 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42841 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42842 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42843 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42844 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42845 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42846 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42847 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42848 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42849 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42850 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42851 (grub_ext2_sblock): New members for journal support.
42852 (grub_ext3_journal_header): New structure.
42853 (grub_ext3_journal_revoke_header): Likewise.
42854 (grub_ext3_journal_block_tag): Likewise.
42855 (grub_ext3_journal_sblock): Likewise.
42856 (grub_fshelp_node): New members logfile and journal.
42857 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42858 grub_fshelp_map_block to get real block number.
42859 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42860 number.
42861 (grub_ext2_read_inode): Likewise.
42862 (grub_ext3_get_journal): New function.
42863 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42864 (grub_ext2_close): Release memory used by journal.
42865
42866 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42867 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42868 (grub_reiserfs_transaction_header): Renamed to
42869 grub_reiserfs_description_block, replace field data with real_blocks.
42870 (grub_reiserfs_commit_block): New structure.
42871 (grub_reiserfs_data): New member journal.
42872 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42873 number.
42874 (grub_reiserfs_read_symlink): Likewise.
42875 (grub_reiserfs_iterate_dir): Likewise.
42876 (grub_reiserfs_open): Likewise.
42877 (grub_reiserfs_read): Likewise.
42878 (grub_reiserfs_get_journal): New function.
42879 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42880 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42881 using grub_reiserfs_get_journal.
42882 (grub_reiserfs_close): Release memory used by journal.
42883
42884 * fs/affs.c (grub_affs_read_block): Change block type to
42885 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42886
42887 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42888
42889 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42890
42891 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42892
42893 * fs/udf.c (grub_udf_read_block): Change block type to
42894 grub_disk_addr_t. Use type cast to avoid warning.
42895
42896 * fs/xfs.c (grub_xfs_read_block): Likewise.
42897
b7c6bed5 428982008-05-16 Christian Franke <franke@computer.org>
42899
42900 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42901 to ensure that break with ESC will always work.
42902 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42903 Remove ESC from keyboard queue.
42904
eedf167f 429052008-05-16 Christian Franke <franke@computer.org>
42906
42907 * util/biosdisk.c: [__CYGWIN__] Add includes.
42908 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42909 (get_os_disk): Move variable declarations to OS specific
42910 parts to avoid warning.
42911 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42912 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42913 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42914 Cygwin.
42915 * util/getroot.c: [__CYGWIN__] Add includes.
42916 (strip_extra_slashes): Fix "/" case.
42917 [__CYGWIN__] (get_win32_path): New function.
42918 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42919 [__CYGWIN__] (find_root_device): Disable.
42920 [__CYGWIN__] (get_bootsec_serial): New function.
42921 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42922 [__linux__] (grub_guess_root_device): Add early returns to simplify
42923 structure.
42924 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42925 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42926 check for Linux only.
42927
a079699e 429282008-05-15 Bean <bean123ch@gmail.com>
42929
42930 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42931 keyboard hang problem in apple's intel mac.
42932
1cf4059a 429332008-05-09 Robert Millan <rmh@aybabtu.com>
42934
42935 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42936 devices.
42937 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42938 (make_device_map): Likewise.
42939 Reported by Aurelien Jarno <aurel32@debian.org>
42940
ed759390 429412008-05-07 Ian Campbell <ijc@hellion.org.uk>
42942
42943 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42944 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42945 (make_device_map): Output entries for xvd type disks.
42946
b56c4eaa 429472008-05-07 Robert Millan <rmh@aybabtu.com>
42948
42949 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42950 devices.
42951 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42952 (make_device_map): Likewise.
42953 Reported by Roland Dreier <rdreier@cisco.com>
42954
7f8866ed 429552008-05-07 Robert Millan <rmh@aybabtu.com>
42956
42957 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42958 grub_strstr() call. Correct a few mistakes in failure path handling.
42959
b0346e0f 429602008-05-06 Robert Millan <rmh@aybabtu.com>
42961
42962 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42963 Do not print a trailing slash (therefore, the root directory is an
42964 empty string).
42965 (convert_system_path_to_grub_path): Do not remove trailing slash
42966 from make_system_path_relative_to_its_root() output.
42967
42968 * util/i386/pc/grub-install.in: Add trailing slash to output from
42969 make_system_path_relative_to_its_root().
42970
6cf12cbd 429712008-05-06 Robert Millan <rmh@aybabtu.com>
42972
42973 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42974 ensures that output lines aren't intermangled with those sent to
42975 stderr (via grub_util_info()).
42976 * util/grub-probe.c (grub_refresh): Likewise.
42977 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42978
0fbb3117 429792008-05-05 Christian Franke <franke@computer.org>
42980
42981 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42982 Add Cygwin device names.
42983 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42984 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42985 (check_device): Return error instead of success on empty name.
42986 (make_device_map): Move label inside linux specific code to
42987 prevent compiler warning.
42988
8124cdb7 429892008-04-30 Robert Millan <rmh@aybabtu.com>
42990
42991 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42992 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42993 first boot option.
42994 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42995
094c01d0 429962008-04-29 Robert Millan <rmh@aybabtu.com>
42997
42998 * docs/grub.cfg: New file (example GRUB configuration).
42999
f4b1fc02 430002008-04-26 Robert Millan <rmh@aybabtu.com>
43001
329ce2a5 43002 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43003 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43004 and `disk/ieee1275/nand.c'.
f4b1fc02 43005
25f16ec1 430062008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43007
25f16ec1 43008 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43009 i386-linuxbios.
43010
43011 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43012 change the buffer size to 4096 for cdrom device.
43013
43014 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43015 and nand.mod.
43016 (_linux_mod_SOURCES): New variable.
43017 (_linux_mod_CFLAGS): Likewise.
43018 (_linux_mod_LDFLAGS): Likewise.
43019 (linux_mod_SOURCES): Likewise.
43020 (linux_mod_CFLAGS): Likewise.
43021 (linux_mod_LDFLAGS): Likewise.
43022 (nand_mod_SOURCES): Likewise.
43023 (nand_mod_CFLAGS): Likewise.
43024 (nand_mod_LDFLAGS): Likewise.
43025
43026 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43027 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43028 type property. (nand device in olpc don't have this property)
43029
43030 * include/grub/disk.h (grub_disk_dev_id): New macro
43031 GRUB_DISK_DEVICE_NAND_ID.
43032
43033 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43034 function prototype.
43035 (grub_rescue_cmd_initrd): Likewise.
43036
43037 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43038 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43039 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43040
25f16ec1 43041 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43042 GRUB_MACHINE_IEEE1275 is defined.
43043
43044 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43045 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43046
43047 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43048 on nested function heap_init.
43049 (grub_upper_mem): New variable for i386-ieee1275.
43050 (grub_get_extended_memory): New function for i386-ieee1275.
43051 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43052
43053 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43054 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43055 property.
f19dbdb7 43056
25f16ec1 43057 * loader/i386/ieee1275/linux.c: New file.
43058
43059 * loader/i386/ieee1275/linux_normal.c: New file.
43060
43061 * disk/ieee1275/nand.c: New file.
43062
e89d61e9 430632008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43064
43065 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43066 value.
43067 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43068
602566f6 430692008-04-18 Robert Millan <rmh@aybabtu.com>
43070
43071 Restructures early code path on ieee1275 to unify grub_main() as
43072 the first C function that is executed in every platform.
43073
43074 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43075 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43076 cmain().
43077 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43078 * kern/ieee1275/cmain.c (cmain): Rename to ...
43079 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43080 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43081 at the beginning.
43082
57490c2b 430832008-04-18 Robert Millan <rmh@aybabtu.com>
43084
43085 * util/update-grub.in: Fix syntax error when setting
43086 `GRUB_PRELOAD_MODULES'.
43087 Reported by Stephane Chazelas <stephane@artesyncp.com>
43088
1977517d 430892008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43090
43091 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43092 section into account, newer toolchains generate unique build ids
43093 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43094 we want build ids to be preserved
1977517d 43095 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43096 far from other sections don't cause the raw binary images grow
43097 size
43098
bfb1f1a2 430992008-04-15 Robert Millan <rmh@aybabtu.com>
43100
43101 * disk/lvm.c: Update copyright year.
43102 * kern/misc.c: Likewise.
43103
01979850 431042008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43105
43106 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43107 there is no memory left for physical volume name.
01979850 43108
0a1150e2 431092008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43110
43111 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43112 volume name mapping to support bigger than 9 character names properly.
43113
82ead3fe 431142008-04-13 Robert Millan <rmh@aybabtu.com>
43115
43116 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43117 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43118
e54a72f5 431192008-04-13 Christian Franke <franke@computer.org>
43120
43121 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43122 to create a floppy emulation boot CD when non emulation mode
43123 does not work.
43124 Enable Joliet CD filesystem extension.
43125
9fe86034 431262008-04-13 Robert Millan <rmh@aybabtu.com>
43127
43128 * kern/misc.c (grub_strncat): Fix off-by-one error.
43129 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43130
43131 * kern/env.c (grub_env_context_close): Clear current context, not
43132 previous one.
43133 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43134
43135 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43136
7ceeee39 431372008-04-13 Robert Millan <rmh@aybabtu.com>
43138
43139 Improve robustness when handling LVM.
43140
43141 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43142 (and leave `*p' unmodified).
7ceeee39 43143 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43144 through it.
43145 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43146 iterating through it.
43147 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43148 through it.
fe6b695a 43149 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43150 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43151 Don't assume `vg->pvs != NULL' when iterating through it.
43152
58cd3d85 431532008-04-13 Robert Millan <rmh@aybabtu.com>
43154
43155 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43156 * genmk.rb (partmap): New variable.
43157 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43158 (#{partmap}): New target rule.
43159 * genpartmaplist.sh: New file.
43160 * Makefile.in (pkglib_DATA): Add partmap.lst.
43161 (partmap.lst): New target rule.
43162 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43163 modules (including all partition maps), instead of preloading them.
43164
78b51059 431652007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43166
43167 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43168 `linux-boot-prober' (if installed) to detect other operating
43169 systems which are installed on the computer and add them to
43170 the boot menu.
43171 * conf/common.rmk: Build and install 30_os-prober.
43172
a91627b4 431732008-04-12 Robert Millan <rmh@aybabtu.com>
43174
43175 * kern/powerpc/ieee1275/init.c: Move from here ...
43176 * kern/ieee1275/init.c: ... to here. Update all users.
43177
43178 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43179 * kern/ieee1275/cmain.c: ... to here. Update all users.
43180
43181 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43182 * kern/ieee1275/openfw.c: ... to here. Update all users.
43183
43184 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43185 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43186
322562ea 431872008-04-10 Pavel Roskin <proski@gnu.org>
43188
43189 * configure.ac: Always use "_cv_" in cache variables for
43190 compatibility with Autoconf 2.62.
43191
a02a73c5 431922008-04-07 Robert Millan <rmh@aybabtu.com>
43193
43194 Revert grub/machine/init.h addition by Pavel (since it breaks on
43195 i386-ieee1275 and others):
43196 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43197 * util/powerpc/ieee1275/misc.c: Likewise.
43198
25c024b1 431992008-04-07 Robert Millan <rmh@aybabtu.com>
43200
43201 * util/grub-probe.c (probe): Improve error message.
43202
3cbd2f98 432032008-04-07 Robert Millan <rmh@aybabtu.com>
43204
43205 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43206 (this prevents the presence of a bogus entry from ruining the whole
43207 thing).
43208
87a297bf 432092008-04-06 Pavel Roskin <proski@gnu.org>
43210
36747a62 43211 * util/biosdisk.c: Include grub/util/biosdisk.h.
43212 * util/grub-fstest.c (execute_command): Make static.
43213 * util/grub-mkdevicemap.c (check_device): Likewise.
43214 * util/i386/pc/misc.c: Include grub/machine/init.h.
43215 * util/powerpc/ieee1275/misc.c: Likewise.
43216 * util/lvm.c: Include grub/util/lvm.h.
43217 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43218 grub/cache.h.
43219 * util/raid.c: Include grub/util/raid.h.
43220 (grub_util_getdiskname): Make static.
43221
87a297bf 43222 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43223 grub_hostfs_fini(), as they are called from grub_init_all() and
43224 grub_fini_all() respectively. This fixes an infinite loop in
43225 grub-fstest due to double registration of hostfs.
43226 Reported by Christian Franke <Christian.Franke@t-online.de>
43227
f6ce7629 432282008-04-05 Pavel Roskin <proski@gnu.org>
43229
43230 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43231 all 8 functions. Otherwise, probe function 0 only.
43232
070e49e4 432332008-04-04 Pavel Roskin <proski@gnu.org>
43234
8b088a4c 43235 * commands/lspci.c (grub_lspci_iter): Print the bus number
43236 correctly.
43237
4f657021 43238 * commands/lspci.c (grub_pci_classes): Fix typos.
43239 (grub_lspci_iter): Don't print func twice. Print vendor ID
43240 before device ID, as it's normally done.
43241
070e49e4 43242 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43243 Fix signedness warnings.
43244 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43245 Likewise.
43246 * util/ieee1275/get_disk_name.c: Include config.h so that
43247 _GNU_SOURCE is defined and getline() is declared. Mark an
43248 unused argument as such. Fix a signedness warning.
43249
ba7328dc 432502008-04-02 Pavel Roskin <proski@gnu.org>
43251
26887f22 43252 * genkernsyms.sh.in: Use more robust assignments for CC and
43253 srcdir. Quote srcdir.
43254 * gensymlist.sh.in: Likewise. Assert at the compile time that
43255 the symbol table is not empty.
43256
ba7328dc 43257 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43258 * fs/cpio.c (grub_cpio_read): Likewise.
43259
0f582c6b 432602008-04-01 Pavel Roskin <proski@gnu.org>
43261
4b6e1995 43262 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43263 * disk/host.c (grub_host_open): Likewise.
43264 * disk/loopback.c (grub_loopback_open): Likewise.
43265 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43266 disk->id as in disk/host.c, not a multi-character constant.
43267
828a2768 43268 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43269 later is obsolete, potentially dangerous and sets a bad example.
43270 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43271 * util/misc.c (grub_util_get_image_size): Likewise.
43272
2bb4fb47 43273 * disk/loopback.c (options): Improve help for "--partitions".
43274
0f582c6b 43275 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43276 options to align them with the short options, e.g. "echo -e".
43277
a33224e0 432782008-03-31 Bean <bean123ch@gmail.com>
43279
43280 * video/reader/png.c (grub_png_data): New member is_16bit and
43281 image_data.
43282 (grub_png_decode_image_header): Detect 16 bit png image.
43283 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43284 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43285 (grub_video_reader_png): Release memory occupied by image_data.
43286
43287 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43288 4096 bytes.
43289 (grub_nfs_mount): Skip the test for sector per cluster.
43290
43291 * include/grub/ntfs.h (MAX_SPC): Removed.
43292
86cb4f54 432932008-03-31 Bean <bean123ch@gmail.com>
43294
43295 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43296 (grub_probe_SOURCES): Add fs/afs.c.
43297 (grub_fstest_SOURCES): Likewise.
43298 (afs_mod_SOURCES): New variable.
43299 (afs_mod_CFLAGS): Likewise.
43300 (afs_mod_LDFLAGS): Likewise.
43301
43302 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43303 (grub_emu_SOURCES): Likewise.
43304
43305 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43306
43307 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43308
43309 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43310
43311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43312
43313 * fs/afs.c: New file.
43314
17c74c21 433152008-03-30 Pavel Roskin <proski@gnu.org>
43316
4cb68e89 43317 * disk/host.c: Include grub/misc.h to fix a warning.
43318 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43319 warnings about implicit declarations.
43320
8790bb04 43321 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43322 variable.
43323 * include/grub/i386/loader.h: Change declaration of
43324 grub_linux_boot() to match what grub_loader_set() expects.
43325 * util/getroot.c (grub_guess_root_device): Return const char* to
43326 fix a warning.
43327 * util/grub-probe.c (probe): Fix a warning about uninitialized
43328 abstraction_name variable.
43329 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43330 second argument as unused to fix a warning.
43331
9a3f3296 43332 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43333 missing grub_error() call.
43334
0ecef90d 43335 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43336 2.60 and newer uses it to define datadir.
43337
0bf6d401 43338 * commands/sleep.c: Fix warning about implicit declaration.
43339 * disk/memdisk.c: Likewise.
43340 * loader/aout.c: Likewise.
43341 * loader/i386/bsd_normal.c: Likewise.
43342 * util/grub-probe.c: Likewise.
43343
7cdacf97 43344 * commands/i386/cpuid.c (has_longmode): Make static.
43345 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43346 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43347
17c74c21 43348 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43349 GDT. This is more robust, as %ds can change.
43350 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43351 calling real_to_prot().
43352 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43353
80a3e68b 433542008-03-28 Pavel Roskin <proski@gnu.org>
43355
43356 * kern/i386/pc/startup.S: Assert that uncompressed functions
43357 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43358 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43359 code, as they push parts of the code (error handlers) beyond
43360 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43361 code as correctness and size.
43362
77bcd272 433632008-03-28 Pavel Roskin <proski@gnu.org>
43364
43365 * kern/i386/pc/startup.S
43366 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43367 data block address to the real mode, keep offset minimal. This
43368 works around a bug in AWARD BIOS on old Athlon systems, which
43369 makes CD detection hang.
43370
c5dfd43b 433712008-03-26 Pavel Roskin <proski@gnu.org>
43372
43373 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43374 const.
43375 * include/grub/normal.h: Add grub_parse_color_name_pair()
43376 declaration.
43377
bf962df2 433782008-03-24 Bean <bean123ch@gmail.com>
43379
43380 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43381 (cd_count): Removed.
43382 (cd_drive): New variable.
43383 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43384 (grub_biosdisk_call_hook): Likewise.
43385 (grub_biosdisk_iterate): Change cdrom detection method.
43386 (grub_biosdisk_open): Replace cd_start with cd_drive.
43387 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43388 detect cdrom device.
43389
43390 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43391 Removed.
43392 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43393 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43394 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43395 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43396 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43397 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43398 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43399 (grub_biosdisk_cdrp): New structure.
43400 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43401
43402 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43403
43404 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43405 device.
43406
43407 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43408 New function.
43409
68e7fc7a 434102008-03-20 Robert Millan <rmh@aybabtu.com>
43411
43412 Remove 2 TiB limit in ata.mod.
43413 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43414 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43415 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43416 grub_uint64_t instead of grub_uint32_t.
43417
38ad2cf5 434182008-03-05 Bean <bean123ch@gmail.com>
43419
43420 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43421 (grub_multiboot): Set boot device.
43422
43423 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43424
2b89344e 434252008-03-02 Bean <bean123ch@gmail.com>
43426
43427 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43428 symlink_buffer.
43429
87a95d1f 434302008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43431
43432 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43433 texinfo.tex.
43434
43435 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43436 modified.
43437
43438 * docs/fdl.texi: New file.
f19dbdb7 43439
87a95d1f 43440 * docs/mdate-sh: New file. Copied from gnulib.
43441 * docs/texinfo.tex: Likewise.
43442
43443 * config.guess: Updated from gnulib.
43444 * install-sh: Likewise.
43445
7dc15d8e 434462008-02-28 Robert Millan <rmh@aybabtu.com>
43447
43448 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43449 (aout_mod_SOURCES): New variable.
43450 (aout_mod_CFLAGS): Likewise.
43451 (aout_mod_LDFLAGS): Likewise.
43452
43453 * conf/i386-ieee1275.rmk: Likewise.
43454
b00ab696 434552008-02-28 Robert Millan <rmh@aybabtu.com>
43456
43457 * util/update-grub.in: Reorganise terminal validity check. Accept
43458 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43459 Based on suggestion by Franklin PIAT.
43460
79ca2d78 434612008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43462
43463 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43464 function.
43465 * util/getroot.c (grub_util_check_block_device): New function that
43466 returns the given argument if it is a block device and returns NULL else.
43467 * util/grub-probe.c (argument_is_device): New variable.
43468 (probe): Promote device_name from a variable to an argument. Receive
43469 device_name from grub_util_check_block_device() if path is NULL and from
43470 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43471 (options): Introduce new parameter '-d, --device'.
79ca2d78 43472 (main): Add description of the new parameter to the help screen.
43473 Rename path variable to argument. Set argument_is_device if the '-d'
43474 option is given. Pass argument to probe() depending on
43475 argument_is_device.
43476
0d16e571 434772008-02-24 Bean <bean123ch@gmail.com>
43478
43479 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43480 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43481 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43482 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43483 (GRUB_ISO9660_VOLDESC_END): Likewise.
43484 (grub_iso9660_primary_voldesc): New member escape.
43485 (grub_iso9660_data): New member joliet.
43486 (grub_iso9660_convert_string): New function.
43487 (grub_iso9660_mount): Detect joliet extension.
43488 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43489 (grub_iso9660_iso9660_label): Likewise.
43490
43491 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43492 (grub_setup_SOURCES): Add fs/udf.c.
43493 (grub_fstest_SOURCES): Likewise.
43494 (udf_mod_SOURCES): New variable.
43495 (udf_mod_CFLAGS): Likewise.
43496 (udf_mod_LDFLAGS): Likewise.
43497
43498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43499 (grub_emu_SOURCES): Likewise.
43500
43501 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43502
43503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43504
43505 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43506
43507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43508
43509 * fs/udf.c: New file.
43510
8a594a17 435112008-02-24 Robert Millan <rmh@aybabtu.com>
43512
43513 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43514 (normal/lexer.c_DEPENDENCIES): New variables.
43515 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43516 (normal/lexer.c_DEPENDENCIES): Likewise.
43517 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43518 (normal/lexer.c_DEPENDENCIES): Likewise.
43519 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43520 (normal/lexer.c_DEPENDENCIES): Likewise.
43521 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43522 (normal/lexer.c_DEPENDENCIES): Likewise.
43523 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43524 (normal/lexer.c_DEPENDENCIES): Likewise.
43525
2dc33c03 435262008-02-23 Robert Millan <rmh@aybabtu.com>
43527
43528 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43529 since they were intended to be in hex. This didn't break previously
43530 because of a bug in gpt_partition_map_iterate() (see below).
43531
43532 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43533 when checking the validity of GPT header.
43534 Remove `partno', since it always provides the same information as `i'.
43535
f6f4cfb0 435362008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43537
43538 * include/grub/efi/time.h: Fix a wrong comment.
43539
79ff665f 435402008-02-19 Pavel Roskin <proski@gnu.org>
43541
43542 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43543 message.
43544
d38e24c2 435452008-02-19 Bean <bean123ch@gmail.com>
43546
43547 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43548 (aout_mod_SOURCES): New variable.
43549 (aout_mod_CFLAGS): Likewise.
43550 (aout_mod_LDFLAGS): Likewise.
43551 (_bsd_mod_SOURCES): New variable.
43552 (_bsd_mod_CFLAGS): Likewise.
43553 (_bsd_mod_LDFLAGS): Likewise.
43554 (bsd_mod_SOURCES): New variable.
43555 (bsd_mod_CFLAGS): Likewise.
43556 (bsd_mod_LDFLAGS): Likewise.
43557
43558 * include/grub/aout.h: New file.
43559
43560 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43561
43562 * include/grub/i386/bsd.h: New file.
43563
43564 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43565 to make it public.
43566
43567 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43568 function is called, so that it's possible to change it inside the hook.
43569 (grub_elf64_load): Likewise.
43570 (grub_elf_file): Don't close the file if elf header is not found.
43571 (grub_elf_close): Close the file if grub_elf_file fails (The new
43572 grub_elf_file won't close it).
43573 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43574 (grub_elf64_size): Likewise.
43575
43576 * kern/i386/loader.S (grub_unix_real_boot): New function.
43577
43578 * loader/aout.c: New file.
43579
43580 * loader/i386/bsd.c: New file.
43581
43582 * loader/i386/bsd_normal.c: New file.
43583
43584 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43585
43586 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43587 can test other formats.
d38e24c2 43588
b93bdb0f 435892008-02-19 Robert Millan <rmh@aybabtu.com>
43590
43591 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43592 (grub_gpt_partition_type_empty): Redefine with macro from
43593 `<grub/gpt_partition.h>'.
43594 (gpt_partition_map_iterate): Adjust partition type comparison.
43595
43596 Export `entry' as partmap-specific `part.data' struct.
43597 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43598
43599 * include/grub/gpt_partition.h (grub_gpt_header)
43600 (grub_gpt_partentry): ... to here (new file).
43601
43602 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43603
43604 (grub_gpt_partition_type_bios_boot): New const variable, defined
43605 with macro from `<grub/gpt_partition.h>'.
43606
43607 (setup): Replace `first_start' with `embed_region', which keeps
43608 track of the embed region (and is partmap-agnostic).
43609
43610 Replace find_first_partition_start() with find_usable_region(),
43611 which finds a usable region for embedding using partmap-specific
43612 knowledge (supports PC/MSDOS and GPT).
43613
43614 Fix all assumptions that the embed region start at sector 1, using
43615 `embed_region.start' from now on. Similarly, use `embed_region.end'
43616 rather than `first_start' to calculate available size.
43617
43618 In grub_util_info() message, replace "into after the MBR" with an
43619 indication of the specific sector our embed region starts at.
43620
66cb40f6 436212008-02-19 Robert Millan <rmh@aybabtu.com>
43622
43623 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43624 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43625 `commands/reboot.c'.
43626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43627 (halt_mod_SOURCES): Likewise.
43628 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43629 (halt_mod_SOURCES): Likewise.
43630
b7202015 436312008-02-17 Christian Franke <franke@computer.org>
43632
43633 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43634
32b0fc49 436352008-02-17 Robert Millan <rmh@aybabtu.com>
43636
43637 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43638 set `first_start' to 0 for non-PC/MSDOS partition maps.
43639
aca63502 436402008-02-16 Robert Millan <rmh@aybabtu.com>
43641
43642 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43643 do not assume partition map is PC/MSDOS before performing checks that
43644 are specific to that layout.
43645
0de8be86 436462008-02-13 Robert Millan <rmh@aybabtu.com>
43647
43648 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43649 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43650 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43651
c3db8364 436522008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43653
43654 * configure.ac: Only a cosmetic change on the handling of
43655 -fno-stack-protector.
43656
f714229e 436572008-02-12 Alexandre Boeglin <alex@boeglin.org>
43658
c3db8364 43659 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43660 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43661 reboot.c.
f714229e 43662 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43663 (halt_mod_SOURCES): New variable.
43664 (halt_mod_CFLAGS): Likewise.
43665 (halt_mod_LDFLAGS): Likewise.
43666 (reboot_mod_SOURCES): Likewise.
43667 (reboot_mod_CFLAGS): Likewise.
43668 (reboot_mod_LDFLAGS): Likewise.
43669
c3db8364 43670 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43671 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43672 reboot.c.
f714229e 43673 (halt_mod_SOURCES): Likewise.
43674 (reboot_mod_SOURCES): Likewise.
43675
c3db8364 43676 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43677 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43678 (reboot_mod_SOURCES): Likewise.
43679
43680 * commands/i386/pc/reboot.c: merge this file ...
43681
43682 * commands/ieee1275/reboot.c: ... and this file ...
43683
43684 * commands/reboot.c: ... to this file.
c3db8364 43685 Add some precompiler directive to include the correct header for
43686 each machine.
f714229e 43687
43688 * commands/ieee1275/halt.c: move this file ...
43689
43690 * commands/halt.c: ... to here.
c3db8364 43691 Add some precompiler directive to include the correct header for
43692 each machine.
f714229e 43693
43694 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43695 (grub_halt): Likewise.
43696
43697 * kern/efi/efi.c (grub_reboot): New function.
43698 (grub_halt): Likewise.
43699
c74493e0 437002008-02-12 Robert Millan <rmh@aybabtu.com>
43701
43702 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43703 /dev (like it is done for /dev/mapper). This doesn't provide support
43704 for EVMS, but at least it is now easy to identify the problem when it
43705 arises.
43706
d0db4b04 437072008-02-11 Robert Millan <rmh@aybabtu.com>
43708
43709 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43710 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43711 comparing it with -1, not 0.
43712
bf748642 437132008-02-10 Robert Millan <rmh@aybabtu.com>
43714
43715 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43716 `disk/lvm.c'.
43717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43718 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43719
43720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43721 `disk/lvm.c' to the end of the list.
43722 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43723 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43724
b5db202a 437252008-02-10 Robert Millan <rmh@aybabtu.com>
43726
43727 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43728 grub_print_error() instead. This will let user know why we're entering
43729 rescue mode.
43730 Based on suggestions from Sam Morris.
43731
83abee31 437322008-02-10 Alexandre Boeglin <alex@boeglin.org>
43733
43734 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43735 on remaining N args, instead of "--" arg N times.
43736
78d5a08b 437372008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43738
43739 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43740 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43741 pattern for unknown glyphs.
43742
68807e5f 437432008-02-09 Robert Millan <rmh@aybabtu.com>
43744
43745 * configure.ac: Probe for `help2man'.
43746 * Makefile.in (builddir): New variable.
43747 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43748 or otherwise add a few flags/options to it.
43749 (install-local): For every executable utility or script that is
43750 installed, invoke $(HELP2MAN) to install a manpage based on --help
43751 output.
43752
43753 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43754 that it doesn't prevent --help from working in build tree.
43755
43756 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43757 with `bug-grub@gnu.org'.
43758 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43759 * util/update-grub.in (usage): New function.
43760 Implement proper argument check, with support for --help and --version
43761 (as well as existing -y).
43762
437632008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43764
43765 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43766 avoid overwriting previous output.
43767 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43768
c1962162 437692008-02-09 Robert Millan <rmh@aybabtu.com>
43770
43771 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43772 drawing the menu.
43773
3dac2e3f 437742008-02-09 Robert Millan <rmh@aybabtu.com>
43775
43776 * commands/sleep.c: New file.
43777 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43778 (sleep_mod_SOURCES): New variable.
43779 (sleep_mod_CFLAGS): Likewise.
43780 (sleep_mod_LDFLAGS): Likewise.
43781
7a634e08 437822008-02-09 Robert Millan <rmh@aybabtu.com>
43783
43784 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43785 situations in which we can deduce the RAID size and the superblock
43786 doesn't match it.
43787
b92f0c18 437882008-02-09 Robert Millan <rmh@aybabtu.com>
43789
43790 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43791 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43792 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43793
43794 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43795 and return a grub_diskmemberlist_t composed of physical array members.
43796 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43797
43798 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43799 prototype.
43800 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43801 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43802 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43803
43804 * util/grub-probe.c (probe): Move partmap probing code from here ...
43805 (probe_partmap): ... to here.
43806 (probe): Use probe_partmap() once for the disk we're probing, and
43807 additionally, when such disk contains a memberlist() struct member,
43808 once for each disk that is contained in the structure returned by
43809 memberlist().
43810
91a4bf68 438112008-02-09 Robert Millan <rmh@aybabtu.com>
43812
43813 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43814 environment variable to 'all' in order to obtain debug output from
43815 non-util/ code.
43816 * util/i386/pc/grub-setup.c (main): Likewise.
43817
a96f9caa 438182008-02-08 Robert Millan <rmh@aybabtu.com>
43819
43820 * disk/raid.c (grub_raid_scan_device): Check for
43821 `array->device[sb.this_disk.number]' rather than for
43822 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43823 guaranteed to be accessible.
a96f9caa 43824
b37a9222 438252008-02-08 Robert Millan <rmh@aybabtu.com>
43826
43827 * disk/raid.c: Update copyright.
43828 * fs/cpio.c: Likewise.
43829 * include/grub/raid.h: Likewise.
43830 * loader/i386/pc/multiboot.c: Likewise.
43831 * util/hostfs.c: Likewise.
43832
5626aee1 438332008-02-08 Robert Millan <rmh@aybabtu.com>
43834
43835 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43836 to a grub_disk_t array.
43837 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43838 `device[x]'.
43839 (grub_raid_scan_device): Replace `device[x].name' accesses with
43840 `device[x]->name'. Simplify initialization of `array->device[x]'.
43841
554f0187 438422008-02-08 Robert Millan <rmh@aybabtu.com>
43843
43844 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43845 grub_dprintf() calls.
43846 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43847 error message.
43848
1ec8425d 438492008-02-07 Christian Franke <franke@computer.org>
43850
43851 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43852 instead of fseek and ftell to support large files.
43853 (grub_hostfs_read): Likewise.
43854
f2156fda 438552008-02-07 Robert Millan <rmh@aybabtu.com>
43856
43857 Patch from Jeroen Dekkers.
43858 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43859 failure, since successfully reading all array members might not be
f2156fda 43860 required.
43861
9216e0e7 438622008-02-06 Robert Millan <rmh@aybabtu.com>
43863
43864 * util/grub-probe.c (probe): Simplify partmap probing (with the
43865 assumption that the first word up to the underscore equals to
43866 the module name).
43867
b0dfd29a 438682008-02-06 Christian Franke <franke@computer.org>
43869
43870 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43871 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43872 last block of a cpio or tar stream.
43873 Check for "TRAILER!!!" instead of any empty data
43874 block to detect last block of a cpio stream.
43875 (grub_cpio_dir): Fix constness of variable np.
43876 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43877 cpio or tar trailer is detected. This fixes a crash
43878 on open of a non existing file.
43879
c32865bf 438802008-02-05 Bean <bean123ch@gmail.com>
43881
43882 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43883 address of entry.
43884 (grub_multiboot_load_elf64): Likewise.
43885 (grub_multiboot): Initialize mbi structure.
43886
43887 * util/grub-fstest.c: Don't include unused header file script.h.
43888
fe6b695a 43889 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43890 of file.
43891 (grub_fstest_SOURCES): Likewise.
43892
409480b7 438932008-02-05 Robert Millan <rmh@aybabtu.com>
43894
43895 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43896 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43897 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43898 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43899
43900 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43901 (translation_table): Replace hardcoded values with macros
43902 provided by `<grub/term.h>'.
43903
43904 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43905 (keyboard_map): Correct/add a few values, with macros provided
43906 by `<grub/term.h>'.
43907 (keyboard_map_shift): Zero values that don't differ from their
43908 `keyboard_map' equivalents.
43909 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43910 Discard the second scan code that is always sent by Caps lock.
43911 Only use `keyboard_map_shift' when it provides a non-zero value,
43912 otherwise fallback to `keyboard_map'.
43913
99fadbaa 439142008-02-04 Bean <bean123ch@gmail.com>
43915
43916 * Makefile.in (enable_grub_fstest): New variable.
43917
43918 * conf/common.rmk (grub_fstest_init.lst): New rule.
43919 (grub_fstest_init.h): Likewise.
43920 (grub_fstest_init.c): Likewise.
43921 (util/grub-fstest.c_DEPENDENCIES): New variable.
43922 (grub_fstest_SOURCES): Likewise.
43923
43924 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43925
43926 * util/grub-fstest.c: New file.
43927
bf567c50 439282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43929
43930 Make grub-setup handle a separate root device.
f19dbdb7 43931
bf567c50 43932 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43933 so that the root device can be compared with the destination
43934 device.
43935 When embedding the core image, if the root and destination devices
43936 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43937 0xFF.
43938 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43939
9be6b98b 439402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43941
43942 Add support for having a grub directory in a different drive. This
43943 is still only the data handling part.
f19dbdb7 43944
9be6b98b 43945 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43946 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43947 (grub_root_drive): New variable.
43948
43949 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43950 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43951 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43952 as it was.
43953
43954 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43955
43956 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43957 macro.
43958 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43959
43960 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43961 is bogus, because PXE booting does not specify any drive
43962 correctly.
43963
43964 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43965 am not sure if this is really correct.
43966
43967 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43968 is always identical to the boot drive when booting from a CD.
43969
43970 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43971 longer.
43972 (root_drive): New variable.
43973 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43974 (setup_sectors): Push %dx right after popping it, because %dh will
43975 be modified later.
43976 (copy_buffer): Restore %dx.
43977
e0ca0677 439782008-02-03 Robert Millan <rmh@aybabtu.com>
43979
43980 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43981 use `cdboot.img' for cdrom images.
43982
3b3f6629 439832008-02-03 Robert Millan <rmh@aybabtu.com>
43984
43985 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43986 only setup gfxterm when `font' command has succeeded.
43987
d42b3672 439882008-02-03 Robert Millan <rmh@aybabtu.com>
43989
43990 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43991 (grub_rescue_cmd_multiboot_loader)
43992 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43993
fa370ea6 439942008-02-03 Pavel Roskin <proski@gnu.org>
43995
e0c5dacb 43996 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43997 %edx and %esi from stack only after grub_gate_a20() is called.
43998 grub_gate_a20() clobbers %edx.
43999
f2a76e1d 440002008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44001
44002 * configure.ac (AC_INIT): Bumped to 1.96.
44003
44004 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44005 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44006 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44007 video/readers/png.c.
44008
90fd32d1 440092008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44010
44011 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44012 (cdboot_img_SOURCES): New variable.
44013 (cdboot_img_ASFLAGS): New variable.
44014 (cdboot_img_LDFLAGS): New variable.
44015
44016 * boot/i386/pc/cdboot.S: New file.
44017
44018 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44019 (cd_count): Likewise.
44020 (grub_biosdisk_get_drive): Add support for cd device.
44021 (grub_biosdisk_call_hook): Likewise.
44022 (grub_biosdisk_iterate): Likewise.
44023 (grub_biosdisk_open): Likewise.
44024 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44025 (grub_biosdisk_rw): Support reading from cd device.
44026 (GRUB_MOD_INIT): Iterate cd devices.
44027
44028 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44029 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44030 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44031
44032 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44033
4020aa53 440342008-02-02 Robert Millan <rmh@aybabtu.com>
44035
44036 * commands/read.c: New file.
44037 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44038 (read_mod_SOURCES): New variable.
44039 (read_mod_CFLAGS): Likewise.
44040 (read_mod_LDFLAGS): Likewise.
44041
e03a1132 440422008-02-02 Robert Millan <rmh@aybabtu.com>
44043
44044 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44045 determining whether menu has to be displayed.
44046
58c69220 440472008-02-02 Marco Gerards <marco@gnu.org>
44048
44049 * bus/pci.c: New file.
44050
44051 * include/grub/pci.h: Likewise.
44052
44053 * include/grub/i386/pc/pci.h: Likewise.
44054
44055 * commands/lspci.c: Likewise.
44056
44057 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44058 `lspci.mod'.
44059 (pci_mod_SOURCES): New variable.
44060 (pci_mod_CFLAGS): Likewise.
44061 (pci_mod_LDFLAGS): Likewise.
44062 (lspci_mod_SOURCES): Likewise.
44063 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44064 (lspci_mod_LDFLAGS): Likewise.
58c69220 44065
c004e1b4 440662008-02-02 Bean <bean123ch@gmail.com>
44067
44068 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44069 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44070
44071 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44072 (grub_xfs_btree_node): New structure.
44073 (grub_xfs_btree_root): New structure.
44074 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44075 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44076 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44077 (GRUB_XFS_EXTENT_SIZE): Likewise.
44078 (grub_xfs_read_block): Support btree format type.
44079 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44080 Use directory block as basic unit.
44081
44082 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44083
44084 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44085 __attribute__ ((__regparm__ (1))).
44086
f95562bf 440872008-02-01 Robert Millan <rmh@aybabtu.com>
44088
44089 Correct a mistake in previous commit.
44090
44091 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44092 top.
44093 (normal/command.c_DEPENDENCIES): New variable.
44094
7d31f41f 440952008-02-01 Robert Millan <rmh@aybabtu.com>
44096
44097 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44098 top.
44099 (normal/command.c_DEPENDENCIES): New variable.
44100 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44101 * conf/i386-ieee1275.rmk: Likewise.
44102 * conf/i386-linuxbios.rmk: Likewise.
44103 * conf/i386-pc.rmk: Likewise.
44104 * conf/sparc64-ieee1275.rmk: Likewise.
44105 * conf/powerpc-ieee1275.rmk: Likewise.
44106 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44107
44108 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44109
60b6be74 441102008-02-01 Robert Millan <rmh@aybabtu.com>
44111
44112 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44113 call at beginning of function.
44114
078522ab 441152008-01-31 Pavel Roskin <proski@gnu.org>
44116
44117 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44118 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44119 (grub_mkrescue_SOURCES): Likewise.
078522ab 44120 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44121
ccaa8a5f 441222008-01-30 Robert Millan <rmh@aybabtu.com>
44123
44124 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44125 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44126 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44127 (grub_probe_SOURCES): ... to here.
44128
44129 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44130 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44131 * conf/i386-ieee1275.rmk: Likewise.
44132 * conf/i386-linuxbios.rmk: Likewise.
44133 * conf/powerpc-ieee1275.rmk: Likewise.
44134
ae5a9cd7 441352008-01-30 Tristan Gingold <gingold@free.fr>
44136
44137 * kern/rescue.c: Silently accept empty lines.
44138
70bc2ef2 441392008-01-29 Bean <bean123ch@gmail.com>
44140
44141 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44142 (real_code_2): Code cleanup and change comment style.
44143 (move_memory): Avoid using 32-bit address mode.
44144
6a4d50ea 441452008-01-29 Bean <bean123ch@gmail.com>
44146
44147 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44148 (png_mod_SOURCES): New variable.
44149 (png_mod_CFLAGS): Likewise.
44150 (png_mod_LDFLAGS): Likewise.
44151
44152 * video/readers/png.c: New file.
44153
11cc30ac 441542008-01-28 Robert Millan <rmh@aybabtu.com>
44155
44156 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44157 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44158 `ifndef GRUB_MOD_GAP' hack.
44159 * util/elf/grub-mkimage.c (add_segments): Likewise.
44160
3abc589f 441612008-01-27 Robert Millan <rmh@aybabtu.com>
44162
44163 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44164 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44165 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44166
e1907778 441672008-01-27 Robert Millan <rmh@aybabtu.com>
44168
44169 Get grub-emu to build again (including parallel builds).
44170
44171 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44172 Split into ...
44173 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44174 (normal/execute.c_DEPENDENCIES): ... this, ...
44175 (grub-emu_DEPENDENCIES): ... and this.
44176
44177 * conf/i386-efi.rmk: Likewise.
44178 * conf/i386-linuxbios.rmk: Likewise.
44179 * conf/i386-ieee1275.rmk: Likewise.
44180 * conf/powerpc-ieee1275.rmk: Likewise.
44181 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44182
2216b101 441832008-01-27 Robert Millan <rmh@aybabtu.com>
44184
44185 * NEWS: Add a few items.
44186
f75172d9 441872008-01-27 Robert Millan <rmh@aybabtu.com>
44188
44189 Fix parallel builds with grub-emu. Based on earlier commit for
44190 grub-probe and grub-setup.
44191
44192 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44193 (util/grub-emu.c_DEPENDENCIES): ... this.
44194 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44195 (util/grub-emu.c_DEPENDENCIES): ... this.
44196 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44197 (util/grub-emu.c_DEPENDENCIES): ... this.
44198 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44199 (util/grub-emu.c_DEPENDENCIES): ... this.
44200 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44201 (util/grub-emu.c_DEPENDENCIES): ... this.
44202
3f51de77 442032008-01-27 Pavel Roskin <proski@gnu.org>
44204
44205 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44206 to create a gap between _end and the modules added to the image
44207 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44208 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44209 * util/elf/grub-mkimage.c (add_segments): Likewise.
44210
2033f53e 442112008-01-26 Pavel Roskin <proski@gnu.org>
44212
44213 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44214 just return an error.
44215
22da1f6f 442162008-01-26 Bean <bean123ch@gmail.com>
44217
44218 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44219 (grub_reiserfs_get_item): Save offset of the next item.
44220 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44221
2a9525e6 442222008-01-25 Robert Millan <rmh@aybabtu.com>
44223
44224 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44225 make all filesystem sources appear together (possibly fixing omissions
44226 while at it).
44227 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44229 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44231
44232 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44233 add `kern/file.c'.
44234 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44235 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44236 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44237 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44238
44239 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44240 (probe): Add a sanity check to make sure of our ability to read
44241 requested files when probing for filesystem type.
44242
44243 * genmk.rb: Update copyright year (2007).
44244
44245 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44246 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44247 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44248 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44249 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44250 : Remove function prototypes.
44251
b95f71b5 442522008-01-25 Robert Millan <rmh@aybabtu.com>
44253
44254 Revert my previous commits (based on wrong assumption of how grub_errno
44255 works).
44256
fe6b695a 44257 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44258 * kern/file.c (grub_file_open): Likewise.
44259
d08bbb49 442602008-01-24 Pavel Roskin <proski@gnu.org>
44261
44262 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44263 that hang if GRUB tries to setup colors.
44264 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44265 colors for firmwares that don't support it.
44266 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44267 Recognize Open Hack'Ware, set flags to work around its
44268 limitations.
44269
605e36ed 442702008-01-24 Robert Millan <rmh@aybabtu.com>
44271
44272 * kern/file.c (grub_file_open): Do not account previous failures of
44273 unrelated functions when grub_errno is checked for.
44274 Reported by Oleg Strikov.
44275
bac332a1 442762008-01-24 Bean <bean123ch@gmail.com>
44277
44278 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44279 (grub_ufs_sblock): New member volume name.
44280 (grub_ufs_find_file): Fix string copy bug.
44281 (grub_ufs_label): Implement this function properly.
44282
44283 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44284 (grub_hfs_iterate_records): Use the correct file number for extents
44285 and catalog file. Fix problem in next index calculation.
44286 (grub_hfs_find_node): Replace recursive function call with loop.
44287 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44288
15c80c09 442892008-01-23 Robert Millan <rmh@aybabtu.com>
44290
44291 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44292 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44293 (grub_multiboot2_real_boot): New function prototype.
44294
44295 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44296 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44297
44298 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44299 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44300
305338fd 443012008-01-23 Robert Millan <rmh@aybabtu.com>
44302
44303 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44304 #ifdef'ed out grub_printf().
44305
3ea52685 443062008-01-23 Robert Millan <rmh@aybabtu.com>
44307
44308 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44309 grub_dprintf calls, since they make "debug=all" mode unusable.
44310 (grub_console_checkkey): Likewise.
44311
5882ae4b 443122008-01-23 Robert Millan <rmh@aybabtu.com>
44313
44314 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44315 `term/i386/pc/at_keyboard.c'.
44316 (pkglib_MODULES): Add `serial.mod'.
44317 (serial_mod_SOURCES): New variable.
44318 (serial_mod_CFLAGS): Likewise.
44319 (serial_mod_LDFLAGS): Likewise.
44320
44321 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44322 `<grub/powerpc/ieee1275/console.h>'.
44323 (grub_keyboard_controller_init): New function prototype.
44324 (grub_console_checkkey): Likewise.
44325 (grub_console_getkey): Likewise.
44326
44327 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44328 keyboard on i386.
44329
44330 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44331 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44332
06ab5303 443332008-01-23 Robert Millan <rmh@aybabtu.com>
44334
44335 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44336 present, "(memdisk)/boot/grub" becomes the default prefix.
44337
44338 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44339 a memdisk tarball with all the modules. Add --overlay=DIR option that
44340 allows users to overlay additional files into the image.
44341
dbb475a4 443422008-01-23 Robert Millan <rmh@aybabtu.com>
44343
44344 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44345 and `machine/memory.h'.
44346 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44347 (_multiboot_mod_SOURCES): New variable.
44348 (_multiboot_mod_CFLAGS): Likewise.
44349 (_multiboot_mod_LDFLAGS): Likewise.
44350 (multiboot_mod_SOURCES): Likewise.
44351 (multiboot_mod_CFLAGS): Likewise.
44352 (multiboot_mod_LDFLAGS): Likewise.
44353
44354 * include/grub/i386/ieee1275/loader.h: New file.
44355
44356 * include/grub/i386/ieee1275/machine.h: Likewise.
44357
44358 * include/grub/i386/ieee1275/memory.h: Likewise.
44359
44360 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44361 variable declaration.
44362 (grub_os_area_size): Likewise.
44363
44364 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44365 (grub_lower_mem, grub_upper_mem): New variables.
44366 (grub_stop_floppy): New function (just to make
44367 grub_multiboot2_real_boot() happy).
44368
44369 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44370 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44371 (grub_stop): New function.
44372 Include `"../realmode.S"' and `"../loader.S"'.
44373
44374 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44375 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44376
44377 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44378 rely on grub_multiboot2_real_boot() for final boot.
44379
25638629 443802008-01-22 Robert Millan <rmh@aybabtu.com>
44381
44382 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44383 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44384 device that doesn't look like an SD card.
44385 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44386 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44387 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44388 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44389 found.
44390
9dad816d 443912008-01-22 Robert Millan <rmh@aybabtu.com>
44392
44393 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44394 avoid claiming over our own code.
44395
34842f2d 443962008-01-22 Bean <bean123ch@gmail.com>
44397
44398 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44399 (jpeg_mod_SOURCES): New variable.
44400 (jpeg_mod_CFLAGS): Likewise.
44401 (jpeg_mod_LDFLAGS): Likewise.
44402
44403 * video/readers/jpeg.c : New file.
44404
44023a28 444052008-01-22 Bean <bean123ch@gmail.com>
44406
44407 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44408 there are no more items.
44409
bc2d8ac6 444102008-01-21 Robert Millan <rmh@aybabtu.com>
44411
44412 * kern/mm.c (grub_mm_init_region): Improve debug message.
44413
261bd4bc 444142008-01-21 Robert Millan <rmh@aybabtu.com>
44415
44416 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44417 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44418 address.
44419 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44420 a C macro.
44421 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44422 Indicates start of upper memory.
44423 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44424 (generate_image): Abort when image size is big enough to corrupt
44425 upper memory.
44426
44427 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44428 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44429 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44430 instead of hardcoding 0xA0000.
44431 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44432 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44433 instead of hardcoding 0xA0000.
44434
f970b55e 444352008-01-21 Robert Millan <rmh@aybabtu.com>
44436
44437 * disk/memdisk.c (memdisk_size): New variable.
44438 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44439 `memdisk_size'.
44440 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44441 image to dynamic memory.
44442 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44443 `memdisk_size'. Free memdisk block.
44444
1a8b0526 444452008-01-21 Robert Millan <rmh@aybabtu.com>
44446
44447 Fix detection of very small filesystems (like tar).
44448
44449 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44450 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44451 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44452 a problem with this disk).
44453
6e9b4aab 444542008-01-21 Robert Millan <rmh@aybabtu.com>
44455
44456 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44457 on grub_biosdisk_rw_standard() error.
44458
0d8837b2 444592008-01-21 Robert Millan <rmh@aybabtu.com>
44460
44461 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44462 recent changes.
44463 * kern/elf.c: Likewise.
44464 * kern/ieee1275/ieee1275.c: Likewise.
44465 * kern/powerpc/ieee1275/openfw.c: Likewise.
44466 * term/ieee1275/ofconsole.c: Likewise.
44467
ffd36e34 444682008-01-21 Robert Millan <rmh@aybabtu.com>
44469
44470 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44471
3f0093d0 44472 * include/grub/kernel.h (grub_arch_memdisk_addr)
44473 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44474
3f0093d0 44475 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44476 (grub_arch_memdisk_size): ... to here.
ffd36e34 44477
6c391b21 444782008-01-21 Robert Millan <rmh@aybabtu.com>
44479
44480 Mostly based on bugfix from Bean.
44481
44482 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44483 attribute with hook() parameter.
44484 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44485 declaration.
44486 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44487 attribute with hook() parameter.
44488 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44489 declaration.
44490
55a581dc 444912008-01-21 Robert Millan <rmh@aybabtu.com>
44492
44493 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44494 (pkglib_MODULES): Add `memdisk.mod'.
44495 (memdisk_mod_SOURCES): New variable.
44496 (memdisk_mod_CFLAGS): Likewise.
44497 (memdisk_mod_LDFLAGS): Likewise.
44498
44499 * disk/memdisk.c: New file.
44500
44501 * include/grub/disk.h (grub_disk_dev_id): Add
44502 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44503
44504 * include/grub/i386/pc/kernel.h
44505 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44506 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44507 (grub_kernel_image_size): New variable declaration.
44508 (grub_total_module_size): Likewise.
44509 (grub_memdisk_image_size): Likewise.
44510
44511 * include/grub/i386/pc/memory.h
44512 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44513
44514 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44515 (grub_arch_memdisk_addr): New variable declaration.
44516 (grub_arch_memdisk_size): Likewise.
44517
44518 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44519 (grub_arch_memdisk_size): Likewise.
44520
44521 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44522 (codestart): Replace hardcoded `0x100000' with
44523 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44524
44525 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44526 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44527 not NULL, append the contents of the file it refers to, at the end of
44528 the compressed kernel image. Initialize `grub_memdisk_image_size'
44529 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44530 (options): Add "memdisk"|'m' option.
44531 (main): Parse --memdisk|-m option, and pass user-provided path as
44532 parameter to generate_image().
44533
3d7f54c9 445342008-01-20 Robert Millan <rmh@aybabtu.com>
44535
44536 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44537 grub_dprintf() calls from here ...
44538 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44539
0bf74728 445402008-01-20 Robert Millan <rmh@aybabtu.com>
44541
44542 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44543
44544 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44545 declaration.
44546 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44547 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44548 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44549 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44550 property).
44551 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44552 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44553
33bf70a7 445542008-01-19 Robert Millan <rmh@aybabtu.com>
44555
fe6b695a 44556 Get rid of confusing function (superseded by
33bf70a7 44557 `grub_ieee1275_get_integer_property')
44558 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44559 prototype.
44560 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44561 function.
44562 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44563 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44564 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44565
e2da7d26 445662008-01-19 Robert Millan <rmh@aybabtu.com>
44567
44568 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44569 command after "shut-down", since implementations differ on which
44570 the command for halt is.
44571
59f1fd8d 445722008-01-19 Robert Millan <rmh@aybabtu.com>
44573
44574 * include/grub/i386/linuxbios/console.h: Add header protection.
44575 (grub_keyboard_controller_init): New function prototype.
44576 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44577 (KEYBOARD_COMMAND_READ): Likewise.
44578 (KEYBOARD_COMMAND_WRITE): Likewise.
44579 (KEYBOARD_SCANCODE_SET1): Likewise.
44580 (grub_keyboard_controller_write): New function.
44581 (grub_keyboard_controller_read): Likewise.
44582 (grub_keyboard_controller_init): Likewise.
44583
44584 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44585 (grub_console_init): On coreboot/LinuxBIOS, call
44586 grub_keyboard_controller_init().
44587
5f5a7c15 445882008-01-19 Robert Millan <rmh@aybabtu.com>
44589
44590 PowerPC changes provided by Pavel Roskin.
44591
44592 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44593 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44594 don't rely on cmain() doing it.
44595 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44596 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44597
1210e168 445982008-01-16 Robert Millan <rmh@aybabtu.com>
44599
44600 * include/grub/i386/linuxbios/memory.h
44601 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44602 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44603 receive `table_header' as argument. Instead, probe for it in the
44604 known memory ranges where it can be present.
44605 (grub_available_iterate): Do not pass a fixed `table_header' address
44606 to grub_linuxbios_table_iterate().
44607
3d04eab8 446082008-01-15 Robert Millan <rmh@aybabtu.com>
44609
44610 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44611 * conf/i386-ieee1275.rmk: New file.
44612 * include/grub/i386/ieee1275/console.h: Likewise.
44613 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44614 * include/grub/i386/ieee1275/kernel.h: Likewise.
44615 * include/grub/i386/ieee1275/time.h: Likewise.
44616 * kern/i386/ieee1275/init.c: Likewise.
44617 * kern/i386/ieee1275/startup.S: Likewise.
44618
d1bc1b73 446192008-01-15 Robert Millan <rmh@aybabtu.com>
44620
44621 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44622 when pointers are 32-bit (but still do set it to one when they are
44623 64-bit).
44624
66a65807 446252008-01-15 Robert Millan <rmh@aybabtu.com>
44626
44627 * include/grub/ieee1275/ieee1275.h
44628 (grub_ieee1275_get_integer_property): New function prototype.
44629
44630 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44631 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44632 grub_ieee1275_get_property() to handle endianness.
66a65807 44633
44634 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44635 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44636 where appropriate.
66a65807 44637 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44638 (grub_map): Likewise.
44639 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44640
a83ccafd 446412008-01-15 Bean <bean123ch@gmail.com>
44642
44643 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44644 (grub_script_execute_cmdline): Reset grub_errno.
44645
44646 * normal/main.c (read_config_file): Reset grub_errno.
44647
44648 * normal/parse.y (script_init): New.
44649 (script): Move function and menuentry here.
44650 (delimiter): New.
44651 (command): Add delimiter at the end of command.
44652 (commands): Adjust to match the new command.
44653 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44654 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44655 (if): Use the new commands.
44656
44657 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44658
df6ecfc6 446592008-01-15 Robert Millan <rmh@aybabtu.com>
44660
44661 * normal/menu.c (run_menu): Move timeout message from here ...
44662 (print_timeout): ... to here.
44663 (run_menu): Use print_timeout() once during initial draw to print
44664 the whole message, and again in every clock tick to update only
44665 the number of seconds.
44666
87ae25eb 446672008-01-15 Robert Millan <rmh@aybabtu.com>
44668
44669 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44670 actual size of `available' from grub_ieee1275_get_property(), and
44671 restrict parsing to that bound.
44672
47bf09a4 446732008-01-15 Christian Franke <franke@computer.org>
44674
44675 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44676 (argp_program_version): Remove variable.
44677 (argp_program_bug_address): Likewise.
44678 (options): Convert from struct argp_option to struct option.
44679 (struct arguments): Remove.
44680 (parse_opt): Remove.
44681 (usage): New function.
44682 (main): Replace struct args members by simple variables.
44683 Replace argp_parse() by getopt_long().
44684 Add switch to evaluate options.
44685 Add missing "(...)" around root_dev in prefix string.
44686
c86f1469 446872008-01-14 Robert Millan <rmh@aybabtu.com>
44688
44689 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44690 for grub_ieee1275_exit(), in order to improve portability.
44691
e622c559 446922008-01-14 Robert Millan <rmh@aybabtu.com>
44693
44694 * util/grub.d/10_linux.in (prefix): Define.
44695 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44696
44cb1ec8 446972008-01-13 Pavel Roskin <proski@gnu.org>
44698
44699 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44700 grub_errno if no errors have been detected.
44701
1eb8c802 447022008-01-12 Robert Millan <rmh@aybabtu.com>
44703
44704 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44705 (grub_util_get_dev_abstraction): New function prototype.
44706
44707 * util/getroot.c: Include `<grub/util/getroot.h>'
44708 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44709 (grub_util_get_dev_abstraction): ... here (new function).
44710
44711 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44712 `PRINT_ABSTRACTION'.
44713 (probe): Probe for abstraction type when requested.
44714 (main): Understand `--target=abstraction'.
44715
44716 * util/i386/efi/grub-install.in: Add abstraction module to core
44717 image when it is found to be necessary.
44718 * util/i386/pc/grub-install.in: Likewise.
44719 * util/powerpc/ieee1275/grub-install.in: Likewise.
44720
44721 * util/update-grub_lib.in (font_path): Return system path without
44722 converting to GRUB path.
44723 * util/update-grub.in: Convert system path returned by font_path()
44724 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44725 abstraction module is needed for loading fonts (if any). Export
44726 that as `GRUB_PRELOAD_MODULES'.
44727 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44728 insmod commands).
44729
52bd3de9 447302008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44731
44732 Remove some unused code from reiserfs.
f19dbdb7 44733
52bd3de9 44734 * fs/reiserfs.c (struct grub_reiserfs_key)
44735 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44736 (struct grub_reiserfs_node_body): Removed.
44737 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44738 Likewise.
44739 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44740 Likewise.
44741 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44742 Likewise.
44743 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44744 Likewise.
44745 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44746 Likewise.
44747 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44748 Likewise.
44749 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44750 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44751 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44752
2f80039d 447532008-01-10 Robert Millan <rmh@aybabtu.com>
44754
44755 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44756 Determines if a file is garbage left by packaging systems, etc.
44757 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44758 for processing /etc/grub.d scripts.
44759 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44760 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44761 as a condition for processing Linux images.
44762
87888032 447632008-01-10 Pavel Roskin <proski@gnu.org>
44764
44765 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44766 to compile reiserfs.c on PowerPC.
44767
7e54fced 447682008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44769
44770 * kern/device.c (grub_device_iterate): Do not abort device iteration
44771 when one of the devices cannot be opened.
44772 * kern/disk.c (grub_disk_open): Do not account previous failures of
44773 unrelated functions when grub_errno is checked for.
44774
5aa541e6 447752008-01-08 Robert Millan <rmh@aybabtu.com>
44776
44777 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44778 `! grub_linux_is_bzimage', change order of address comparison to make
44779 it more intuitive, and improve "too big zImage" error message.
44780
7076340d 447812008-01-08 Robert Millan <rmh@aybabtu.com>
44782
44783 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44784 `$(update-grub_DATA)'.
44785 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44786 targets.
44787
9ca70333 447882008-01-07 Robert Millan <rmh@aybabtu.com>
44789
44790 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44791 which instruction is modified by grub-setup during installation
44792 (since it wasn't obvious by only looking at this file).
44793
38ccf575 447942008-01-07 Robert Millan <rmh@aybabtu.com>
44795
44796 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44797 listing actual TODO items.
44798
f5db4291 447992008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44800
868967cf 44801 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44802 correctly.
44803 (grub_reiserfs_get_key_offset): Likewise.
44804 (grub_reiserfs_set_key_offset): Likewise.
44805 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44806 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44807
44808 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44809 better to remove the bitfield version completely.
f19dbdb7 44810
868967cf 448112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44812
f5db4291 44813 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44814 allocated from the heap, due to the fshelp implementation.
44815 (grub_reiserfs_dir): Free NODE, due to the same reason.
44816
492e6d9d 448172008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44818
44819 Mostly from Vincent Pelletier:
f19dbdb7 44820
492e6d9d 44821 * fs/reiserfs.c: New file.
f19dbdb7 44822
492e6d9d 44823 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44824 (reiserfs_mod_SOURCES): New variable.
44825 (reiserfs_mod_CFLAGS): Likewise.
44826 (reiserfs_mod_LDFLAGS): Likewise.
44827
44828 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44829 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44830 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44831 normal/color.c.
44832
9ce3e7c1 448332008-01-06 Robert Millan <rmh@aybabtu.com>
44834
44835 * normal/color.c: Remove `<grub/env.h>'.
44836
f3b58148 448372008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44838
44839 * include/grub/normal.h: Include <grub/env.h>.
44840
7ac3bcfa 448412008-01-05 Robert Millan <rmh@aybabtu.com>
44842
44843 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44844 usage example with `(hd0,1)'.
fb358190 44845 Reported by Samuel Thibault.
7ac3bcfa 44846
c8ee99d7 448472008-01-05 Robert Millan <rmh@aybabtu.com>
44848
44849 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44850 (grub_linux_boot_zimage): Rename to ...
44851 (grub_linux_boot): ... this.
44852 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44853 (grub_linux_boot_zimage): Conditionalize zImage copy.
44854
44855 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44856 (grub_linux_boot_bzimage): Remove prototype.
44857 (grub_linux_boot_zimage): Rename to ...
44858 (grub_linux_boot): ... this.
44859
44860 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44861 (grub_linux_boot): Remove function.
44862
0ece25b1 448632008-01-05 Robert Millan <rmh@aybabtu.com>
44864
44865 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44866 (grub_env_write_color_highlight): Likewise.
44867 (grub_wait_after_message): Likewise.
44868
44869 * normal/color.c: New file.
44870
44871 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44872 (normal_mod_DEPENDENCIES): Likewise.
44873
44874 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44875 (normal_mod_DEPENDENCIES): Likewise.
44876
44877 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44878 (normal_mod_DEPENDENCIES): Likewise.
44879
44880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44881 (normal_mod_DEPENDENCIES): Likewise.
44882
44883 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44884 for waiting after a message is printed.
44885 * normal/main.c (read_config_file): Likewise.
44886 (grub_normal_init): Register grub_env_write_color_normal() and
44887 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44888 `color_highlight' variables as global.
44889
44890 * normal/menu.c (grub_wait_after_message): New function.
44891 (grub_color_menu_normal): New variable. Replaces ...
44892 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44893 (grub_color_menu_highlight): New variable. Replaces ...
44894 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44895 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44896 `GRUB_TERM_COLOR_STANDARD'.
44897 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44898 `normal_code' and `highlight_code' to `old_color_normal' and
44899 `old_color_highlight', respectively.
44900 (grub_menu_init_page): Update colors when drawing the menu, based on
44901 `menu_color_normal' and `menu_color_highlight' variables.
44902 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44903 a message is printed.
44904
182dd4e5 449052008-01-05 Robert Millan <rmh@aybabtu.com>
44906
44907 * kern/env.c (grub_env_context_open): Propagate hooks for global
44908 variables to new context.
44909
44910 * kern/main.c (grub_set_root_dev): Export `root' variable.
44911
ddf8f6ad 449122008-01-05 Robert Millan <rmh@aybabtu.com>
44913
44914 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44915 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44916 them.
44917
d8b43d9b 449182008-01-05 Robert Millan <rmh@aybabtu.com>
44919
44920 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44921
2bff2de3 449222008-01-04 Christian Franke <franke@computer.org>
44923
44924 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44925 of eisa_mmap.
44926
97eab917 449272008-01-03 Pavel Roskin <proski@gnu.org>
44928
44929 * kern/i386/linuxbios/init.c: Put "void" to all function
44930 declarations with no arguments.
44931 * kern/powerpc/ieee1275/init.c: Likewise.
44932 * term/i386/pc/at_keyboard.c: Likewise.
44933 * term/i386/pc/vga_text.c: Likewise.
44934 * util/grub-mkdevicemap.c: Likewise.
44935
b9416d00 449362008-01-02 Robert Millan <rmh@aybabtu.com>
44937
44938 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44939 message when loaded image is out of bounds.
44940 (grub_multiboot_load_elf64): Likewise.
44941
92695df9 449422008-01-02 Pavel Roskin <proski@gnu.org>
44943
44944 * util/grub.d/10_linux.in: Try version without ".old" when
44945 looking for initrd. It's better to use initrd from the newer
44946 kernel of the same version than no initrd at all.
44947
d98d9cad 449482008-01-01 Robert Millan <rmh@aybabtu.com>
44949
44950 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44951
dbfdce36 449522008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44953
f19dbdb7 44954 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44955 grub_video_get_active_render_target.
44956 (grub_video_adapter): Added unmap_color and get_active_render_target.
44957
f19dbdb7 44958 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44959 grub_video_get_active_render_target.
44960 (grub_video_get_info): Changed method to accept NULL pointer as an
44961 argument to allow detection of active video adapter.
44962
44963 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44964 grub_video_vbe_unmap_color_int.
44965 Added grub_video_vbe_unmap_color and
44966 grub_video_vbe_get_active_render_target.
44967 (grub_video_vbe_adapter): Added unmap_color and
44968 get_active_render_target.
44969
f19dbdb7 44970 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44971 with grub_video_vbe_unmap_color_int.
44972
44973 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44974 (DEFAULT_NORMAL_COLOR): Likewise.
44975 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44976 (DEFAULT_FG_COLOR): Removed.
44977 (DEFAULT_BG_COLOR): Likewise.
44978 (DEFAULT_CURSOR_COLOR): Changed value.
44979 (grub_virtual_screen): Added standard_color_setting,
44980 normal_color_setting, highlight_color_setting and term_color.
44981 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44982 (bitmap_width): Added.
44983 (bitmap_height): Likewise.
44984 (bitmap): Likewise.
44985 (set_term_color): Likewise.
44986 (grub_virtual_screen_setup): Changed to use new terminal coloring
44987 settings.
44988 (grub_gfxterm_init): Added init for bitmap.
44989 (grub_gfxterm_fini): Added destroy for bitmap.
44990 (redraw_screen_rect): Updated to use background bitmap and new
44991 terminal coloring.
44992 (scroll_up): Added optimization for case when there is no bitmap.
44993 (grub_gfxterm_cls): Fixed to use correct background color.
44994 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44995 coloring.
44996 (grub_virtual_screen_setcolor): Likewise.
44997 (grub_virtual_screen_getcolor): Added.
44998 (grub_gfxterm_background_image_cmd): Likewise.
44999 (grub_video_term): Added setcolor and getcolor.
45000 (MOD_INIT): Added registration of background_image command.
45001 (MOD_TERM): Added unregistration for background_image command.
45002
c3c20931 450032007-12-30 Pavel Roskin <proski@gnu.org>
45004
45005 * loader/multiboot_loader.c: Fix multiboot command
45006 unregistration. Fix all typos in the word "multiboot".
45007
df266716 450082007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45009
45010 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45011 support for initrd names used in Fedora.
45012
fc6e896c 450132007-12-26 Bean <bean123ch@gmail.com>
45014
45015 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45016 (cpio_mod_SOURCES): New variable.
45017 (cpio_mod_CFLAGS): Likewise.
45018 (cpio_mod_LDFLAGS): Likewise.
45019
45020 * fs/cpio.c: New file.
45021
45022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45023
45024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45025
45026 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45027
45028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45029
533110ad 450302007-12-25 Robert Millan <rmh@aybabtu.com>
45031
45032 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45033 (grub_getcolor): New function.
45034
45035 * kern/term.c (grub_getcolor): New function.
45036 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45037 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45038 (print_entry): Set normal and highlight colors to
45039 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45040 respectively, before printing and restore them to old
45041 values afterwards.
45042 (grub_menu_init_page): Likewise. Fill an additional colored space
45043 that would otherwise be left blank.
45044
45045 * term/efi/console.c (grub_console_getcolor): New function.
45046 (struct grub_console_term.getcolor): New variable.
45047 * term/i386/pc/console.c (grub_console_getcolor): New function.
45048 (struct grub_console_term.getcolor): New variable.
45049 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45050 (struct grub_console_term.getcolor): New variable.
45051
45052 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45053 (struct grub_console_term.setcolor): Remove variable.
45054 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45055 (struct grub_console_term.setcolor): Remove variable.
45056 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45057 (struct grub_console_term.setcolor): Remove variable.
45058 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45059 (struct grub_console_term.setcolor): Remove variable.
45060
4931827f 450612007-12-25 Robert Millan <rmh@aybabtu.com>
45062
45063 * configure.ac: Search for possible unifont.hex locations, and
45064 define UNIFONT_HEX if found.
45065
45066 * Makefile.in (UNIFONT_HEX): Define variable.
45067 (DATA): Rename to ...
45068 (PKGLIB): ... this. Update all users.
45069 (PKGDATA): New variable.
45070 (pkgdata_IMAGES): Rename to ...
45071 (pkglib_IMAGES): ... this. Update all users.
45072 (pkgdata_MODULES): Rename to ...
45073 (pkglib_MODULES): ... this. Update all users.
45074 (pkgdata_PROGRAMS): Rename to ...
45075 (pkglib_PROGRAMS): ... this. Update all users.
45076 (pkgdata_DATA): Rename to ...
45077 (pkglib_DATA): ... this. Update all users.
45078 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45079 (unicode.pff, ascii.pff): New rules.
45080 (all-local): Add `$(PKGDATA)' dependency.
45081 (install-local): Process `$(PKGDATA)'.
45082
45083 * util/update-grub_lib.in (font_path): Search for *.pff files in
45084 a few more locations, including `${pkgdata}'.
45085
57e57e31 450862007-12-23 Robert Millan <rmh@aybabtu.com>
45087
45088 Patch from Bean <bean123ch@gmail.com>:
45089 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45090 `size'.
45091
4bc72aa9 450922007-12-21 Bean <bean123ch@gmail.com>
45093
45094 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45095 (ntfscomp_mod_SOURCES): New variable.
45096 (ntfscomp_mod_CFLAGS): Likewise.
45097 (ntfscomp_mod_LDFLAGS): Likewise.
45098
45099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45100 (grub_probe_SOURCES): Likewise.
45101 (grub_emu_SOURCES): Likewise.
45102
45103 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45104 (grub_emu_SOURCES): Likewise.
45105
45106 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45107 (grub_emu_SOURCES): Likewise.
45108
45109 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45110 (grub_emu_SOURCES): Likewise.
45111
45112 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45113 (read_run_list): Renamed to grub_ntfs_read_run_list.
45114 (decomp_nextvcn): Moved to ntfscomp.c.
45115 (decomp_getch): Likewise.
45116 (decomp_get16): Likewise.
45117 (decomp_block): Likewise.
45118 (read_block): Likewise.
45119 (read_data): Partially moved to ntfscomp.c.
45120 (fixup): Change unsigned to grub_uint16_t.
45121 (read_mft): Change unsigned long to grub_uint32_t.
45122 (read_attr): Likewise.
45123 (read_data): Likewise.
45124 (read_run_data): Likewise.
45125 (read_run_list): Likewise.
45126 (read_mft): Likewise.
45127
45128 * fs/ntfscomp.c: New file.
45129
45130 * include/grub/ntfs.h: New file.
45131
af680a87 451322007-12-16 Robert Millan <rmh@aybabtu.com>
45133
45134 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45135 IDE disk check, since Linux is known to support 20 IDE disks.
45136 Reported by Colin Watson.
45137
84be7599 451382007-12-15 Bean <bean123ch@gmail.com>
45139
45140 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45141 (lnxboot_img_SOURCES): New variable.
45142 (lnxboot_img_ASFLAGS): Likewise.
45143 (lnxboot_img_LDFLAGS): Likewise.
45144
45145 * boot/i386/pc/lnxboot.S: New file.
45146
6af9db01 451472007-11-24 Pavel Roskin <proski@gnu.org>
45148
45149 * configure.ac: Test if '--build-id=none' is supported by the
45150 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45151 objcopy to generate incorrect binary files (binutils
45152 2.17.50.0.18-1 as shipped by Fedora 8).
45153 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45154 linking, so that build ID doesn't break the test.
45155
7361cfe6 451562007-11-24 Pavel Roskin <proski@gnu.org>
45157
45158 * include/grub/i386/time.h: use "void" in the argument list
45159 of grub_cpu_idle().
45160 * include/grub/powerpc/time.h: Likewise.
45161 * include/grub/sparc64/time.h: Likewise.
45162
1593e10c 451632007-11-18 Christian Franke <franke@computer.org>
45164
45165 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45166 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45167 This fixes the problem that function keys did not work in grub-emu.
45168
3b8db1a8 451692007-11-18 Christian Franke <franke@computer.org>
45170
45171 * disk/host.c (grub_host_open): Remove attribute unused from
45172 name parameter. Add check for "host". This fixes the problem
45173 that grub-emu does not find partitions.
45174
2e29408d 451752007-11-18 Christian Franke <franke@computer.org>
45176
45177 * util/hostfs.c (is_dir): New function.
45178 (grub_hostfs_dir): Handle missing dirent.d_type case.
45179 (grub_hostfs_read): Add missing fseek().
45180 (grub_hostfs_label): Clear label pointer. This fixes a crash
45181 of grub-emu on "ls (host)".
45182
398cd047 451832007-11-18 Christian Franke <franke@computer.org>
45184
45185 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45186 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45187 to 64 bit boundary by default.
45188
c405c391 451892007-11-18 Bean <bean123ch@gmail.com>
45190
45191 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45192 (hexdump_mod_SOURCES): New variable.
45193 (hexdump_mod_CFLAGS): Likewise.
45194 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45195
c405c391 45196 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45197
45198 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45199
45200 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45201
45202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45203
45204 * include/grub/hexdump.h: New file.
45205
45206 * commands/hexdump.c: New file.
45207
5cced7fd 452082007-11-10 Robert Millan <rmh@aybabtu.com>
45209
45210 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45211 in grub_outb() calls.
45212 (beep_on): Likewise.
45213
8b714eb0 452142007-11-10 Christian Franke <franke@computer.org>
45215
45216 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45217 (grub_menu_run): Likewise.
45218
ce0f1839 452192007-11-10 Robert Millan <rmh@aybabtu.com>
45220
45221 * include/grub/i386/efi/machine.h: New file.
45222 * include/grub/i386/linuxbios/machine.h: Likewise.
45223 * include/grub/i386/pc/machine.h: Likewise.
45224 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45225 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45226
45227 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45228 (serial_hw_io_addr): New variable.
45229 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45230 instead of `(unsigned short *) 0x400'.
45231
270c237d 452322007-11-10 Bean <bean123ch@gmail.com>
45233
45234 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45235
a87783bf 452362007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45237
45238 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45239 (vga_mod_SOURCES): Added.
45240 (vga_mod_CFLAGS): Likewise.
45241 (vga_mod_LDFLAGS): Likewise.
45242
45243 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45244 grub_outb() calls.
45245 (set_map_mask): Likewise.
45246 (set_read_map): Likewise.
45247 (set_read_address): Likewise.
45248 (vga_font): Removed variable.
45249 (get_vga_glyph): Removed function.
45250 (invalidate_char): Likewise.
45251 (write_char): Changed to use grub_font_get_glyph() for font
45252 information.
45253 (grub_vga_putchar): Likewise.
45254 (grub_vga_getcharwidth): Likewise.
45255
6433b448 452562007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45257
45258 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45259 flags.
45260 (pxeboot_img_LDFLAGS): Likewise.
45261 (diskboot_img_LDFLAGS): Likewise.
45262 (kernel_img_LDFLAGS): Likewise.
45263
49178511 452642007-11-06 Robert Millan <rmh@aybabtu.com>
45265
45266 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45267 in grub_outb() calls.
45268 (serial_hw_init): Likewise.
45269
53b052de 452702007-11-05 Robert Millan <rmh@aybabtu.com>
45271
45272 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45273 spaces. Skip non-regular files.
45274
5ab33bba 452752007-11-05 Robert Millan <rmh@aybabtu.com>
45276
45277 * kern/disk.c (grub_disk_firmware_fini)
45278 (grub_disk_firmware_is_tainted): New variables.
45279
45280 * include/grub/disk.h (grub_disk_firmware_fini)
45281 (grub_disk_firmware_is_tainted): Likewise.
45282
45283 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45284 (grub_disk_biosdisk_fini): ... to here.
45285 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45286 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45287 is set. Register grub_disk_biosdisk_fini() in
45288 `grub_disk_firmware_fini'.
45289
45290 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45291 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45292 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45293 to finish existing firmware disk interface.
45294
45295 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45296 (ata_mod_SOURCES): New variable.
45297 (ata_mod_CFLAGS): Likewise.
45298 (ata_mod_LDFLAGS): Likewise.
45299
0149ab7c 453002007-11-05 Robert Millan <rmh@aybabtu.com>
45301
45302 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45303 (grub_ata_wait): Reimplement using grub_millisleep().
45304
45305 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45306 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45307
be7ac41e 453082007-11-03 Marco Gerards <marco@gnu.org>
45309
45310 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45311 (CRTC_ADDR_PORT): New macro.
45312 (CRTC_DATA_PORT): Likewise.
45313 (CRTC_CURSOR): Likewise.
45314 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45315 (CRTC_CURSOR_ADDR_LOW): Likewise.
45316 (update_cursor): New function.
45317 (grub_console_real_putchar): Call `update_cursor'.
45318 (grub_console_gotoxy): Likewise.
45319 (grub_console_cls): Set the default color when clearing the
45320 screen.
45321 (grub_console_setcursor): Implemented.
45322
bb06ab2e 453232007-11-03 Marco Gerards <marco@gnu.org>
45324
45325 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45326 become activate.
45327 (grub_ata_pio_write): Likewise.
45328
45329 (grub_atapi_identify): Wait after issuing an ATA command.
45330 (grub_atapi_packet): Likewise.
45331 (grub_ata_identify): Likewise.
45332 (grub_ata_readwrite): Likewise.
45333
cf8f780b 453342007-11-03 Marco Gerards <marco@gnu.org>
45335
45336 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45337 (grub_ata_pio_write): Likewise.
45338 (grub_ata_readwrite): Use `grub_error', instead of
45339 returning `grub_errno'.
45340
ed649e54 453412007-11-03 Marco Gerards <marco@gnu.org>
45342
45343 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45344 grub_ata_pio_write once for every single sector, instead of for
45345 multiple sectors.
45346
ca25d8f0 453472007-10-31 Robert Millan <rmh@aybabtu.com>
45348
45349 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45350
45351 * conf/i386-linuxbios.rmk: New file.
45352
45353 * kern/i386/pc/hardware.c: Likewise.
45354 * term/i386/pc/at_keyboard.c: Likewise.
45355 * term/i386/pc/vga_text.c: Likewise.
45356
45357 * include/grub/i386/linuxbios/boot.h: Likewise.
45358 * include/grub/i386/linuxbios/console.h: Likewise.
45359 * include/grub/i386/linuxbios/init.h: Likewise.
45360 * include/grub/i386/linuxbios/kernel.h: Likewise.
45361 * include/grub/i386/linuxbios/loader.h: Likewise.
45362 * include/grub/i386/linuxbios/memory.h: Likewise.
45363 * include/grub/i386/linuxbios/serial.h: Likewise.
45364 * include/grub/i386/linuxbios/time.h: Likewise.
45365
45366 * kern/i386/linuxbios/init.c: Likewise.
45367 * kern/i386/linuxbios/startup.S: Likewise.
45368 * kern/i386/linuxbios/table.c: Likewise.
45369
e911ecc1 453702007-10-31 Marco Gerards <marco@gnu.org>
45371
45372 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45373 (ata_mod_SOURCES): New variable.
45374 (ata_mod_CFLAGS): Likewise.
45375 (ata_mod_LDFLAGS): Likewise.
45376
45377 * disk/ata.c: New file.
45378
45379 * include/grub/disk.h (grub_disk_dev_id): Add
45380 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45381
7f66d0e0 453822007-10-31 Robert Millan <rmh@aybabtu.com>
45383
45384 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45385 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45386
45387 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45388 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45389
45390 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45391 `<grub/types.h>'.
45392
45393 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45394
5cd7dd46 453952007-10-27 Robert Millan <rmh@aybabtu.com>
45396
3236ca65 45397 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45398
2ebfc90f 453992007-10-22 Robert Millan <rmh@aybabtu.com>
45400
45401 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45402 `"../realmode.S"'.
45403 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45404
73fcb0f3 454052007-10-22 Robert Millan <rmh@aybabtu.com>
45406
45407 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45408 (pkgdata_MODULES): Add `biosdisk.mod'.
45409 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45410 variables.
45411
45412 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45413 (grub_biosdisk_init): Replace with ...
45414 (GRUB_MOD_INIT(biosdisk)): ... this.
45415 (grub_biosdisk_fini): Replace with ...
45416 (GRUB_MOD_FINI(biosdisk)): ... this.
45417
45418 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45419 (grub_machine_init): Remove call to grub_biosdisk_init().
45420 (grub_machine_fini): Remove call to grub_machine_fini().
45421
45422 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45423
3381d274 454242007-10-22 Robert Millan <rmh@aybabtu.com>
45425
45426 * include/grub/time.h: New file.
45427 * include/grub/i386/time.h: Likewise.
45428 * include/grub/powerpc/time.h: Likewise.
45429 * include/grub/sparc64/time.h: Likewise.
45430
45431 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45432 instances to ...
45433 (KERNEL_MACHINE_TIME_HEADER): ... this.
45434 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45435 instances to ...
45436 (KERNEL_MACHINE_TIME_HEADER): ... this.
45437 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45438 instances to ...
45439 (KERNEL_MACHINE_TIME_HEADER): ... this.
45440
45441 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45442 (grub_millisleep): New function.
45443 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45444 (grub_millisleep): New function.
45445 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45446 Remove `grub/machine/time.h' include.
45447 (grub_millisleep): New function.
45448 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45449 Remove `grub/machine/time.h' include.
45450 (grub_millisleep): New function.
45451
45452 * include/grub/misc.h (grub_div_roundup): New function.
45453
45454 * kern/misc.c: Include `<grub/time.h>'.
45455 (grub_millisleep_generic): New function.
45456
45457 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45458 Add `time.h'.
45459 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45460 Add `time.h'.
45461 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45462 `machine/time.h'. Add `time.h'.
45463 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45464
a39a0312 454652007-10-21 Robert Millan <rmh@aybabtu.com>
45466
45467 * include/grub/misc.h (grub_max): New function.
45468
2aad70e2 454692007-10-21 Robert Millan <rmh@aybabtu.com>
45470
45471 * util/misc.c (grub_util_info): Call fflush() before returning.
45472
54b71c4b 454732007-10-20 Robert Millan <rmh@aybabtu.com>
45474
45475 * genmk.rb (Image): Copy `extra_flags' from here ...
45476 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45477
45478 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45479 to `argc' and `args' arguments.
45480
a979f513 454812007-10-17 Robert Millan <rmh@aybabtu.com>
45482
45483 * kern/i386/loader.S: New file.
45484
45485 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45486 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45487 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45488 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45489 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45490 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45491 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45492 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45493 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45494 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45495 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45496 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45497 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45498 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45499
45500 * kern/i386/realmode.S: New file.
45501
45502 * kern/i386/pc/startup.S (protstack): Moved from here ...
45503 * kern/i386/realmode.S (protstack)... to here.
45504 * kern/i386/pc/startup.S (gdt): Moved from here ...
45505 * kern/i386/realmode.S (gdt)... to here.
45506 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45507 * kern/i386/realmode.S (prot_to_real)... to here.
45508
45509 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45510 `kern/i386/realmode.S'.
45511
825fc8fd 455122007-10-17 Robert Millan <rmh@aybabtu.com>
45513
45514 * include/grub/i386/loader.h: New file.
45515
45516 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45517 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45518 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45519 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45520 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45521 * include/grub/i386/loader.h (grub_linux_prot_size)
45522 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45523 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45524 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45525 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45526
45527 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45528
e179b2f4 455292007-10-15 Robert Millan <rmh@aybabtu.com>
45530
45531 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45532 filesystem when dev->disk is unset.
45533 Do probe for filesystem even when dev->disk->has_partitions is set.
45534 In case a filesystem is found, always report it.
45535 In case it isn't, if dev->disk->has_partitions is set, report that
45536 a partition table was found instead of reporting that no filesystem
45537 could be identified.
45538
5db82af6 455392007-10-12 Robert Millan <rmh@aybabtu.com>
45540
45541 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45542 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45543
68f6ac74 45544 * include/grub/types.h (grub_host_to_target16): New macro.
45545 (grub_host_to_target32): Likewise.
45546 (grub_host_to_target64): Likewise.
45547 (grub_target_to_host16): Likewise.
45548 (grub_target_to_host32): Likewise.
45549 (grub_target_to_host64): Likewise.
5db82af6 45550
45551 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45552 Renamed from to ...
45553 (GRUB_MOD_ALIGN): ...this. Update all users.
45554
68f6ac74 45555 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45556 grub_host_to_target32.
45557 Replace grub_be_to_cpu32 with grub_target_to_host32.
45558 (load_modules): Likewise.
45559 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45560 Replace grub_be_to_cpu32 with grub_target_to_host32.
45561 Replace grub_cpu_to_be16 with grub_host_to_target16.
45562 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45563
3cf497cc 455642007-10-12 Robert Millan <rmh@aybabtu.com>
45565
45566 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45567 * util/elf/grub-mkimage.c: ... here.
45568
45569 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45570 `util/powerpc/ieee1275/grub-mkimage.c'.
45571
c8cc3692 455722007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45573
c8cc3692 45574 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45575 and make it easier to figure out.
45576 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45577 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45578 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45579 leave us with less than HEAP_MIN_SIZE total heap.
45580 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45581
5c58b791 455822007-10-03 Robert Millan <rmh@aybabtu.com>
45583
45584 * include/grub/i386/io.h: New file.
45585 * commands/i386/pc/play.c (inb): Removed.
45586 (outb): Removed.
45587 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45588 with grub_outb().
afcd2ef8 45589 * term/i386/pc/serial.c (inb): Removed.
45590 (outb): Removed.
45591 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45592 with grub_outb().
45593 * term/i386/pc/vga.c (inb): Removed.
45594 (outb): Removed.
45595 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45596 with grub_outb().
5c58b791 45597
1a477ed6 455982007-10-02 Robert Millan <rmh@aybabtu.com>
45599
45600 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45602 Reported by Marcin Kurek.
45603
6b5d80fa 456042007-09-07 Robert Millan <rmh@aybabtu.com>
45605
45606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45607 SmartFirmware version updates (as released by Sven Luther), and avoid
45608 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45609 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45610 known broken.
45611
5618afbf 456122007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45613
45614 From Hitoshi Ozeki:
45615 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45616 when merging two regions.
45617
6139dcd9 456182007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45619
508e39ee 45620 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45621 * normal/completion.c (grub_normal_do_completion): Likewise.
45622 Reported by Hitoshi Ozeki.
45623
456242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45625
6139dcd9 45626 Do not use devices at boot in chainloading.
f19dbdb7 45627
6139dcd9 45628 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45629 (boot_part_addr): Likewise.
45630 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45631 with BOOT_DRIVE and BOOT_PART_ADDR.
45632 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45633 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45634
38da6516 456352007-08-29 Robert Millan <rmh@aybabtu.com>
45636
45637 Patch from Simon Peter <dn.tlp@gmx.net>:
45638 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45639 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45640 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45641 util/i386/pc/grub-setup.c_DEPENDENCIES.
45642 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45643 util/grub-probe.c_DEPENDENCIES.
45644 * conf/powerpc-ieee1275.rmk: Likewise.
45645
29d0928c 456462007-08-28 Robert Millan <rmh@aybabtu.com>
45647
45648 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45649 to tell grub-mkdevicemap how to name devices.
45650 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45651 feature).
45652
45653 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45654 util/i386/get_disk_name.c.
45655 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45656 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45657 util/ieee1275/get_disk_name.c.
45658
45659 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45660
45661 * DISTLIST: Add util/i386/get_disk_name.c and
45662 util/ieee1275/get_disk_name.c.
45663
45664 * util/grub-mkdevicemap.c: Replace device naming logic with
45665 grub_util_get_disk_name() calls.
45666
5a0d3cca 456672007-08-20 Robert Millan <rmh@aybabtu.com>
45668
45669 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45670 (so that it works for both plural and singular quantities).
45671
8b72db2f 456722007-08-05 Robert Millan <rmh@aybabtu.com>
45673
45674 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45675 so that [xz] isn't taken into account when determining order.
45676
352466bf 456772007-08-02 Marco Gerards <marco@gnu.org>
45678
45679 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45680 `include/multiboot2.h', `include/grub/elfload.h',
45681 `include/multiboot.h', `include/grub/multiboot.h',
45682 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45683 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45684 `kern/elf.c', `loader/multiboot_loader.c',
45685 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45686 `loader/i386/pc/multiboot2.c',
45687 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45688 `util/i386/pc/grub-mkrescue.in'. Remove
45689 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45690 `include/grub/i386/pc/util/biosdisk.h' and
45691 `include/grub/powerpc/ieee1275/multiboot.h'.
45692
8f096014 456932007-08-02 Bean <bean123ch@gmail.com>
45694
45695 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45696 (ntfs_mod_SOURCES): New variable.
45697 (ntfs_mod_CFLAGS): Likewise.
45698 (ntfs_mod_LDFLAGS): Likewise.
45699
45700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45701 (grub_probe_SOURCES): Likewise.
45702 (grub_emu_SOURCES): Likewise.
45703
45704 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45705 (grub_emu_SOURCES): Likewise.
45706
45707 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45708 (grub_emu_SOURCES): Likewise.
f19dbdb7 45709
8f096014 45710 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45711
45712 * fs/ntfs.c: New file.
45713
9959f7db 457142007-08-02 Bean <bean123ch@gmail.com>
45715
45716 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45717
45718 * file.h (grub_file): Likewise.
45719
45720 * fshelp.h (grub_fshelp_read_file): Likewise.
45721
45722 * util/i386/pc/grub-setup.c (setup): Likewise.
45723 (save_first_sector): Likewise.
45724 (save_blocklists): Likewise.
f19dbdb7 45725
9959f7db 45726 * fs/affs.c (grub_affs_read_file): Likewise.
45727
45728 * fs/ext2.c (grub_ext2_read_file): Likewise.
45729
45730 * fs/fat.c (grub_fat_read_data): Likewise.
45731
45732 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45733
45734 * fs/hfs.c (grub_hfs_read_file): Likewise.
45735
45736 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45737
45738 * fs/jfs.c (grub_jfs_read_file): Likewise.
45739
45740 * fs/minix.c (grub_minix_read_file): Likewise.
45741
45742 * fs/sfs.c (grub_sfs_read_file): Likewise.
45743
45744 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45745
9959f7db 45746 * fs/xfs.c (grub_xfs_read_file): Likewise.
45747
45748 * command/blocklist.c (read_blocklist): Likewise.
45749 (print_blocklist): Likewise.
45750
0a203f83 457512007-08-02 Marco Gerards <marco@gnu.org>
45752
45753 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45754 `util/hostfs.c'.
45755
45756 * disk/host.c: New file.
45757
45758 * util/hostfs.c: Likewise.
45759
45760 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45761 return `GRUB_ERR_BAD_FS'.
45762 * fs/sfs.c (grub_sfs_mount): Likewise.
45763 * fs/xfs.c (grub_xfs_mount): Likewise.
45764
45765 * include/grub/disk.h (enum grub_disk_dev_id): Add
45766 `GRUB_DISK_DEVICE_HOST_ID'.
45767
45768 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45769
e5dfe777 457702007-07-24 Jerone Young <jerone@gmail.com>
45771
f19dbdb7 45772 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45773 modules for compilation.
45774 * conf/powerpc-ieee1275.rmk: Likewise.
45775
45776 * include/multiboot.h: Move multiboot definitions to one file. Rename
45777 many definitions to not get grub specific.
45778 * include/multiboot2.h: Create header with multiboot 2 definitions.
45779 * include/grub/multiboot.h: Header for grub specific function
45780 prototypes and definitions.
45781 * include/grub/multiboot2.h: Likewise.
45782 * include/grub/multiboot_loader.h: Likewise.
45783 * include/grub/i386/pc/multiboot.h: Removed.
45784 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45785
45786 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45787 and 2 to allow for one multiboot and module commands.
45788 * loader/multiboot2.c: Add multiboot2 functionality.
45789 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45790 and definition names.
45791 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45792 2 functions.
45793 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45794 ieee1275 specific multiboot2 code.
45795
45796 * kern/i386/pc/startup.S: Change headers and definition names for
45797 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45798
daf0f0ba 457992007-07-22 Robert Millan <rmh@aybabtu.com>
45800
45801 * geninitheader.sh: Process file specified in first parameter rather
45802 than hardcoding grub_modules_init.lst.
fe6b695a 45803 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45804 than hardcoding grub_modules_init.h.
45805
45806 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45807 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45808 grub_probe_init.[ch] and grub_setup_init.[ch].
45809
45810 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45811 grub_modules_init.h with grub_emu_init.h.
45812 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45813 grub_probe_init.[ch] files.
45814 * conf/i386-efi.rmk: Likewise.
45815 * conf/i386-pc.rmk: Likewise.
45816 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45817 grub_setup_init.[ch] files.
45818
45819 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45820 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45821 to initialize modules rather than a list of hardcoded functions.
45822 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45823 grub_init_all() to initialize modules rather than a list of hardcoded
45824 functions.
45825
54cdc1cc 458262007-07-22 Robert Millan <rmh@aybabtu.com>
45827
45828 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45829 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45830
ad0686cc 458312007-07-22 Robert Millan <rmh@aybabtu.com>
45832
45833 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45834 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45835 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45836 flag when running on SmartFirmware.
45837 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45838 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45839 was set.
45840
45841 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45842 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45843 rather than decreasing it.
45844
45845 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45846 there's not enough space to do it, fail in the same way as when it
45847 can't be done because there are no partitions.
45848
45849 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45850 when nvsetenv failed.
45851
969c02ec 458522007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45853
45854 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45855 because this rule is automatically generated.
45856 (grub-mkrescue): Removed for the same reason as above.
45857
5a79f472 458582007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45859
45860 Migrate to GNU General Public License Version 3.
f19dbdb7 45861
5a79f472 45862 * COPYING: Replaced with the plain text version of GPLv3.
45863
45864 * config.guess: Updated from gnulib.
45865 * config.sub: Likewise.
45866
45867 * geninit.sh: Output a GPLv3 copyright notice.
45868 * geninitheader.sh: Likewise.
45869 * genmodsrc.sh: Likewise.
45870 * gensymlist.sh.in: Likewise.
45871
45872 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45873 * boot/i386/pc/diskboot.S: Likewise.
45874 * boot/i386/pc/pxeboot.S: Likewise.
45875 * commands/blocklist.c: Likewise.
45876 * commands/boot.c: Likewise.
45877 * commands/cat.c: Likewise.
45878 * commands/cmp.c: Likewise.
45879 * commands/configfile.c: Likewise.
45880 * commands/echo.c: Likewise.
45881 * commands/help.c: Likewise.
45882 * commands/ls.c: Likewise.
45883 * commands/search.c: Likewise.
45884 * commands/terminal.c: Likewise.
45885 * commands/test.c: Likewise.
45886 * commands/videotest.c: Likewise.
45887 * commands/i386/cpuid.c: Likewise.
45888 * commands/i386/pc/halt.c: Likewise.
45889 * commands/i386/pc/play.c: Likewise.
45890 * commands/i386/pc/reboot.c: Likewise.
45891 * commands/i386/pc/vbeinfo.c: Likewise.
45892 * commands/i386/pc/vbetest.c: Likewise.
45893 * commands/ieee1275/halt.c: Likewise.
45894 * commands/ieee1275/reboot.c: Likewise.
45895 * commands/ieee1275/suspend.c: Likewise.
45896 * disk/loopback.c: Likewise.
45897 * disk/lvm.c: Likewise.
45898 * disk/raid.c: Likewise.
45899 * disk/efi/efidisk.c: Likewise.
45900 * disk/i386/pc/biosdisk.c: Likewise.
45901 * disk/ieee1275/ofdisk.c: Likewise.
45902 * font/manager.c: Likewise.
45903 * fs/affs.c: Likewise.
45904 * fs/ext2.c: Likewise.
45905 * fs/fat.c: Likewise.
45906 * fs/fshelp.c: Likewise.
45907 * fs/hfs.c: Likewise.
45908 * fs/hfsplus.c: Likewise.
45909 * fs/iso9660.c: Likewise.
45910 * fs/jfs.c: Likewise.
45911 * fs/minix.c: Likewise.
45912 * fs/sfs.c: Likewise.
45913 * fs/ufs.c: Likewise.
45914 * fs/xfs.c: Likewise.
45915 * hello/hello.c: Likewise.
45916 * include/grub/acorn_filecore.h: Likewise.
45917 * include/grub/arg.h: Likewise.
45918 * include/grub/bitmap.h: Likewise.
45919 * include/grub/boot.h: Likewise.
45920 * include/grub/cache.h: Likewise.
45921 * include/grub/device.h: Likewise.
45922 * include/grub/disk.h: Likewise.
45923 * include/grub/dl.h: Likewise.
45924 * include/grub/elfload.h: Likewise.
45925 * include/grub/env.h: Likewise.
45926 * include/grub/err.h: Likewise.
45927 * include/grub/file.h: Likewise.
45928 * include/grub/font.h: Likewise.
45929 * include/grub/fs.h: Likewise.
45930 * include/grub/fshelp.h: Likewise.
45931 * include/grub/gzio.h: Likewise.
45932 * include/grub/hfs.h: Likewise.
45933 * include/grub/kernel.h: Likewise.
45934 * include/grub/loader.h: Likewise.
45935 * include/grub/lvm.h: Likewise.
45936 * include/grub/misc.h: Likewise.
45937 * include/grub/mm.h: Likewise.
45938 * include/grub/net.h: Likewise.
45939 * include/grub/normal.h: Likewise.
45940 * include/grub/parser.h: Likewise.
45941 * include/grub/partition.h: Likewise.
45942 * include/grub/pc_partition.h: Likewise.
45943 * include/grub/raid.h: Likewise.
45944 * include/grub/rescue.h: Likewise.
45945 * include/grub/script.h: Likewise.
45946 * include/grub/setjmp.h: Likewise.
45947 * include/grub/symbol.h: Likewise.
45948 * include/grub/term.h: Likewise.
45949 * include/grub/terminfo.h: Likewise.
45950 * include/grub/tparm.h: Likewise.
45951 * include/grub/types.h: Likewise.
45952 * include/grub/video.h: Likewise.
45953 * include/grub/efi/api.h: Likewise.
45954 * include/grub/efi/chainloader.h: Likewise.
45955 * include/grub/efi/console.h: Likewise.
45956 * include/grub/efi/console_control.h: Likewise.
45957 * include/grub/efi/disk.h: Likewise.
45958 * include/grub/efi/efi.h: Likewise.
45959 * include/grub/efi/pe32.h: Likewise.
45960 * include/grub/efi/time.h: Likewise.
45961 * include/grub/i386/linux.h: Likewise.
45962 * include/grub/i386/setjmp.h: Likewise.
45963 * include/grub/i386/types.h: Likewise.
45964 * include/grub/i386/efi/kernel.h: Likewise.
45965 * include/grub/i386/efi/loader.h: Likewise.
45966 * include/grub/i386/efi/time.h: Likewise.
45967 * include/grub/i386/pc/biosdisk.h: Likewise.
45968 * include/grub/i386/pc/boot.h: Likewise.
45969 * include/grub/i386/pc/chainloader.h: Likewise.
45970 * include/grub/i386/pc/console.h: Likewise.
45971 * include/grub/i386/pc/init.h: Likewise.
45972 * include/grub/i386/pc/kernel.h: Likewise.
45973 * include/grub/i386/pc/loader.h: Likewise.
45974 * include/grub/i386/pc/memory.h: Likewise.
45975 * include/grub/i386/pc/multiboot.h: Likewise.
45976 * include/grub/i386/pc/serial.h: Likewise.
45977 * include/grub/i386/pc/time.h: Likewise.
45978 * include/grub/i386/pc/vbe.h: Likewise.
45979 * include/grub/i386/pc/vbeblit.h: Likewise.
45980 * include/grub/i386/pc/vbefill.h: Likewise.
45981 * include/grub/i386/pc/vbeutil.h: Likewise.
45982 * include/grub/i386/pc/vga.h: Likewise.
45983 * include/grub/ieee1275/ieee1275.h: Likewise.
45984 * include/grub/ieee1275/ofdisk.h: Likewise.
45985 * include/grub/powerpc/libgcc.h: Likewise.
45986 * include/grub/powerpc/setjmp.h: Likewise.
45987 * include/grub/powerpc/types.h: Likewise.
45988 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45989 * include/grub/powerpc/ieee1275/console.h: Likewise.
45990 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45991 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45992 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45993 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45994 * include/grub/powerpc/ieee1275/time.h: Likewise.
45995 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45996 * include/grub/sparc64/libgcc.h: Likewise.
45997 * include/grub/sparc64/setjmp.h: Likewise.
45998 * include/grub/sparc64/types.h: Likewise.
45999 * include/grub/sparc64/ieee1275/console.h: Likewise.
46000 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46001 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46002 * include/grub/sparc64/ieee1275/time.h: Likewise.
46003 * include/grub/util/biosdisk.h: Likewise.
46004 * include/grub/util/getroot.h: Likewise.
46005 * include/grub/util/lvm.h: Likewise.
46006 * include/grub/util/misc.h: Likewise.
46007 * include/grub/util/raid.h: Likewise.
46008 * include/grub/util/resolve.h: Likewise.
46009 * io/gzio.c: Likewise.
46010 * kern/device.c: Likewise.
46011 * kern/disk.c: Likewise.
46012 * kern/dl.c: Likewise.
46013 * kern/elf.c: Likewise.
46014 * kern/env.c: Likewise.
46015 * kern/err.c: Likewise.
46016 * kern/file.c: Likewise.
46017 * kern/fs.c: Likewise.
46018 * kern/loader.c: Likewise.
46019 * kern/main.c: Likewise.
46020 * kern/misc.c: Likewise.
46021 * kern/mm.c: Likewise.
46022 * kern/parser.c: Likewise.
46023 * kern/partition.c: Likewise.
46024 * kern/rescue.c: Likewise.
46025 * kern/term.c: Likewise.
46026 * kern/efi/efi.c: Likewise.
46027 * kern/efi/init.c: Likewise.
46028 * kern/efi/mm.c: Likewise.
46029 * kern/i386/dl.c: Likewise.
46030 * kern/i386/efi/init.c: Likewise.
46031 * kern/i386/efi/startup.S: Likewise.
46032 * kern/i386/pc/init.c: Likewise.
46033 * kern/i386/pc/lzo1x.S: Likewise.
46034 * kern/i386/pc/startup.S: Likewise.
46035 * kern/ieee1275/ieee1275.c: Likewise.
46036 * kern/powerpc/cache.S: Likewise.
46037 * kern/powerpc/dl.c: Likewise.
46038 * kern/powerpc/ieee1275/cmain.c: Likewise.
46039 * kern/powerpc/ieee1275/crt0.S: Likewise.
46040 * kern/powerpc/ieee1275/init.c: Likewise.
46041 * kern/powerpc/ieee1275/openfw.c: Likewise.
46042 * kern/sparc64/cache.S: Likewise.
46043 * kern/sparc64/dl.c: Likewise.
46044 * kern/sparc64/ieee1275/init.c: Likewise.
46045 * kern/sparc64/ieee1275/openfw.c: Likewise.
46046 * loader/efi/chainloader.c: Likewise.
46047 * loader/efi/chainloader_normal.c: Likewise.
46048 * loader/i386/efi/linux.c: Likewise.
46049 * loader/i386/efi/linux_normal.c: Likewise.
46050 * loader/i386/pc/chainloader.c: Likewise.
46051 * loader/i386/pc/chainloader_normal.c: Likewise.
46052 * loader/i386/pc/linux.c: Likewise.
46053 * loader/i386/pc/linux_normal.c: Likewise.
46054 * loader/i386/pc/multiboot.c: Likewise.
46055 * loader/i386/pc/multiboot_normal.c: Likewise.
46056 * loader/powerpc/ieee1275/linux.c: Likewise.
46057 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46058 * normal/arg.c: Likewise.
46059 * normal/cmdline.c: Likewise.
46060 * normal/command.c: Likewise.
46061 * normal/completion.c: Likewise.
46062 * normal/execute.c: Likewise.
46063 * normal/function.c: Likewise.
46064 * normal/lexer.c: Likewise.
46065 * normal/main.c: Likewise.
46066 * normal/menu.c: Likewise.
46067 * normal/menu_entry.c: Likewise.
46068 * normal/misc.c: Likewise.
46069 * normal/parser.y: Likewise.
46070 * normal/script.c: Likewise.
46071 * normal/i386/setjmp.S: Likewise.
46072 * normal/powerpc/setjmp.S: Likewise.
46073 * normal/sparc64/setjmp.S: Likewise.
46074 * partmap/acorn.c: Likewise.
46075 * partmap/amiga.c: Likewise.
46076 * partmap/apple.c: Likewise.
46077 * partmap/gpt.c: Likewise.
46078 * partmap/pc.c: Likewise.
46079 * partmap/sun.c: Likewise.
46080 * term/gfxterm.c: Likewise.
46081 * term/terminfo.c: Likewise.
46082 * term/efi/console.c: Likewise.
46083 * term/i386/pc/console.c: Likewise.
46084 * term/i386/pc/serial.c: Likewise.
46085 * term/i386/pc/vesafb.c: Likewise.
46086 * term/i386/pc/vga.c: Likewise.
46087 * term/ieee1275/ofconsole.c: Likewise.
46088 * util/biosdisk.c: Likewise.
46089 * util/console.c: Likewise.
46090 * util/genmoddep.c: Likewise.
46091 * util/getroot.c: Likewise.
46092 * util/grub-emu.c: Likewise.
46093 * util/grub-mkdevicemap.c: Likewise.
46094 * util/grub-probe.c: Likewise.
46095 * util/lvm.c: Likewise.
46096 * util/misc.c: Likewise.
46097 * util/raid.c: Likewise.
46098 * util/resolve.c: Likewise.
46099 * util/update-grub.in: Likewise.
46100 * util/update-grub_lib.in: Likewise.
46101 * util/grub.d/00_header.in: Likewise.
46102 * util/grub.d/10_hurd.in: Likewise.
46103 * util/grub.d/10_linux.in: Likewise.
46104 * util/i386/efi/grub-install.in: Likewise.
46105 * util/i386/efi/grub-mkimage.c: Likewise.
46106 * util/i386/pc/grub-install.in: Likewise.
46107 * util/i386/pc/grub-mkimage.c: Likewise.
46108 * util/i386/pc/grub-mkrescue.in: Likewise.
46109 * util/i386/pc/grub-setup.c: Likewise.
46110 * util/i386/pc/misc.c: Likewise.
46111 * util/powerpc/ieee1275/grub-install.in: Likewise.
46112 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46113 * util/powerpc/ieee1275/misc.c: Likewise.
46114 * video/bitmap.c: Likewise.
46115 * video/video.c: Likewise.
46116 * video/i386/pc/vbe.c: Likewise.
46117 * video/i386/pc/vbeblit.c: Likewise.
46118 * video/i386/pc/vbefill.c: Likewise.
46119 * video/i386/pc/vbeutil.c: Likewise.
46120 * video/readers/tga.c: Likewise.
46121
3572d015 461222007-07-02 Robert Millan <rmh@aybabtu.com>
46123
46124 * conf/i386-efi.rmk: Replace obsolete reference to
46125 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46126 with util/getroot.c.
46127 * conf/powerpc-ieee1275.rmk: Likewise.
46128 * conf/sparc64-ieee1275.rmk: Likewise.
46129
46130 * util/grub-emu.c (main): Fix unchecked pointer handling.
46131
2c2a681b 461322007-07-02 Robert Millan <rmh@aybabtu.com>
46133
46134 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46135 invocation to fail, in order to support partition-less media.
46136
46137 * util/i386/pc/grub-install.in: Likewise.
46138
46139 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46140 which fs or partmap modules are needed (akin to its sister scripts).
46141
46142 Also use grub-probe to get rid of unportable /proc/mounts check.
46143
46144 Print the same informational message that the other scripts do, before
fe6b695a 46145 exiting.
2c2a681b 46146
6193defe 461472007-06-23 Robert Millan <rmh@aybabtu.com>
46148
fe6b695a 46149 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46150 a font file can be found and, if so, echo the GRUB path to it.
46151
46152 * util/update-grub.in: Handle multiple terminals depending on user
46153 input, platform availability and font file presence. Propagate
46154 variables of our findings to /etc/grub.d/ children.
46155
46156 * util/grub.d/00_header.in: Handle multiple terminals, based on
46157 environment setup by update-grub.
46158
eface1dc 461592007-06-23 Robert Millan <rmh@aybabtu.com>
46160
ba50d28f 46161 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46162
bf697e28 461632007-06-21 Robert Millan <rmh@aybabtu.com>
46164
46165 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46166 indicate end of data section in kernel image.
46167 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46168 GRUB_KERNEL_MACHINE_DATA_END.
46169
46170 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46171 space for it.
46172 * kern/i386/efi/startup.S: Likewise.
46173
46174 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46175 during image generation. Implement --prefix option to override this
46176 patch.
46177 * util/i386/efi/grub-mkimage.c: Likewise.
46178
46179 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46180 code to make path relative to its root into a separate function.
46181
46182 * util/i386/pc/grub-install.in: Use newly provided
46183 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46184 pass the result to grub-install --prefix.
46185
baa574b4 461862007-06-13 Robert Millan <rmh@aybabtu.com>
46187
46188 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46189 DEFAULT_DEVICE_MAP.
46190 * util/grub-emu.c: Use above definitions from misc.h instead of
46191 defining them.
46192 * util/grub-mkdevicemap.c: Likewise.
46193 * util/i386/pc/grub-setup.c: Likewise.
46194 * util/grub-probe.c: Likewise.
46195 (probe): Abort with grub_util_error() when either
46196 grub_guess_root_device or grub_util_get_grub_dev fails.
46197
0215dcbf 461982007-06-12 Robert Millan <rmh@aybabtu.com>
46199
46200 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46201 "pager" assignment.
46202 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46203 "pcdata".
46204 * util/grub-probe.c (probe): Likewise for "drive_name".
46205
8af2ab7b 462062007-06-11 Robert Millan <rmh@aybabtu.com>
46207
46208 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46209 not just the cdrom one.
46210
59d31694 462112007-06-11 Robert Millan <rmh@aybabtu.com>
46212
46213 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46214 Add --pkglibdir=DIR option to override pkglibdir.
46215 Mention --image-type=TYPE in help output.
46216 Fix --grub-mkimage (it was a no-op).
fe6b695a 46217 Abort gracefully when no parameter is given.
59d31694 46218
7ee367e4 462192007-06-11 Robert Millan <rmh@aybabtu.com>
46220
46221 * util/i386/pc/grub-mkrescue.in: New file.
46222 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46223 * Makefile.in: Handle bin_SCRIPTS.
46224
29b0ed46 462252007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46226
46227 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46228 list of video modes.
46229
c0f90770 462302007-06-06 Robert Millan <rmh@aybabtu.com>
46231
46232 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46233 file doesn't exist, or if it is in a filesystem grub can't read.
46234
46235 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46236 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46237 header comment to fit in 80 columns when the variables are resolved.
46238
46239 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46240 could be identified by update-grub. Remove redundant check for
fe6b695a 46241 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46242 handles that).
46243
fb36dc26 462442007-06-04 Robert Millan <rmh@aybabtu.com>
46245
46246 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46247
46248 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46249
46250 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46251
0c68c93e 462522007-06-04 Robert Millan <rmh@aybabtu.com>
46253
46254 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46255
46256 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46257 grub_apple_partition_map_fini.
46258
46259 * util/biosdisk.c
46260 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46261 to access >2 TiB disks).
46262
46263 Print disk->total_sectors with %llu instead of %lu, since this
46264 variable is always 64-bit (prevents wrong disk size from being displayed
46265 on either >2 TiB disk or big-endian CPU).
46266
46267 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46268 into a generic case that supports all (sane) partition maps.
46269
46270 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46271 breaks big-endian.
46272
46273 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46274 and grub_apple_partition_map_fini() after that.
46275
0f23eb74 462762007-06-01 Robert Millan <rmh@aybabtu.com>
46277
46278 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46279
46280 * util/grub.d/00_header.in: Only enable gfxterm when
46281 convert_system_path_to_grub_path() succeeds.
46282
42c71976 462832007-05-20 Robert Millan <rmh@aybabtu.com>
46284
46285 * util/update-grub_lib.in: New file.
46286 * DISTLIST: Add update-grub_lib.in.
46287 * conf/common.rmk: Generate update-grub_lib and install it in
46288 $(lib_DATA).
46289 * Makefile.in: Add install routine for $(lib_DATA).
46290
46291 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46292 function provided by update-grub_lib to support arbitrary paths of
46293 unifont.pff.
46294 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46295 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46296
5beb2291 462972007-05-19 Robert Millan <rmh@aybabtu.com>
46298
46299 * commands/i386/cpuid.c: New module.
46300 * DISTLIST: Add it.
46301 * conf/i386-efi.rmk: Enable cpuid.mod.
46302 * conf/i386-pc.rmk: Likewise.
46303
7262eca1 463042007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46305
46306 * kern/disk.c (grub_disk_read): Check return value of
46307 grub_realloc().
46308
260ba823 463092007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46310
46311 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46312 arrays.
46313 * disk/raid.c (grub_raid_open): Likewise.
46314
1ecb6cf2 463152007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46316
46317 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46318 stack instead of on the heap.
46319
46320 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46321 before doing a read on it.
46322
46323 * configure.ac: Only use -fno-stack-protector for the target
46324 environment.
f19dbdb7 46325
21c8cbb1 463262007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46327
46328 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46329 __attribute_ ((unused)) to mode_type argument.
46330
46331 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46332
21c8cbb1 46333 * kern/misc.c (memcmp): Fix prototype.
46334
46335 * include/grub/partition.h [GRUB_UTIL]
46336 (grub_gpt_partition_map_init): Add prototype.
46337 (grub_gpt_partition_map_fini): Likewise.
46338
46339 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46340 at the right place.
46341
46342 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46343 (grub_fat_read_data): Likewise.
46344 (grub_fat_find_dir): Likewise.
46345
46346 * font/manager.c (find_glyph): Make table a const.
46347 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46348
849d55d3 463492007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46350
46351 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46352 code, first search for device in /dev/mapper, then in /dev.
46353 (grub_util_get_grub_dev): New function.
46354 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46355 prototype.
46356 * util/grub-probe.c (probe): Remove check for RAID, call
46357 grub_util_get_grub_dev() instead of
46358 grub_util_biosdisk_get_grub_dev().
46359 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46360 grub_util_biosdisk_get_grub_dev().
46361 * util/i386/pc/grub-setup.c (main): Likewise.
46362
8fff7c2f 463632007-05-16 Robert Millan <rmh@aybabtu.com>
46364
46365 * DISTLIST: Update for the latest changes.
46366 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46367 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46368 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46369 grub/util/biosdisk.h.
46370 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46371 grub/util/biosdisk.h.
46372
48e12b52 463732007-05-16 Robert Millan <rmh@aybabtu.com>
46374
46375 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46376
46b9d128 463772007-05-16 Robert Millan <rmh@aybabtu.com>
46378
46379 * util/i386/efi/grub-install.in: New.
46380 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46381 newly added grub-install.
46382 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46383 include.
46384 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46385 grub/util/biosdisk.h.
46386 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46387 grub/util/biosdisk.h.
46388
2d1a40a9 463892007-05-16 Robert Millan <rmh@aybabtu.com>
46390
46391 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46392 * include/grub/util/biosdisk.h: ... here.
46393 * util/i386/pc/biosdisk.c: Moved to ...
46394 * util/biosdisk.c: ... here.
46395 * util/i386/pc/getroot.c: Moved to ...
46396 * util/getroot.c: ... here.
46397 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46398 * util/grub-mkdevicemap.c: ... here.
46399 * util/i386/pc/grub-probe.c: Moved to ...
46400 * util/grub-probe.c: ... here.
46401
9e26e3bc 464022007-05-15 Robert Millan <rmh@aybabtu.com>
46403
46404 * util/update-grub.in: Remove duplicated line in grub.cfg header
46405 message.
46406
57f96397 464072007-05-13 Robert Millan <rmh@aybabtu.com>
46408
46409 * util/update-grub.in: Fix a few assumptions about the devices holding
46410 /, /boot and /boot/grub being the same.
46411 * util/grub.d/00_header.in: Likewise.
46412 * util/grub.d/10_hurd.in: Likewise.
46413 * util/grub.d/10_linux.in: Likewise.
46414
46415 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46416 patterns. Use that to define the `.old' suffix as older than `'.
46417
46418 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46419
46420 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46421 the grub.cfg header message.
46422
2e610d62 464232007-05-11 Robert Millan <rmh@aybabtu.com>
46424
46425 * util/update-grub.in: Create device.map if it doesn't already exist,
46426 before attempting to run grub-probe.
46427 Check for grub-probe and grub-mkdevicemap with the same code
46428 grub-install is using.
46429 Remove test mode.
46430
3f6a10ef 464312007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46432
46433 * Makefile.in: Add the datarootdir autoconf variable.
46434
02e7b75e 464352007-05-09 Robert Millan <rmh@aybabtu.com>
46436
46437 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46438 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46439
75f396cc 464402007-05-07 Robert Millan <rmh@aybabtu.com>
46441
46442 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46443 determine partition map module.
46444 * util/i386/pc/grub-install.in: Use this feature to decide which
46445 partition module to load, instead of hardcoding pc and gpt.
46446
da65cb36 464472007-05-07 Robert Millan <rmh@aybabtu.com>
46448
46449 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46450 source directory differs from build directory.
46451
b57d6a91 464522007-05-05 Robert Millan <rmh@aybabtu.com>
46453
46454 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46455 initialisation.
46456
509d00f1 464572007-05-05 Robert Millan <rmh@aybabtu.com>
46458
46459 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46460
c48f23ef 464612007-05-05 Robert Millan <rmh@aybabtu.com>
46462
46463 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46464 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46465
20b97658 464662007-05-05 Robert Millan <rmh@aybabtu.com>
46467
46468 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46469 (grub_probe_SOURCES): Likewise.
46470 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46471 GPT and initialize dos_part and bsd_part accordingly.
46472 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46473 install_bsd_part.
46474 (main): Activate gpt module for use during partition identification,
46475 and deactivate it afterwards.
46476 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46477 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46478 partition identification, and deactivate it afterwards.
46479
99123174 464802007-05-05 Robert Millan <rmh@aybabtu.com>
46481
46482 * term/i386/pc/console.c (grub_console_fini): Call
46483 grub_term_set_current() before grub_term_unregister().
46484
ebd97f6e 464852007-05-04 Robert Millan <rmh@aybabtu.com>
46486
46487 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46488 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46489 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46490 and update-grub_DATA.
46491 * conf/common.rmk: Build and install update-grub components.
46492 * conf/common.mk: Regenerate.
46493 * util/update-grub.in: New. Core of update-grub.
46494 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46495 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46496 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46497 * util/grub.d/README: New. Document grub.d directory layout.
46498
b06a264d 464992007-05-01 Robert Millan <rmh@aybabtu.com>
46500
46501 * util/grub-emu.c: Move initialization functions
46502 grub_util_biosdisk_init() and grub_init_all() before
46503 grub_util_biosdisk_get_grub_dev(), which relies on them.
46504
41f0050e 465052007-04-19 Robert Millan <rmh@aybabtu.com>
46506
46507 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46508 it is used later.
46509
04582bb3 465102007-04-18 Jerone Young <jerone@gmail.com>
46511
f19dbdb7 46512 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46513 stanza.
46514
08db4632 465152007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46516
08db4632 46517 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46518 continue on and look for device node with real device name.
46519
801b76be 465202007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46521
fe6b695a 46522 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46523 ability.
46524 * Makefile.in: Add autoconf package transformation code.
46525 * util/i386/pc/grub-install.in: Likewise.
46526 * util/powerpc/ieee1275/grub-install.in: Likewise.
46527
6795c4e1 465282007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46529
46530 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46531 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46532 (EXT2_REVISION): Likewise.
46533 (EXT2_INODE_SIZE): Likewise.
46534 (struct grub_ext2_block_group): Added a missing member
46535 "used_dirs".
46536 (grub_ext2_read_inode): Divide by the inode size in a superblock
46537 instead of 128 to obtain INODES_PER_BLOCK.
46538 Use the macro EXT2_INODE_SIZE instead of directly using
46539 SBLOCK->INODE_SIZE.
46540
d70af616 465412007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46542
46543 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46544 superblock instead of the structure size to compute an
46545 offset. This fixes the problem that GRUB could not read a
46546 filesystem when inode size is different from 128-byte.
46547
3b801603 465482007-03-05 Marco Gerards <marco@gnu.org>
46549
46550 * normal/main.c (read_config_file): When "menu" is not set, create
46551 an initial context.
46552
4785bfe4 465532007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46554
46555 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46556 (HEAP_LIMIT): New macro.
46557 (grub_claim_heap): Claim memory up to `heaplimit'.
46558
a0cbb023 465592007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46560
46561 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46562 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46563 (_start): Likewise.
46564 (grub_arch_modules_addr): Return address after `_end'.
46565 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46566 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46567 (add_segments): Calculate `_end' from phdr size and location.
46568 (ALIGN_UP): Moved to ...
46569 * include/grub/misc.h: here.
46570 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46571 New macro.
46572 (GRUB_IEEE1275_MODULE_BASE): Removed.
46573
fd7d8eba 465742007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46575
46576 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46577 loop boundary.
46578
9b09e6fc 465792007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46580
46581 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46582 All users updated.
46583 (grub_elf64_load_hook_t): Likewise.
46584 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46585 debug output.
46586
3ce27299 465872007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46588
46589 * kern/mm.c: Update copyright.
46590 (grub_mm_debug): Correct syntax error.
46591 (grub_mm_dump_free): New function.
46592 (grub_debug_free): Call `grub_free'.
46593 * include/grub/mm.h: Update copyright.
46594 (grub_mm_dump_free): Add declaration.
46595
077d5fee 465962007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46597
46598 * include/grub/ieee1275/ieee1275.h: Update copyright.
46599 * kern/powerpc/ieee1275/init.c: Likewise.
46600 * kern/powerpc/ieee1275/openfw.c: Likewise.
46601
46602 * loader/powerpc/ieee1275/linux.c: Likewise.
46603 * include/grub/elfload.h: Likewise.
46604 * kern/elf.c: Likewise.
46605 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46606 callers.
46607 (grub_elf64_load): Likewise.
46608 (grub_elf32_load_segment): Move to a nested function.
46609 (grub_elf64_load_segment): Likewise.
46610
dc946850 466112007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46612
46613 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46614 prototype.
46615 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46616 (grub_heap_len): Likewise.
46617 (HEAP_SIZE): New macro.
46618 (grub_claim_heap): New function.
46619 (grub_machine_init): Don't claim heap directly. Call
46620 `grub_claim_heap'.
46621 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46622 (grub_available_iterate): New function.
46623
baa2a121 466242007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46625
46626 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46627 * configure.ac: Use it for testing the HOST and TARGET compilers.
46628
4fe9862e 466292006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46630
46631 * Makefile.in (enable_grub_emu): New variable.
46632 * configure.ac (--enable-grub-emu): New option.
46633 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46634 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46635 * conf/i386-pc.rmk: Likewise.
46636 * conf/powerpc-ieee1275.rmk: Likewise.
46637 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46638
a8aa5762 466392006-12-12 Marco Gerards <marco@gnu.org>
46640
46641 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46642
46643 * kern/env.c (grub_env_unset): Don't free the member `value' when
46644 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46645 pointer.
46646
46647 * normal/main.c (current_menu): Removed.
46648 (free_menu): Unset the `menu' environment variable.
46649 (grub_normal_menu_addentry): Make use of the environment variable
46650 `menu', instead of using the global `current_menu'. Allocate
46651 memory for the sourcecode of this entry.
46652 (read_config_file): New argument `nested', changed all callers.
46653 Only in the case of a new context, initialize a new menu. Set the
46654 `menu' environment variable.
46655 (grub_normal_execute): Don't set and unset the environment
46656 variable `menu' here anymore. Only free the menu when leaving the
46657 context.
46658
46659 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46660 leak.
46661
957b3a3e 466622006-12-11 Marco Gerards <marco@gnu.org>
46663
46664 * normal/menu_entry.c (run): Fix off by one bug so the last line
46665 is executed. Move the loader check to outside the loop.
46666
ef875714 466672006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46668
46669 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46670
4e739985 466712006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46672
46673 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46674 the number of sectors. Reported by Andrey Shuvikov
46675 <mr_hyro@yahoo.com>.
f19dbdb7 46676
790707f2 466772006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46678
46679 * kern/disk.c (grub_disk_read): When there is a read error, always
46680 try to read only the necessary data.
f19dbdb7 46681
790707f2 46682 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46683 disk/raid.c.
46684 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46685 prototype.
46686 [GRUB_UTIL] (grub_raid_fini): Likewise.
46687 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46688 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46689 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46690 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46691 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46692 and grub_raid_fini().
f19dbdb7 46693
03e58196 466942006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46695
46696 * include/grub/types.h (__unused): Rename to UNUSED.
46697 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46698 (grub_elf64_size): Likewise.
f19dbdb7 46699
ae4f23bf 467002006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46701
46702 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46703 grub_error_push and grub_error_pop in the error-handling path.
46704 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46705 length.
46706
2166cc83 467072006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46708
46709 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46710 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46712 (kernel_elf_SOURCES): Likewise.
46713 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46714 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46715 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46716 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46717 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46718 (elf_mod_SOURCES): New variable.
46719 (elf_mod_CFLAGS): Likewise.
46720 (elf_mod_LDFLAGS): Likewise.
46721 * include/grub/types.h (__unused): New macro.
46722 * include/grub/elfload.h: New file.
46723 * kern/elf.c: Likewise.
46724 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46725 (ELF32_LOADMASK): New macro.
46726 (ELF64_LOADMASK): Likewise.
46727 (vmlinux): Removed.
46728 (grub_linux_load32): New function.
46729 (grub_linux_load64): Likewise.
46730 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46731 Use grub_elf_t instead of grub_file_t.
46732
a09d5aa5 467332006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46734
46735 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46736 `catch_result' to struct set_color_args.
46737
d976fc51 467382006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46739
46740 * normal/menu.c: Include grub/script.h.
46741 * normal/menu_entry.c: Likewise.
46742 * include/grub/normal.h: Do not include grub/script.h.
46743
67507549 467442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46745
46746 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46747
69203a99 467482006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46749
46750 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46751 disk.
46752 (grub_disk_close): Print debug messages when closing a disk.
46753 (grub_disk_read): Print debug messages when disk read fails.
46754 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46755 filesystem type.
46756 * kern/partition.c: Include misc.h.
46757 (grub_partition_iterate): Print debug messages when detecting
46758 partition type.
46759
e2b8278c 467602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46761
46762 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46763 is negative.
46764 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46765
97b2f2ff 467662006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46767
46768 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46769 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46770
6555d655 467712006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46772
46773 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46774 instead of sizeof(lv). Patch by Michael Guntsche.
46775
4d42b77f 467762006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46777
46778 * disk/lvm.c: Rename VGS to VG_LIST.
46779 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46780 (grub_lvm_open): Likewise.
46781 Thanks to Michael Guntsche for finding this bug.
46782
5d74d927 467832006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46784
46785 * configure.ac (AC_INIT): Bumped to 1.95.
46786
a1bb27e4 467872006-10-14 Robert Millan <rmh@aybabtu.com>
46788
46789 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46790 with "/dev/.static/dev/md".
46791
e0994b8b 467922006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46793
46794 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46795 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46796 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46797 DRIVE_NAME are always freed.
46798
46799 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46800 DOS_PART, as a DOS partition is counted from one instead of zero
46801 now. Reported by Robert Millan.
46802
ddd5cee9 468032006-10-14 Robert Millan <rmh@aybabtu.com>
46804
46805 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46806 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46807 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46808 string returned by grub_guess_root_device.
46809 * util/i386/pc/grub-setup.c: Likewise.
46810 * util/i386/pc/grub-probefs.c: Likewise.
46811
46812 * util/i386/pc/grub-probefs.c: Rename to ...
46813 * util/i386/pc/grub-probe.c: ... this.
46814 * DISTLIST: Remove grub-probefs, add grub-probe.
46815 * conf/i386-efi.rmk: Likewise.
46816 * conf/i386-pc.rmk: Likewise.
46817 * util/i386/pc/grub-install.in: Likewise.
46818
46819 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46820 choose which information we want to print.
46821
2b002173 468222006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46823
46824 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46825 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46826 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46827 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46828 video/readers/tga.c and video/i386/pc/vbeutil.c.
46829
468302006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46831
46832 Added support for RAID and LVM.
f19dbdb7 46833
2b002173 46834 * disk/lvm.c: New file.
46835 * disk/raid.c: Likewise.
46836 * include/grub/lvm.h: Likewise.
f19dbdb7 46837 * include/grub/raid.h: Likewise.
2b002173 46838 * include/grub/util/lvm.h: Likewise.
46839 * include/grub/util/raid.h: Likewise.
46840 * util/lvm.c: Likewise.
46841 * util/raid.c: Likewise.
46842
46843 * include/grub/disk.h (grub_disk_dev_id): Add
46844 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46845 (grub_disk_get_size): New prototype.
46846 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46847 returns a partition.
46848 (grub_disk_get_size): New function.
f19dbdb7 46849
2b002173 46850 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46851 verbatim if grub_install_dos_part is -2.
46852
46853 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46854 and LVM devices.
46855
46856 * util/i386/pc/grub-setup.c (setup): New argument
46857 MUST_EMBED. Force embedding of GRUB when the argument is
46858 true. Close FILE before returning.
46859 (main): Add support for RAID and LVM.
f19dbdb7 46860
2b002173 46861 * conf/common.rmk: Add RAID and LVM modules.
46862 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46863 util/lvm.c.
46864 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46865
46866 * kern/misc.c (grub_strstr): New function.
46867 * include/grub/misc.h (grub_strstr): New prototype.
46868
050548d0 468692006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46870
46871 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46872
da849d2d 468732006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46874
46875 * kern/misc.c (grub_strtoull): Guess the base only if not
46876 specified.
46877
97b2f2ff 468782006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46879
46880 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46881 PowerMac support.
46882
97b2f2ff 468832006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46884
46885 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46886
46887 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46888 Remove `flags' argument. All callers changed.
46889 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46890 (IEEE1275_IHANDLE_INVALID): New variable.
46891 (IEEE1275_CELL_INVALID): New variable.
46892 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46893 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46894 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46895 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46896 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46897 codes from Open Firmware. All callers updated.
46898 (grub_ieee1275_next_property): Directly return Open Firmware return
46899 code.
46900 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46901 Standardize error checking from `grub_ieee1275_get_property'.
46902 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46903 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46904
97b2f2ff 469052006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46906
46907 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46908 `instance_to_package_args' to `instance_to_path_args'.
46909
46910 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46911 `grub_ieee1275_chosen'.
46912
46913 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46914 `grub_ieee1275_interpret'.
46915
97b2f2ff 469162006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46917
46918 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46919
97b2f2ff 469202006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46921
46922 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46923 (__cmpdi): Likewise.
46924
46925 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46926 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46927 `grub_ssize_t'.
46928
02bb8acc 46929 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46930
46931 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46932 to type `grub_ssize_t'.
46933 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46934
7f9a8531 469352006-09-22 Marco Gerards <marco@gnu.org>
46936
46937 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46938 newlines.
46939
b5ef1102 469402006-09-22 Marco Gerards <marco@gnu.org>
46941
46942 * commands/echo.c: New file.
46943
46944 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46945
46946 * conf/common.rmk (echo_mod_SOURCES): New variable.
46947 (echo_mod_CFLAGS): Likewise.
46948 (echo_mod_LDFLAGS): Likewise.
46949
2cff3677 469502006-09-22 Marco Gerards <marco@gnu.org>
46951
46952 * normal/main.c (get_line): Malloc memory instead of using
46953 preallocated memory. Removed the arguments `cmdline' and
46954 `max_len'. Updated all callers.
46955
6ba4688b 469562006-09-22 Marco Gerards <marco@gnu.org>
46957
46958 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46959 (normal_mod_DEPENDENCIES): Likewise.
46960
46961 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46962 (normal_mod_DEPENDENCIES): Likewise.
46963
46964 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46965
e02ac02c 469662006-09-22 Johan Rydberg <jrydberg@gnu.org>
46967
46968 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46969 programs.
46970 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46971 (normal_mod_DEPENDENCIES): Likewise.
46972 * conf/i386-pc.mk: Regenerate.
46973 * conf/i386-efi.mk: Likewise
46974 * conf/common.mk: Likewise.
46975 * conf/powerpc-ieee1275.mk: Likewise.
46976 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46977
8d252e44 469782006-09-22 Robert Millan <rmh@aybabtu.com>
46979
46980 Sync with i386 version.
46981 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46982 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46983
209bf7ac 469842006-09-21 Robert Millan <rmh@aybabtu.com>
46985
46986 Import from GRUB Legacy (lib/device.c):
46987 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46988 (init_device_map) [__linux__]: Add support for I2O devices.
46989
6b146090 469902006-09-14 Marco Gerards <marco@gnu.org>
46991
46992 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46993 `-melf_i386'.
46994
e38600a8 469952006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46996
46997 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46998 /boot/grub/*.lst.
78fa1790 46999
2952da5d 47000 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47001
2952da5d 47002 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47003 before adding it to device.map.
47004
01b82a64 470052006-08-15 Johan Rydberg <jrydberg@gnu.org>
47006
fe6b695a 47007 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47008 compiles a file; using the -MD option.
47009 * conf/common.mk: Regenerate.
47010 * conf/i386-pc.mk: Likewise.
47011 * conf/i386-efi.mk: Likewise.
47012 * conf/powerpc-ieee1275.mk: Likewise.
47013 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47014
1064790d 470152006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47016
47017 Move the prototypes of grub_setjmp and grub_longjmp to
47018 cpu/setjmp.h, so that each architecture may specify different
47019 attributes.
f19dbdb7 47020
1064790d 47021 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47022 (grub_longjmp): Likewise.
47023 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47024 (grub_longjmp): Likewise.
47025 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47026 (grub_longjmp): Likewise.
47027
47028 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47029 [!GRUB_UTIL] (grub_longjmp): Removed.
47030
29dda3ed 470312006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47032
47033 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47034 "color!" method does not return any value.
47035
ad2a06ed 470362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47037
47038 * include/grub/bitmap.h: New file.
47039
47040 * include/grub/i386/pc/vbeutil.h: Likewise.
47041
47042 * video/bitmap.c: Likewise.
47043
47044 * video/readers/tga.c: Likewise.
47045
47046 * video/i386/pc/vbeutil.c: Likewise.
47047
47048 * commands/videotest.c: Code cleanup and updated to reflect to new
47049 video API.
47050
47051 * term/gfxterm.c: Likewise.
47052
47053 * video/video.c: Likewise.
47054
47055 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47056 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47057 (bitmap_mod_SOURCES): New entry.
47058 (bitmap_mod_CFLAGS): Likewise.
47059 (bitmap_mod_LDFLAGS): Likewise.
47060 (tga_mod_SOURCES): Likewise.
47061 (tga_mod_CFLAGS): Likewise.
47062 (tga_mod_LDFLAGS): Likewise.
47063
47064 * include/grub/video.h (grub_video_blit_operators): New enum type.
47065 (grub_video_render_target): Changed as forward declaration and moved
47066 actual definition to be video driver specific.
47067 (grub_video_adapter.blit_bitmap): Added blitting operator.
47068 (grub_video_adapter.blit_render_target): Likewise.
47069 (grub_video_blit_bitmap): Likewise.
47070 (grub_video_blit_render_target): Likewise.
47071
47072 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47073 driver specific render target definition.
47074 (grub_video_vbe_map_rgba): Added driver internal helper.
47075 (grub_video_vbe_unmap_color): Updated to use
47076 grub_video_i386_vbeblit_info.
47077 (grub_video_vbe_get_video_ptr): Likewise.
47078
47079 * include/grub/i386/pc/vbeblit.h
47080 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47081 grub_video_i386_vbeblit_info.
47082 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47083 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47084 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47085 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47086 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47087 (grub_video_i386_vbeblit_index_index): Likewise.
47088 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47089 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47090 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47091 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47092 operator.
47093 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47094 operator.
47095
47096 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47097 include/grub/i386/pc/vbeblit.h.
47098
47099 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47100 Updated to use grub_video_i386_vbeblit_info.
47101 (grub_video_i386_vbefill_R8G8B8): Likewise.
47102 (grub_video_i386_vbefill_index): Likewise.
47103 (grub_video_i386_vbefill): Added generic filler.
47104
47105 * video/i386/pc/vbefill.c: Updated to reflect changes on
47106 include/grub/i386/pc/vbefill.h.
47107
47108 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47109 grub_video_i386_vbeblit_info.
47110 (grub_video_vbe_unmap_color): Likewise.
47111 (grub_video_vbe_blit_glyph): Likewise.
47112 (grub_video_vbe_scroll): Likewise.
47113 (grub_video_vbe_draw_pixel): Removed function.
47114 (grub_video_vbe_get_pixel): Likewise.
47115 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47116 updated code to use it.
47117 (common_blitter): Added common blitter for render target and bitmap.
47118 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47119 (grub_video_vbe_blit_render_target): Likewise.
47120
bc8c036d 471212006-07-30 Johan Rydberg <jrydberg@gnu.org>
47122
47123 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47124 is in text mode if there is no console control protocol instance
47125 available.
47126
684a8eff 471272006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47128
47129 * include/grub/video.h: Code cleanup.
47130
47131 * include/grub/i386/pc/vbe.h: Likewise.
47132
47133 * video/i386/pc/vbe.c: Likewise.
47134
47135 * video/i386/pc/vbeblit.c: Likewise.
47136
47137 * video/i386/pc/vbefill.c: Likewise.
47138
47139 * video/video.c: Likewise. Also added more comments.
47140
5915059b 471412006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47142
47143 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47144 (struct grub_biosdisk_dap): Likewise.
47145
47146 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47147 linkage settings for all functions.
47148
90ce5d56 471492006-07-12 Marco Gerards <marco@gnu.org>
47150
47151 * configure.ac (--enable-mm-debug): Fix typo.
47152
47153 * genkernsyms.sh.in: Use proper quoting for `CC'.
47154
43e7f879 471552006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47156
47157 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47158 (normal_mod_ASFLAGS): Remove "-m32".
47159
4889bdec 471602006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47161
47162 * util/misc.c: Include config.h.
47163 [!HAVE_MEMALIGN]: Do not include malloc.h.
47164 (grub_memalign): Use posix_memalign, if present. Then, use
47165 memalign, if present. Otherwise, emit an error.
47166
47167 * util/grub-emu.c: Do not include malloc.h.
47168
47169 * include/grub/util/misc.h: Include unistd.h. This is required for
47170 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47171 D. Eades III <hde@foobar-qux.org>.
47172
47173 * configure.ac (AC_GNU_SOURCE): Added.
47174 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47175 type.
47176
fd39d4da 471772006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47178
47179 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47180 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47181
b786f3b5 471822006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47183
47184 * include/grub/types.h (grub_host_addr_t): Rename to
47185 grub_target_addr_t.
47186 (grub_host_off_t): Rename to grub_target_off_t.
47187 (grub_host_size_t): Rename to grub_target_size_t.
47188 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47189 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47190
47191 * include/grub/kernel.h (struct grub_module_header): Change type
47192 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47193 (grub_module_info): Likewise.
f19dbdb7 47194
051988bb 471952006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47196
47197 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47198 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47199 Velazquez <jesus.velazquez@gmail.com>.
47200
deae281b 472012006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47202
47203 Count partitions from 1 instead of 0 in the string representation
47204 of partitions. Still use 0-based internally.
f19dbdb7 47205
deae281b 47206 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47207 (sun_partition_map_iterate): Use grub_partition_t instead of
47208 struct grub_partition *. Cast DESC->START_CYLINDER to
47209 grub_uint64_t after converting the endian.
47210 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47211 (sun_partition_map_get_name): Add 1 to P->INDEX.
47212
47213 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47214 PCDATA->DOS_PART.
47215 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47216
47217 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47218 zero instead of one.
47219 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47220 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47221
47222 * partmap/apple.c (apple_partition_map_iterate): Change the type
47223 of POS to unsigned.
47224 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47225 (apple_partition_map_get_name): Add 1 into P->INDEX.
47226
47227 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47228 of POS to unsigned.
47229 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47230 calculate the offset of a partition.
47231 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47232 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47233
47234 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47235 SECTOR to grub_disk_addr_t.
47236 (acorn_partition_map_iterate): Likewise.
47237 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47238 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47239 top.
47240 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47241
47242 * kern/i386/pc/init.c (make_install_device): Add 1 into
47243 GRUB_INSTALL_DOS_PART.
47244
47245 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47246 conditional.
47247
524a1e6a 472482006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47249
47250 Clean up the code to support 64-bit addressing in disks and
47251 files. This change is not enough for filesystems yet.
f19dbdb7 47252
524a1e6a 47253 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47254 type of "start" to grub_uint64_t.
47255 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47256 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47257 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47258 convert addresses.
47259
47260 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47261 to grub_disk_addr_t.
47262
47263 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47264 string.
47265
47266 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47267
47268 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47269 to char *.
47270
47271 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47272
47273 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47274
47275 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47276
47277 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47278 to grub_off_t, to detect an error from grub_file_seek.
47279 (grub_multiboot_load_elf32): Likewise.
47280
47281 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47282 maximum unsigned long value when an overflow is detected.
47283 (grub_strtoull): New function.
47284 (grub_divmod64): Likewise.
47285 (grub_lltoa): use grub_divmod64.
47286
47287 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47288 grub_disk_addr_t.
47289 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47290 the pointer to next character. Use grub_strtoull instead of
47291 grub_strtoul.
47292 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47293 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47294 respectively.
47295
fe6b695a 47296 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47297 return value is signed.
47298 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47299 test if OFFSET is less than zero, as OFFSET is unsigned now.
47300
47301 * kern/disk.c (struct grub_disk_cache): Change the type of
47302 "sector" to grub_disk_addr_t.
47303 (grub_disk_cache_get_index): Change the type of SECTOR to
47304 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47305 unsigned after shifting.
47306 (grub_disk_cache_invalidate): Change the type of SECTOR to
47307 grub_disk_addr_t.
47308 (grub_disk_cache_unlock): Likewise.
47309 (grub_disk_cache_store): Likewise.
47310 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47311 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47312 grub_disk_addr_t and grub_uint64_t, respectively.
47313 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47314 body, as the value of OFFSET is tweaked by
47315 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47316 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47317 respectively.
47318 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47319 body, as the value of OFFSET is tweaked by
47320 grub_disk_check_range. Change the types of LEN and N to
47321 grub_size_t.
47322
47323 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47324 and "saved_offset" to grub_off_t.
47325 (test_header): Cast BUF to char *.
47326 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47327 to char *.
47328 (grub_gzio_read): Change the types of OFFSET and SIZE to
47329 grub_off_t and grub_size_t, respectively.
47330
47331 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47332 Removed.
47333 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47334 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47335 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47336 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47337 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47338
47339 * include/grub/types.h (grub_off_t): Unconditionally set to
47340 grub_uint64_t.
47341 (grub_disk_addr_t): Changed to grub_uint64_t.
47342
47343 * include/grub/partition.h (struct grub_partition): Change the
47344 types of "start", "len" and "offset" to grub_disk_addr_t,
47345 grub_uint64_t and grub_disk_addr_t, respectively.
47346 (grub_partition_get_start): Return grub_disk_addr_t.
47347 (grub_partition_get_len): Return grub_uint64_t.
47348
47349 * include/grub/misc.h (grub_strtoull): New prototype.
47350 (grub_divmod64): Likewise.
47351
47352 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47353 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47354 grub_off_t, respectively.
47355 All callers and references changed.
47356
47357 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47358 grub_size_t in "read".
47359 All callers and references changed.
47360
47361 * include/grub/file.h (struct grub_file): Change the types of
47362 "offset" and "size" to grub_off_t and grub_off_t,
47363 respectively. Change the type of SECTOR to grub_disk_addr_t in
47364 "read_hook".
47365 (grub_file_read): Change the type of LEN to grub_size_t.
47366 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47367 grub_off_t.
47368 (grub_file_size): Return grub_off_t.
47369 (grub_file_tell): Likewise.
47370 All callers and references changed.
47371
47372 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47373 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47374 "write".
47375 (struct grub_disk): Change the type of "total_sectors" to
47376 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47377 "read_hook".
524a1e6a 47378 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47379 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47380 (grub_disk_write): Likewise.
47381 All callers and references changed.
47382
47383 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47384 char * for grub_strncmp to silence gcc.
47385 (grub_iso9660_mount): Likewise.
47386 (grub_iso9660_mount): Likewise.
47387 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47388 return statement.
47389 (grub_iso9660_iterate_dir): Likewise.
47390 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47391
47392 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47393 LEN to grub_disk_addr_t and grub_size_t, respectively.
47394
47395 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47396
47397 * fs/jfs.c (grub_jfs_read_file): Likewise.
47398
47399 * fs/minix.c (grub_jfs_read_file): Likewise.
47400
47401 * fs/sfs.c (grub_jfs_read_file): Likewise.
47402
47403 * fs/ufs.c (grub_jfs_read_file): Likewise.
47404
47405 * fs/xfs.c (grub_jfs_read_file): Likewise.
47406
47407 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47408 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47409 respectively.
47410
47411 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47412 BLKNR to -1 instead of returning GRUB_ERRNO.
47413 (grub_ext2_read_file): Change the types of SECTOR and
47414 LEN to grub_disk_addr_t and grub_size_t, respectively.
47415
47416 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47417 LEN to grub_disk_addr_t and grub_size_t, respectively.
47418
47419 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47420 grub_file_read.
47421
47422 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47423 string. Do not cast SECTOR explicitly.
47424
47425 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47426 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47427 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47428 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47429 over 2TB and LBA mode is not supported, raise an error.
47430 (get_safe_sectors): New function.
47431 (grub_biosdisk_read): Use get_safe_sectors.
47432 (grub_biosdisk_write): Likewise.
47433
47434 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47435 (grub_efidisk_write): Likewise.
47436
47437 * disk/loopback.c (delete_loopback): Cosmetic changes.
47438 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47439 correctly.
47440 (grub_loopback_open): Likewise.
47441 (grub_loopback_read): Likewise. Also, change the type of POS to
47442 grub_off_t, and fix the usage of grub_memset.
47443
47444 * commands/i386/pc/play.c: Include grub/machine/time.h.
47445
47446 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47447 print FILE->SIZE.
47448
47449 * commands/configfile.c: Include grub/env.h.
47450
47451 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47452 GRUB_ERRNO directly instead. Change the type of POS to
47453 grub_off_t. Follow the coding standard.
47454
47455 * commands/blocklist.c: Include grub/partition.h.
47456 (grub_cmd_blocklist): Return an error if the underlying device is
47457 not a disk. Take the starting sector of a partition into account,
47458 if a partition is used.
47459
47460 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47461 a length field.
47462 (lba_mode): Support 64-bit addresses.
47463 (chs_mode): Likewise.
47464 (copy_buffer): Adapted to the new offsets of a length field and a
47465 segment field.
47466 (blocklist_default_start): Allocate 64-bit space.
47467
47468 * boot/i386/pc/boot.S (force_lba): Removed.
47469 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47470 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47471 space.
47472 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47473 is useless.
47474 (lba_mode): Refactored to support a 64-bit address. More size
47475 optimization.
47476 (setup_sectors): Likewise.
47477
53af98ad 474782006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47479
47480 * DISTLIST: Added include/grub/i386/linux.h. Removed
47481 include/grub/i386/pc/linux.h
47482
47483 * configure.ac (AC_INIT): Bumped to 1.94.
47484
47485 * config.guess: Updated from gnulib.
47486 * config.sub: Likewise.
47487 * install-sh: Likewise.
47488 * mkinstalldirs: Likewise.
47489
b4c1940a 474902006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47491
47492 * conf/common.rmk (grub_modules_init.lst): Depended on
47493 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47494 MODSRCFILES.
47495
47496 * genmk.rb (PModule::rule): Reverted the previous change.
47497
cfca1cfd 474982006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47499
47500 * conf/common.rmk (grub_modules_init.lst): Depends on
47501 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47502 that the target does not exist before producing.
47503 (grub_modules_init.h): Remove the target before generating.
47504 (grub_emu_init.c): Likewise.
47505
47506 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47507
aa6d7826 475082006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47509
47510 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47511 for the target-specific tests. Make sure that we also have the
47512 up-to-date target variables for those tests.
47513
26c607b9 475142006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47515
47516 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47517 (PModule::rule): Likewise.
47518
0162321a 475192006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47520
47521 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47522 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47523 target-specific flags should be prefixed.
47524 (PModule::rule): Likewise.
47525
6c826348 475262006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47527
47528 * configure.ac (CMP): Check if cmp is available explicitly.
47529
b977bf01 475302006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47531
47532 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47533 (target_cpu): New variable.
47534 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47535
b977bf01 47536 * util/i386/pc/grub-install.in (host_cpu): Removed.
47537 (target_cpu): New variable.
47538 (pkglibdir): Use target_cpu instead of host_cpu.
47539
47540 * util/genmoddep.c: Removed.
f19dbdb7 47541
b977bf01 47542 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47543 instead of GRUB_HOST_SIZEOF_VOID_P.
47544 * kern/dl.c: Likewise.
47545
47546 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47547 ...
47548 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47549 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47550 (GRUB_TARGET_SIZEOF_LONG): ... this.
47551 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47552 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47553 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47554 to ...
47555 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47556 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47557 (GRUB_TARGET_SIZEOF_LONG): ... this.
47558 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47559 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47560 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47561 to ...
47562 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47563 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47564 (GRUB_TARGET_SIZEOF_LONG): ... this.
47565 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47566 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47567
47568 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47569 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47570 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47571 instead of GRUB_HOST_SIZEOF_LONG.
47572 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47573 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47574 GRUB_CPU_WORDS_BIGENDIAN.
47575 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47576 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47577 grub_host_ssize_t.
47578
47579 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47580 (genmoddep_SOURCES): Likewise.
47581 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47582 (genmoddep_SOURCES): Likewise.
47583 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47584 (genmoddep_SOURCES): Likewise.
47585 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47586 Likewise.
47587 (genmoddep_SOURCES): Likewise.
47588
47589 * genmoddep.awk: New file.
47590
47591 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47592 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47593 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47594 (PModule::rule): Likewise.
47595 (Program::rule): Likewise.
47596 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47597 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47598 respectively.
47599
47600 * configure.ac: Rewritten intensively to use host and target
47601 instead of build and host, respectively.
47602
47603 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47604 (host_cpu): Removed.
47605 (target_cpu): New variable.
47606 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47607 (BUILD_CC): Removed.
47608 (BUILD_CFLAGS): Likewise.
47609 (BUILD_CPPFLAGS): Likewise.
47610 (TARGET_CC): New variable.
47611 (TARGET_CFLAGS): Likewise.
47612 (TARGET_CPPFLAGS): Likewise.
47613 (TARGET_LDFLAGS): Likewise.
47614 (AWK): Likewise.
47615 (include): Use target_cpu instead of host_cpu.
47616 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47617
b977bf01 47618 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47619
f09771a1 476202006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47621
47622 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47623 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47624 field 'false' to 'exec_on_false'.
47625 (grub_script_create_cmdif): Renamed argument names to reflect above
47626 changes.
47627
47628 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47629
47630 * normal/script.c (grub_script_create_cmdif): Likewise.
47631
118f4fb3 476322006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47633
47634 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47635 top.
47636 (grub_hfsplus_btree_recptr): Likewise.
47637 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47638 FILEBLOCK both to pass a block number and store next block
47639 number.
47640 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47641 overflow file correctly. Specify errors appropriately, because
47642 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47643 grub_hfsplus_btree_recptr to get the pointer to a found key.
47644 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47645 is found.
47646
47647 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47648 linux.mod.
47649 (_linux_mod_SOURCES): New variable.
47650 (_linux_mod_CFLAGS): Likewise.
47651 (_linux_mod_LDFLAGS): Likewise.
47652 (linux_mod_SOURCES): Likewise.
47653 (linux_mod_CFLAGS): Likewise.
47654 (linux_mod_LDFLAGS): Likewise.
47655
47656 * DISTLIST: Added loader/i386/efi/linux.c,
47657 loader/i386/efi/linux_normal.c and
47658 include/grub/i386/efi/loader.h.
47659
47660 * loader/i386/efi/linux.c: New file.
47661 * loader/i386/efi/linux_normal.c: Likewise.
47662 * include/grub/i386/efi/loader.h: Likewise.
47663
89a7d726 476642006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47665
47666 * commands/blocklist.c: New file.
47667
47668 * DISTLIST: Added commands/blocklist.c.
47669
47670 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47671 color for the background, and a darker color for the foreground.
89a7d726 47672 (grub_console_checkkey): Return READ_KEY.
47673 (grub_console_cls): Set the background to
47674 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47675
47676 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47677
47678 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47679 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47680
47681 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47682 prototype.
47683
47684 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47685 BG. The spec is wrong again.
47686
47687 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47688 prototype.
47689 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47690
47691 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47692 commands/blocklist.c.
47693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47694
89a7d726 47695 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47696 (blocklist_mod_SOURCES): New variable.
47697 (blocklist_mod_CFLAGS): Likewise.
47698 (blocklist_mod_LDFLAGS): Likewise.
47699
75c8f258 477002006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47701
47702 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47703 duplication.
47704 (lba_mode): Use %eax more intensively to reduce the code size.
47705
da2eb181 477062006-05-20 Marco Gerards <marco@gnu.org>
47707
47708 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47709
47710 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47711 for `menuentry'.
47712 (script): Accept leading newlines.
47713 (newlines): New rule to describe 0 or more newlines.
47714 (commands): Accept `command' with trailing newline. Fixed the
47715 order in which arguments were passed to `grub_script_add_cmd'.
47716 Accept commands separated by newlines.
47717 (function): Changed to accept newlines.
47718 (menuentry) Rewritten.
47719
47720 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47721 front of the list, instead of to the end.
47722
577b4050 477232006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47724
47725 * util/i386/pc/grub-install.in (bindir): New variable.
47726 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47727 Shaver <lbgwjl@gmail.com>.
47728
0d6e1189 477292006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47730
47731 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47732 grub/machine/linux.h
47733 * loader/i386/pc/linux.c: Likewise.
47734
47735 * include/grub/i386/pc/linux.h: Moved to ...
47736 * include/grub/i386/linux.h: ... here.
47737
47738 * include/grub/i386/linux.h (struct linux_kernel_params): New
47739 struct.
f19dbdb7 47740
31b86e9f 477412006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47742
47743 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47744 checking.
47745 (grub_video_vbe_blit_glyph): Likewise.
47746 (grub_video_vbe_blit_bitmap): Likewise.
47747 (grub_video_vbe_blit_render_target): Likewise.
47748
83b984de 477492006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47750
47751 * configure.ac (--with-platform): Properly quote the square
47752 brackets.
47753
5f0413bd 477542006-05-08 Marco Gerards <marco@gnu.org>
47755
47756 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47757 this...
47758 (kernel_elf_HEADERS): ...to this. Updated all users.
47759 (grubof_symlist.c): Renamed from this...
47760 (kernel_elf_symlist.c): ...to this. Updated all users.
47761 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47762 (grubof_SOURCES): Renamed from this...
47763 (kernel_elf_SOURCES): ...to this.
47764 (grubof_HEADERS): Renamed from this...
47765 (kernel_elf_HEADERS): ...to this.
47766 (grubof_CFLAGS): Renamed from this...
47767 (kernel_elf_CFLAGS): ...to this.
47768 (grubof_ASFLAGS): Renamed from this...
47769 (kernel_elf_ASFLAGS): ...to this.
47770 (grubof_LDFLAGS): Renamed from this...
47771 (kernel_elf_LDFLAGS): ...to this.
47772
47773 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47774 this...
47775 (kernel_elf_HEADERS): ...to this. Updated all users.
47776 (grubof_symlist.c): Renamed from this...
47777 (kernel_elf_symlist.c): ...to this. Updated all users.
47778 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47779 (grubof_SOURCES): Renamed from this...
47780 (kernel_elf_SOURCES): ...to this.
47781 (grubof_HEADERS): Renamed from this...
47782 (kernel_elf_HEADERS): ...to this.
47783 (grubof_CFLAGS): Renamed from this...
47784 (kernel_elf_CFLAGS): ...to this.
47785 (grubof_ASFLAGS): Renamed from this...
47786 (kernel_elf_ASFLAGS): ...to this.
47787 (grubof_LDFLAGS): Renamed from this...
47788 (kernel_elf_LDFLAGS): ...to this.
47789
47790 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47791 `kernel.elf' instead of `grubof'.
47792
05568c2e 477932006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47794
47795 Add --with-platform to configure. Use pkglibdir instead of
47796 pkgdatadir. This is reported by Roger Leigh.
47797
47798 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47799 (host_vendor): Likewise.
47800 (host_os): Likewise.
47801 (pkgdatadir): Likewise.
47802 (platform): New variable.
47803 (pkglibdir): Likewise.
47804 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47805
05568c2e 47806 * util/i386/pc/grub-install.in (datadir): Removed.
47807 (host_vendor): Likewise.
47808 (host_os): Likewise.
47809 (pkgdatadir): Likewise.
47810 (platform): New variable.
47811 (pkglibdir): Likewise.
47812 Use PKGLIBDIR instead of PKGDATADIR.
47813
47814 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47815 instead of GRUB_DATADIR.
47816 (main): Likewise.
47817 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47818 (main): Likewise.
47819 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47820 (main): Likewise.
47821
47822 * configure.ac (--with-platform): New option.
47823 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47824
47825 * Makefile.in: Include a makefile based on PLATFORM instead of
47826 HOST_VENDOR.
47827 (pkgdatadir): Not appended by the machine type.
47828 (pkglibdir): Appended by the machine type.
47829 (host_vendor): Removed.
47830 (platform): New variable.
47831 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47832 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47833 (uninstall): Likewise.
47834
4e93851c 478352006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47836
47837 Use the environment context in the menu. Remove the commands
47838 "default" and "timeout", and use variables instead.
f19dbdb7 47839
4e93851c 47840 * normal/menu.c: Include grub/env.h.
47841 (print_entry): Cast TITLE to silence gcc.
47842 (get_timeout): New function.
47843 (set_timeout): Likewise.
47844 (get_entry_number): Likewise.
47845 (run_menu): Use a default entry, a fallback entry and a timeout
47846 in the environment variables "default", "fallback" and
47847 "timeout". Also, tweak the default entry if it is not within the
47848 current menu entries.
47849 (grub_menu_run): Use a fallback entry in the environment variable
47850 "fallback".
47851
47852 * normal/main.c (read_config_file): Do not initialize
47853 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47854 NEWMENU->TIMEOUT.
47855 (grub_normal_execute): Use a data slot to store the menu.
47856
47857 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47858 fallback_entry and timeout.
47859 (struct grub_menu_list): Removed.
47860 (grub_menu_list_t): Likewise.
47861 (struct grub_context): Likewise.
47862 (grub_context_t): Likewise.
47863 (grub_context_get): Likewise.
47864 (grub_context_get_current_menu): Likewise.
47865 (grub_context_push_menu): Likewise.
47866 (grub_context_pop_menu): Likewise.
47867 (grub_default_init): Likewise.
47868 (grub_default_fini): Likewise.
47869 (grub_timeout_init): Likewise.
47870 (grub_timeout_fini): Likewise.
47871
47872 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47873 and timeout.mod.
47874 (normal_mod_SOURCES): Removed normal/context.c.
47875
47876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47877 commands/default.c, commands/timeout.c and normal/context.c.
47878 (normal_mod_SOURCES): Removed normal/context.c.
47879
47880 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47881 commands/timeout.c and normal/context.c.
47882 (normal_mod_SOURCES): Removed normal/context.c.
47883
47884 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47885 commands/default.c, commands/timeout.c and normal/context.c.
47886 (normal_mod_SOURCES): Removed normal/context.c.
47887
47888 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47889 timeout.mod.
47890 (default_mod_SOURCES): Removed.
47891 (default_mod_CFLAGS): Likewise.
47892 (default_mod_LDFLAGS): Likewise.
47893 (timeout_mod_SOURCES): Removed.
47894 (timeout_mod_CFLAGS): Likewise.
47895 (timeout_mod_LDFLAGS): Likewise.
47896
47897 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47898 normal/context.c.
47899
47900 * commands/default.c: Removed.
47901 * commands/timeout.c: Likewise.
47902 * normal/context.c: Likewise.
47903
1eb9cc1d 479042006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47905
47906 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47907
385bd9c1 479082006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47909
47910 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47911 "next" to "prev" for readability.
47912 (struct grub_env_sorted_var): New struct.
47913 (grub_env_context): Renamed to ...
47914 (initial_context): ... this.
47915 (grub_env_var_context): Renamed to ...
47916 (current_context): ... this.
47917 (grub_env_find): Look only at CURRENT_CONTEXT.
47918 (grub_env_context_open): Rewritten to copy exported variables from
47919 previous context.
47920 (grub_env_context_close): Rewritten according to the new
47921 scheme. Also, add an assertion to prevent the initial context from
47922 removed.
47923 (grub_env_insert): Removed the code for the sorted list.
47924 (grub_env_remove): Likewise.
47925 (grub_env_export): Simply mark the variable with
47926 GRUB_ENV_VAR_GLOBAL.
47927 (grub_env_set): A cosmetic change for naming consistency.
47928 (grub_env_get): Likewise.
47929 (grub_env_unset): Likewise.
47930 (grub_env_iterate): Rewritten to sort variables within this
47931 function.
47932 (grub_register_variable_hook): Fixed for naming consistency. Call
47933 grub_env_find again, only if NAME is not found at the first time.
47934 (mangle_data_slot_name): New function.
47935 (grub_env_set_data_slot): Likewise.
47936 (grub_env_get_data_slot): Likewise.
47937 (grub_env_unset_data_slot): Likewise.
47938
47939 * include/grub/env.h (grub_env_var_type): New enum.
47940 (GRUB_ENV_VAR_LOCAL): New constant.
47941 (GRUB_ENV_VAR_GLOBAL): Likewise.
47942 (GRUB_ENV_VAR_DATA): Likewise.
47943 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47944 "type".
47945 (grub_env_set): Replace VAR with NAME for consistency.
47946 (grub_register_variable_hook): Likewise.
47947 (grub_env_export): Specify the name of the argument.
47948 (grub_env_set_data_slot): New prototype.
47949 (grub_env_get_data_slot): Likewise.
47950 (grub_env_unset_data_slot): Likewise.
47951
7f362539 479522006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47953
47954 Extend the loader so that GRUB can accept a loader which comes
47955 back to GRUB when a loaded image exits. Also, this change adds
47956 support for a chainloader on EFI.
f19dbdb7 47957
7f362539 47958 * term/efi/console.c: Include grub/misc.h.
47959 (grub_console_checkkey): Display a scan code on the top for
47960 debugging. This will be removed once the EFI port gets stable.
47961 Correct the scan code mapping.
47962
47963 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47964 allocate memory from larger regions, in order to reduce the number
47965 of allocated regions. Otherwise, the MacOSX loader panics.
47966 (filter_memory_map): Avoid less than 1MB for compatibility with
47967 other loaders.
47968 (add_memory_regions): Allocate from the tail of a region, if
47969 possible, to avoid allocating a region near to 1MB, for the MacOSX
47970 loader.
47971
47972 * kern/efi/init.c (grub_efi_set_prefix): Specify
47973 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47974
47975 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47976 argument IMAGE_HANDLE and specify it to get a loaded image.
47977 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47978 grub_efi_get_loaded_image.
fe6b695a 47979 (grub_efi_get_filename): Divide the length by the size of
7f362539 47980 grub_efi_char16_t.
47981 (grub_efi_get_device_path): New function.
47982 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47983 the length by the size of grub_efi_char16_t for a file path device
47984 path node.
47985
47986 * kern/loader.c (grub_loader_noreturn): New variable.
47987 (grub_loader_set): Accept a new argument NORETURN. Set
47988 GRUB_LOADER_NORETURN to NORETURN.
47989 All callers changed.
47990 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47991 grub_machine_fini.
47992
47993 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47994 prototype.
47995 (grub_efi_get_loaded_image): Take an argument to specify an image
47996 handle.
47997
47998 * include/grub/loader.h (grub_loader_set): Added one more argument
47999 NORETURN.
48000
48001 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48002 instead of grub_efi_open_protocol.
48003 (grub_efidisk_get_device_name): Likewise.
48004 (grub_efidisk_close): Print a newline.
48005 (grub_efidisk_get_device_handle): Fixed to use
48006 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48007 GRUB_EFI_DEVICE_PATH_TYPE.
48008
48009 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48010 * kern/efi/efi.c (device_path_guid): ... here.
48011
48012 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48013 chain.mod.
48014 (kernel_mod_HEADERS): Added efi/disk.h.
48015 (_chain_mod_SOURCES): New variable.
48016 (_chain_mod_CFLAGS): Likewise.
48017 (_chain_mod_LDFLAGS): Likewise.
48018 (chain_mod_SOURCES): Likewise.
48019 (chain_mod_CFLAGS): Likewise.
48020 (chain_mod_LDFLAGS): Likewise.
48021
48022 * DISTLIST: Added include/grub/efi/chainloader.h,
48023 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48024
48025 * include/grub/efi/chainloader.h: New file.
48026 * loader/efi/chainloader.c: Likewise.
48027 * loader/efi/chainloader_normal.c: Likewise.
48028
c0111d6e 480292006-04-30 Marco Gerards <marco@gnu.org>
48030
48031 * commands/configfile.c (grub_cmd_source): New function.
48032 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48033 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48034
df5341da 480352006-04-30 Marco Gerards <marco@gnu.org>
48036
48037 * normal/execute.c (grub_script_execute_cmd): Change the return
48038 type to `grub_err_t'. Correctly return the error.
48039 (grub_script_execute_cmdline): In case a command line is not a
48040 command or a function, try to interpret it as an assignment.
48041
f85934bd 480422006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48043
48044 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48045 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48046 skip a node whose name is obviously invalid as UTF-16,
48047 i.e. contains a NUL character. Stop the iteration when the last
48048 directory entry is found. Instead of using the return value of
48049 grub_hfsplus_btree_iterate_node, store the value in RET and use
48050 it, because the iterator can be stopped by the last directory
48051 entry.
48052
8f8a2cf8 480532006-04-30 Marco Gerards <marco@gnu.org>
48054
48055 * include/grub/env.h (grub_env_export): New prototype. Reported
48056 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48057
a27e84ce 480582006-04-30 Marco Gerards <marco@gnu.org>
48059
48060 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48061 size of the extents in a catalog file record.
48062
eaef0553 480632006-04-29 Marco Gerards <marco@gnu.org>
48064
48065 * commands/configfile.c (grub_cmd_configfile): Execute the
48066 configfile within its own context.
48067
48068 * include/grub/env.h (grub_env_context_open): New prototype.
48069 (grub_env_context_close): Likewise.
48070
48071 * kern/env.c (grub_env): Removed.
48072 (grub_env_sorted): Likewise.
48073 (grub_env_context): New variable.
48074 (grub_env_var_context): Likewise.
48075 (grub_env_find): Search both the active context and the global
48076 context.
48077 (grub_env_context_open): New function.
48078 (grub_env_context_close): Likewise.
48079 (grub_env_insert): Likewise.
48080 (grub_env_remove): Likewise.
48081 (grub_env_export): Likewise.
48082 (grub_env_set): Changed to use helper functions to avoid code
48083 duplication.
48084 (grub_env_iterate): Rewritten so both the current context and the
48085 global context are being used.
48086
48087 * normal/command.c (export_command): New function.
48088 (grub_command_init): Register the `export' function.
48089
7b455f4d 480902006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48091
48092 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48093 explicitly to suppress gcc's warnings.
48094 * fs/fat.c (grub_fat_find_dir): Likewise.
48095 (grub_fat_label): Likewise.
48096 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48097 (grub_xfs_mount): Likewise.
48098 (grub_xfs_label): Likewise.
48099 * fs/affs.c (grub_affs_mount): Likewise.
48100 (grub_affs_label): Likewise.
48101 (grub_affs_iterate_dir): Likewise.
48102 * fs/sfs.c (grub_sfs_mount): Likewise.
48103 (grub_sfs_iterate_dir): Likewise.
48104 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48105 * fs/hfs.c (grub_hfs_mount): Likewise.
48106 (grub_hfs_cmp_catkeys): Likewise.
48107 (grub_hfs_find_dir): Likewise.
48108 (grub_hfs_dir): Likewise.
48109 (grub_hfs_label): Likewise.
48110 * fs/jfs.c (grub_jfs_mount): Likewise.
48111 (grub_jfs_opendir): Likewise.
48112 (grub_jfs_getent): Likewise.
48113 (grub_jfs_lookup_symlink): Likewise.
48114 (grub_jfs_label): Likewise.
48115 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48116 (grub_hfsplus_iterate_dir): Likewise.
48117 (grub_hfsplus_btree_iterate_node): Made static.
48118
48119 * util/grub-emu.c (prefix): New variable.
48120 (grub_machine_set_prefix): New function.
48121 (main): Do not set the environment variable "prefix" here. Only
48122 set PREFIX, which is used later by grub_machine_set_prefix.
48123
48124 * include/grub/video.h: Do not include grub/symbol.h.
48125 (grub_video_register): Not exported. This symbol is not defined in
48126 the kernel.
48127 (grub_video_unregister): Likewise.
48128 (grub_video_iterate): Likewise.
48129 (grub_video_setup): Likewise.
48130 (grub_video_restore): Likewise.
48131 (grub_video_get_info): Likewise.
48132 (grub_video_get_blit_format): Likewise.
48133 (grub_video_set_palette): Likewise.
48134 (grub_video_get_palette): Likewise.
48135 (grub_video_set_viewport): Likewise.
48136 (grub_video_get_viewport): Likewise.
48137 (grub_video_map_color): Likewise.
48138 (grub_video_map_rgb): Likewise.
48139 (grub_video_map_rgba): Likewise.
48140 (grub_video_fill_rect): Likewise.
48141 (grub_video_blit_glyph): Likewise.
48142 (grub_video_blit_bitmap): Likewise.
48143 (grub_video_blit_render_target): Likewise.
48144 (grub_video_scroll): Likewise.
48145 (grub_video_swap_buffers): Likewise.
48146 (grub_video_create_render_target): Likewise.
48147 (grub_video_delete_render_target): Likewise.
48148 (grub_video_set_active_render_target): Likewise.
48149
48150 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48151 Undefined.
48152 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48153
48154 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48155 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48156 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48157 instead of $(srcdir)/genkernsyms.sh.
48158
48159 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48160 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48161 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48162 instead of $(srcdir)/genkernsyms.sh.
48163
48164 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48165 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48166 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48167 instead of $(srcdir)/genkernsyms.sh.
48168
48169 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48170 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48171 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48172 instead of $(srcdir)/genkernsyms.sh.
48173
48174 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48175 genkernsyms.sh.
48176
48177 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48178 genkernsyms.sh.
48179 (gensymlist.sh): New target.
48180 (genkernsyms.sh): Likewise.
48181
48182 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48183 genkernsyms.sh.in and gensymlist.sh.in.
48184
48185 * genkernsyms.sh: Removed.
48186 * gensymlist.sh: Likewise.
f19dbdb7 48187
7b455f4d 48188 * genkernsyms.sh.in: New file.
48189 * gensymlist.sh.in: Likewise.
48190
1885bb27 481912006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48192
48193 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48194 clobber "prefix", since we may have already set it manually.
48195
71538dff 481962006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48197
48198 * kern/misc.c (abort): New alias for grub_abort.
48199
2965c7cc 482002006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48201
48202 A new machine-specific function "grub_machine_set_prefix" is
48203 defined. This is called after loading modules, so that a prefix
48204 initialization can use modules. Also, this change adds an
48205 intensive debugging feature for the memory manager via the
48206 configure option "--enable-mm-debug".
f19dbdb7 48207
2965c7cc 48208 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48209 PART.LEN.
48210
48211 * kern/sparc64/ieee1275/init.c (abort): Removed.
48212 (grub_stop): Likewise.
48213 (grub_exit): New function.
48214 (grub_set_prefix): Renamed to ...
48215 (grub_machine_set_prefix): ... this.
48216 (grub_machine_init): Do not call grub_set_prefix.
48217
48218 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48219 (grub_machine_set_prefix): ... this.
48220 (grub_machine_init): Do not call grub_set_prefix.
48221
48222 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48223 (grub_machine_init): Do not set the prefix here.
48224
48225 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48226
48227 * kern/efi/init.c: Include grub/mm.h.
48228 (grub_efi_set_prefix): New function.
48229
48230 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48231 (grub_efi_get_filename): New function.
48232 (grub_print_device_path): Renamed to ...
48233 (grub_efi_print_device_path): ... this.
48234
48235 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48236 [MM_DEBUG] (grub_realloc): Likewise.
48237 [MM_DEBUG] (grub_free): Likewise.
48238 [MM_DEBUG] (grub_memalign): Likewise.
48239 [MM_DEBUG] (grub_mm_debug): New variable.
48240 [MM_DEBUG] (grub_debug_malloc): New function.
48241 [MM_DEBUG] (grub_debug_free): New function.
48242 [MM_DEBUG] (grub_debug_realloc): New function.
48243 [MM_DEBUG] (grub_debug_memalign): New function.
48244
48245 * kern/misc.c (grub_abort): Print a newline to distinguish
48246 the message.
48247
48248 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48249 grub_set_root_dev after loading modules. This is necessary when
48250 setting a prefix depends on modules.
48251
48252 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48253 (grub_efi_print_device_path): ... this.
48254 (grub_efi_get_filename): New prototype.
48255 (grub_efi_set_prefix): Likewise.
48256
48257 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48258 and grub/disk.h.
48259 (grub_efidisk_get_device_handle): New prototype.
48260 (grub_efidisk_get_device_name): Likewise.
48261
48262 * include/grub/mm.h: Include config.h.
48263 (MM_DEBUG): Removed.
48264 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48265 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48266 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48267 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48268 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48269 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48270 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48271 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48272 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48273
48274 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48275
48276 * disk/efi/efidisk.c: Include grub/partition.h.
48277 (iterate_child_devices): New function.
48278 (add_device): First, compare only last device path nodes, so that
48279 devices are sorted by the types.
48280 (grub_efidisk_get_device_handle): New function.
48281 (grub_efidisk_get_device_name): Likewise.
48282
48283 * configure.ac (--enable-mm-debug): New option to enable the
48284 memory manager debugging feature. This makes the binary much
48285 bigger, so is disabled by default.
48286
9cacaa17 482872006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48288
48289 Use grub_abort instead of grub_stop, and grub_exit must be
48290 define in each architecture now. Also, this change adds support
48291 for EFI disks.
f19dbdb7 48292
9cacaa17 48293 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48294 (grub_getkey): New function.
48295 (grub_term_get_current): Likewise.
48296
48297 * util/i386/pc/grub-setup.c: Include grub/term.h.
48298 (grub_getkey): New function.
48299 (grub_term_get_current): Likewise.
48300
48301 * util/misc.c (grub_stop): Renamed to ...
48302 (grub_exit): ... this.
48303
48304 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48305 (grub_exit): ... this.
48306 (grub_machine_init): Use grub_abort instead of abort.
48307 (grub_stop): Removed.
48308
48309 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48310 abort.
48311
48312 * kern/i386/pc/startup.S (grub_exit): New function.
48313 (cold_reboot): New label.
48314
48315 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48316 (grub_efi_init): Call grub_efidisk_init.
48317 (grub_efi_fini): Call grub_efidisk_fini.
48318
48319 * kern/efi/efi.c: Include grub/mm.h.
48320 (grub_efi_console_control_guid): Renamed to ...
48321 (console_control_guid): ... this.
48322 (grub_efi_loaded_image_guid): Renamed to ...
48323 (loaded_image_guid): ... this.
48324 (grub_efi_locate_handle): New function.
48325 (grub_efi_open_protocol): Likewise.
48326 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48327 GRUB_EFI_CONSOLE_CONTROL_GUID.
48328 (grub_efi_exit): Removed.
48329 (grub_stop): Likewise.
48330 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48331 (grub_exit): New function.
48332 (grub_print_device_path): Likewise.
48333
48334 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48335 (grub_enter_rescue_mode): Register "exit".
48336
48337 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48338 (grub_abort): New function.
48339
48340 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48341
48342 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48343
48344 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48345
48346 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48347 (grub_print_device_path): New prototype.
48348 (grub_efi_locate_handle): Likewise.
48349 (grub_efi_open_protocol): Likewise.
48350
48351 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48352 * disk/efi/efidisk.c: Likewise.
48353
48354 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48355
48356 * include/grub/efi/console_control.h
48357 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48358
48359 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48360 last 8 bytes as an array.
48361 (GRUB_EFI_DISK_IO_GUID): New macro.
48362 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48363 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48364 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48365 grub_uint8_t.
48366 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48367 (struct grub_efi_device_path): Rename the member "sub_type" to
48368 "subtype".
48369 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48370 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48371 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48372 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48373 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48374 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48375 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48376 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48377 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48378 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48379 (struct grub_efi_pci_device_path): New structure.
48380 (grub_efi_pci_device_path_t): New type.
48381 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48382 (struct grub_efi_pccard_device_path): New structure.
48383 (grub_efi_pccard_device_path_t): New type.
48384 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48385 (struct grub_efi_memory_mapped_device_path): New structure.
48386 (grub_efi_memory_mapped_device_path_t): New type.
48387 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48388 (struct grub_efi_vendor_device_path): New structure.
48389 (grub_efi_vendor_device_path_t): New type.
48390 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48391 (struct grub_efi_controller_device_path): New structure.
48392 (grub_efi_controller_device_path_t): New type.
48393 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48394 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48395 (struct grub_efi_acpi_device_path): New structure.
48396 (grub_efi_acpi_device_path_t): New type.
48397 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48398 (struct grub_efi_expanded_acpi_device_path): New structure.
48399 (grub_efi_expanded_acpi_device_path_t): New type.
48400 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48401 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48402 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48403 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48404 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48405 (struct grub_efi_atapi_device_path): New structure.
48406 (grub_efi_atapi_device_path_t): New type.
48407 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48408 (struct grub_efi_fibre_channel_device_path): New structure.
48409 (grub_efi_fibre_channel_device_path_t): New type.
48410 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48411 (struct grub_efi_1394_device_path): New structure.
48412 (grub_efi_1394_device_path_t): New type.
48413 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48414 (struct grub_efi_usb_device_path): New structure.
48415 (grub_efi_usb_device_path_t): New type.
48416 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48417 (struct grub_efi_usb_class_device_path): New structure.
48418 (grub_efi_usb_class_device_path_t): New type.
48419 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48420 (struct grub_efi_i2o_device_path): New structure.
48421 (grub_efi_i2o_device_path_t): New type.
48422 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48423 (struct grub_efi_mac_address_device_path): New structure.
48424 (grub_efi_mac_address_device_path_t): New type.
48425 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48426 (struct grub_efi_ipv4_device_path): New structure.
48427 (grub_efi_ipv4_device_path_t): New type.
48428 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48429 (struct grub_efi_ipv6_device_path): New structure.
48430 (grub_efi_ipv6_device_path_t): New type.
48431 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48432 (struct grub_efi_infiniband_device_path): New structure.
48433 (grub_efi_infiniband_device_path_t): New type.
48434 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48435 (struct grub_efi_uart_device_path): New structure.
48436 (grub_efi_uart_device_path_t): New type.
48437 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48438 (struct grub_efi_vendor_messaging_device_path): New structure.
48439 (grub_efi_vendor_messaging_device_path_t): New type.
48440 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48441 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48442 (struct grub_efi_hard_drive_device_path): New structure.
48443 (grub_efi_hard_drive_device_path_t): New type.
48444 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48445 (struct grub_efi_cdrom_device_path): New structure.
48446 (grub_efi_cdrom_device_path_t): New type.
48447 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48448 (struct grub_efi_vendor_media_device_path): New structure.
48449 (grub_efi_vendor_media_device_path_t): New type.
48450 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48451 (struct grub_efi_file_path_device_path): New structure.
48452 (grub_efi_file_path_device_path_t): New type.
48453 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48454 (struct grub_efi_protocol_device_path): New structure.
48455 (grub_efi_protocol_device_path_t): New type.
48456 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48457 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48458 (struct grub_efi_bios_device_path): New structure.
48459 (grub_efi_bios_device_path_t): New type.
48460 (struct grub_efi_disk_io): New structure.
48461 (grub_efi_disk_io_t): New type.
48462 (struct grub_efi_block_io_media): New structure.
48463 (grub_efi_block_io_media_t): New type.
48464 (struct grub_efi_block_io): New structure.
48465 (grub_efi_block_io_t): New type.
48466
48467 * include/grub/misc.h (grub_stop): Removed.
48468 (grub_exit): New prototype.
48469 (grub_abort): Likewise.
48470
48471 * include/grub/disk.h (enum grub_disk_dev_id): Added
48472 GRUB_DISK_DEVICE_EFIDISK_ID.
48473
48474 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48475 disk/efi/efidisk.c.
48476 (kernel_syms.lst): Remove the target if an error occurs.
48477
49986a9f 484782006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48479
48480 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48481 as it was simply too buggy.
48482
970d3b8a 484832006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48484
48485 * kern/misc.c (grub_lltoa): New function.
48486 (grub_vsprintf): Added support for the long long suffix,
48487 i.e. "ll".
48488
ff04ec24 484892006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48490
48491 * Makefile.in (LDFLAGS): Add variable.
48492 (LD): Remove variable.
48493 * configure.ac: Add -m32 to LDFLAGS.
48494 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48495 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48496 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48497 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48498 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48499 variables.
48500 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48501 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48502 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48503
37e5e1a4 485042006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48505
48506 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48507 length for unknown glyph.
48508
c352d8dd 485092006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48510
2eab1c0d 48511 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48512
2eab1c0d 48513 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48514 completely. Accept one more argument DIR. The caller has changed.
48515
48516 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48517
48518 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48519 (grub_efi_loaded_image_guid): New variable.
48520 (grub_efi_get_loaded_image): New function.
48521 (grub_arch_modules_addr): Likewise.
48522
48523 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48524 prototype.
48525
48526 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48527 (struct grub_efi_loaded_image): New structure.
48528 (grub_efi_loaded_image_t): New type.
48529
485302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48531
c352d8dd 48532 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48533 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48534 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48535
6d01d6b4 485362006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48537
48538 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48539
976a4ea0 485402006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48541
48542 * DISTLIST: Added include/grub/efi/console.h,
48543 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48544 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48545
48546 * include/grub/efi/console.h: New file.
48547 * include/grub/efi/time.h: Likewise.
48548 * include/grub/i386/efi/kernel.h: Likewise.
48549 * kern/efi/init.c: Likewise.
48550 * kern/efi/mm.c: Likewise.
48551 * term/efi/console.c: Likewise.
f19dbdb7 48552
976a4ea0 48553 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48554 (grub_stop): Removed.
48555 (grub_get_rtc): Likewise.
48556 (grub_machine_init): Simply call grub_efi_init.
48557 (grub_machine_fini): Call grub_efi_fini.
48558
48559 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48560 (grub_efi_output_string): Removed.
48561 (grub_efi_stall): New function.
48562 (grub_stop): Likewise.
48563 (grub_get_rtc): Likewise.
48564
48565 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48566 (grub_efi_stall): New prototype.
48567 (grub_efi_allocate_pages): Likewise.
48568 (grub_efi_free_pages): Likewise.
48569 (grub_efi_get_memory_map): Likewise.
48570 (grub_efi_mm_init): Likewise.
48571 (grub_efi_mm_fini): Likewise.
48572 (grub_efi_init): Likewise.
48573 (grub_efi_fini): Likewise.
48574
48575 * include/grub/i386/efi/time.h: Do not include
48576 grub/symbol.h. Include grub/efi/time.h.
48577 (GRUB_TICKS_PER_SECOND): Removed.
48578 (grub_get_rtc): Likewise.
48579
48580 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48581 Added padding. The EFI spec is buggy.
48582 (GRUB_EFI_BLACK): New macro.
48583 (GRUB_EFI_BLUE): Likewise.
48584 (GRUB_EFI_GREEN): Likewise.
48585 (GRUB_EFI_CYAN): Likewise.
48586 (GRUB_EFI_RED): Likewise.
48587 (GRUB_EFI_MAGENTA): Likewise.
48588 (GRUB_EFI_BROWN): Likewise.
48589 (GRUB_EFI_LIGHTGRAY): Likewise.
48590 (GRUB_EFI_BRIGHT): Likewise.
48591 (GRUB_EFI_DARKGRAY): Likewise.
48592 (GRUB_EFI_LIGHTBLUE): Likewise.
48593 (GRUB_EFI_LIGHTGREEN): Likewise.
48594 (GRUB_EFI_LIGHTCYAN): Likewise.
48595 (GRUB_EFI_LIGHTRED): Likewise.
48596 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48597 (GRUB_EFI_YELLOW): Likewise.
48598 (GRUB_EFI_WHITE): Likewise.
48599 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48600 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48601 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48602 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48603 (GRUB_EFI_BACKGROUND_RED): Likewise.
48604 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48605 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48606 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48607 (GRUB_EFI_TEXT_ATTR): Likewise.
48608
48609 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48610 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48611 (kernel_mod_HEADERS): Added efi/time.h.
48612
83709125 486132006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48614
48615 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48616 include/grub/efi/api.h, include/grub/efi/console_control.h,
48617 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48618 include/grub/i386/efi/time.h, kern/efi/efi.c,
48619 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48620 and util/i386/efi/grub-mkimage.c.
48621
48622 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48623
48624 * genmk.rb (PModule#rule): Do not export symbols if
48625 #{prefix}_EXPORTS is set to "no".
48626
48627 * conf/i386-efi.mk: New file.
48628 * conf/i386-efi.rmk: Likewise.
48629 * include/grub/efi/api.h: Likewise.
48630 * include/grub/efi/console_control.h: Likewise.
48631 * include/grub/efi/efi.h: Likewise.
48632 * include/grub/efi/pe32.h: Likewise.
48633 * include/grub/i386/efi/time.h: Likewise.
48634 * kern/efi/efi.c: Likewise.
48635 * kern/i386/efi/init.c: Likewise.
48636 * kern/i386/efi/startup.S: Likewise.
48637 * util/i386/efi/grub-mkimage.c: Likewise.
48638
486392006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48640
48641 * include/grub/script.h: Include <grub/parser.h> and
48642 "grub_script.tab.h".
48643 (struct grub_lexer_param): New struct.
48644 (struct grub_parser_param): Likewise.
48645 (grub_script_create_arglist): Pass the state in an argument.
48646 (grub_script_add_arglist): Likewise.
48647 (grub_script_create_cmdline): Likewise.
48648 (grub_script_create_cmdblock): Likewise.
48649 (grub_script_create_cmdif): Likewise.
48650 (grub_script_create_cmdmenu): Likewise.
48651 (grub_script_add_cmd): Likewise.
48652 (grub_script_arg_add): Likewise.
48653 (grub_script_lexer_ref): Likewise.
48654 (grub_script_lexer_deref): Likewise.
48655 (grub_script_lexer_record_start): Likewise.
48656 (grub_script_lexer_record_stop): Likewise.
48657 (grub_script_mem_record): Likewise.
48658 (grub_script_mem_record_stop): Likewise.
48659 (grub_script_malloc): Likewise.
48660 (grub_script_yylex): Likewise.
48661 (grub_script_yyparse): Likewise.
48662 (grub_script_yyerror): Likewise.
48663 (grub_script_yylex): Likewise.
48664 (grub_script_lexer_init): Return the state.
48665
48666 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48667 (grub_script_lexer_done): Likewise.
48668 (grub_script_lexer_getline): Likewise.
48669 (grub_script_lexer_refs): Likewise.
48670 (script): Likewise.
48671 (newscript): Likewise.
48672 (record): Likewise.
48673 (recording): Likewise.
48674 (recordpos): Likewise.
48675 (recordlen): Likewise.
48676 (grub_script_lexer_init): Return the state instead of setting
48677 global variables.
48678 (grub_script_lexer_ref): Use the newly added argument for state
48679 instead of globals.
48680 (grub_script_lexer_deref): Likewise.
48681 (grub_script_lexer_record_start): Likewise.
48682 (grub_script_lexer_record_stop): Likewise.
48683 (recordchar): Likewise.
48684 (nextchar): Likewise.
48685 (grub_script_yylex2): Likewise.
48686 (grub_script_yylex): Likewise.
48687 (grub_script_yyerror): Likewise.
48688
48689 * normal/parser.y (func_mem): Removed variable.
48690 (menu_entry): Likewise.
48691 (err): Likewise.
48692 (%lex-param): New parser option.
48693 (%parse-param): Likewise.
48694 (script): Always return the AST.
48695 (argument): Pass the state around.
48696 (arguments): Likewise.
48697 (grubcmd): Likewise.
48698 (commands): Likewise.
48699 (function): Likewise.
48700 (menuentry): Likewise.
48701 (if_statement): Likewise.
48702 (if): Likewise.
48703
48704 * normal/script.c (grub_script_memused): Removed variable.
48705 (grub_script_parsed): Likewise.
48706 (grub_script_malloc): Added a state argument. Use that instead of
48707 global variables.
48708 (grub_script_mem_record): Likewise.
48709 (grub_script_mem_record_stop): Likewise.
48710 (grub_script_arg_add): Likewise.
48711 (grub_script_add_arglist): Likewise.
48712 (grub_script_create_cmdline): Likewise.
48713 (grub_script_create_cmdif): Likewise.
48714 (grub_script_create_cmdmenu): Likewise.
48715 (grub_script_add_cmd): Likewise.
48716 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48717
e2a8c904 487182006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48719
48720 * normal/command.c (grub_command_init): Remove the title command.
48721
48722 * normal/lexer.c (grub_script_yylex): Renamed from this...
48723 (grub_script_yylex2): ... to this.
48724 (grub_script_yylex): New function. Temporary
48725 introduced to filter some tokens.
48726 (grub_script_yyerror): Print a newline.
48727
48728 * normal/main.c (read_config_file): Output information about the
48729 lines that contain errors. Wait for a key after all lines have
48730 been processed. Don't return an empty menu.
48731
48732 * normal/parser.y (func_mem): Don't initialize.
48733 (menu_entry): Likewise.
48734 (err): New variable.
48735 (script): Don't return anything when an error was encountered.
48736 (ws, returns): Removed rules.
48737 (argument): Disabled concatenated variable support.
48738 (arguments): Remove explicit separators.
48739 (grubcmd): Likewise.
48740 (function): Likewise.
48741 (menuentry): Likewise.
48742 (if): Likewise.
48743 (commands): Likewise. Add error handling.
48744
48745 * normal/script.c (grub_script_create_cmdline): If
48746 `grub_script_parsed' is 0, assume the parser encountered an error.
48747
c9a86192 487482006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48749
48750 * configure.ac: Add support for EFI. Fix the typo
48751 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48752
70f3b243 487532006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48754
48755 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48756 foreign multibyte characters should be shown correctly.
48757
65f201ad 487582006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48759
48760 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48761 calculation.
48762 (read_config_file): Made it to close file before returning.
48763
b4b93674 487642006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48765
48766 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48767 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48768 video/i386/pc/vbefill.c.
48769
48770 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48771 video/i386/pc/vbefill.c.
48772
48773 * include/grub/video.h (grub_video_blit_format): New enum.
48774 (grub_video_mode_info): Added new member blit_format.
48775 (grub_video_get_blit_format): New function prototype.
48776
48777 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48778 function prototype.
48779 (grub_video_vbe_map_rgb): Likewise.
48780 (grub_video_vbe_unmap_color): Likewise.
48781
48782 * include/grub/i386/pc/vbeblit.h: New file.
48783
48784 * include/grub/i386/pc/vbefill.h: New file.
48785
48786 * video/video.c (grub_video_get_blit_format): New function.
48787 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48788 (grub_video_vbe_map_rgb): Likewise.
48789 (grub_video_vbe_unmap_color): Likewise.
48790
48791 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48792 optimized fills.
48793 (grub_video_vbe_blit_render_target): Changed to use more optimized
48794 blits.
48795 (grub_video_vbe_setup): Added detection for optimized settings.
48796 (grub_video_vbe_create_render_target): Likewise.
48797
48798 * video/i386/pc/vbeblit.c: New file.
48799
48800 * video/i386/pc/vbefill.c: New file.
48801
c2379b9c 488022006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48803
48804 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48805 here...
48806
48807 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48808 parsing to support both hex and dec ranges. If filename was missing
48809 show usage information.
48810
bd0d7896 488112006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48812
48813 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48814 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48815
48816 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48817 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48818 (video_mod_SOURCES): Added.
48819 (video_mod_CFLAGS): Likewise.
48820 (video_mod_LDFLAGS): Likewise.
48821 (gfxterm_mod_SOURCES): Likewise.
48822 (gfxterm_mod_CFLAGS): Likewise.
48823 (gfxterm_mod_LDFLAGS): Likewise.
48824 (videotest_mod_SOURCES): Likewise.
48825 (videotest_mod_CFLAGS): Likewise.
48826 (videotest_mod_LDFLAGS): Likewise.
48827 (vesafb_mod_SOURCES): Removed.
48828 (vesafb_mod_CFLAGS): Likewise.
48829 (vesafb_mod_LDFLAGS): Likewise.
48830 (vga_mod_SOURCES): Likewise.
48831 (vga_mod_CFLAGS): Likewise.
48832 (vga_mod_LDFLAGS): Likewise.
48833
48834 * commands/videotest.c: New file.
48835
48836 * font/manager.c (fill_with_default_glyph): Modified to use
48837 grub_font_glyph.
48838 (grub_font_get_glyph): Likewise.
48839 (fontmanager): Renamed from this...
48840 (font_manager): ... to this.
48841
48842 * include/grub/font.h (grub_font_glyph): Added new structure.
48843 (grub_font_get_glyph): Modified to use grub_font_glyph.
48844
48845 * include/grub/misc.h (grub_abs): Added as inline function.
48846
48847 * include/grub/video.h: New file.
48848
48849 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48850 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48851 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48852 (grub_vbe_get_controller_info): Renamed from this...
48853 (grub_vbe_bios_get_controller_info): ... to this.
48854 (grub_vbe_get_mode_info): Renamed from this...
48855 (grub_vbe_bios_get_mode_info): ... to this.
48856 (grub_vbe_set_mode): Renamed from this...
48857 (grub_vbe_bios_set_mode): ... to this.
48858 (grub_vbe_get_mode): Renamed from this...
48859 (grub_vbe_bios_get_mode): ... to this.
48860 (grub_vbe_set_memory_window): Renamed from this...
48861 (grub_vbe_bios_set_memory_window): ... to this.
48862 (grub_vbe_get_memory_window): Renamed from this...
48863 (grub_vbe_bios_get_memory_window): ... to this.
48864 (grub_vbe_set_scanline_length): Renamed from this...
48865 (grub_vbe_set_scanline_length): ... to this.
48866 (grub_vbe_get_scanline_length): Renamed from this...
48867 (grub_vbe_bios_get_scanline_length): ... to this.
48868 (grub_vbe_set_display_start): Renamed from this...
48869 (grub_vbe_bios_set_display_start): ... to this.
48870 (grub_vbe_get_display_start): Renamed from this...
48871 (grub_vbe_bios_get_display_start): ... to this.
48872 (grub_vbe_set_palette_data): Renamed from this...
48873 (grub_vbe_bios_set_palette_data): ... to this.
48874 (grub_vbe_set_pixel_rgb): Removed.
48875 (grub_vbe_set_pixel_index): Likewise.
48876
48877 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48878 from this...
48879 (grub_vbe_bios_get_controller_info): ... to this.
48880 (grub_vbe_get_mode_info): Renamed from this...
48881 (grub_vbe_bios_get_mode_info): ... to this.
48882 (grub_vbe_set_mode): Renamed from this...
48883 (grub_vbe_bios_set_mode): ... to this.
48884 (grub_vbe_get_mode): Renamed from this...
48885 (grub_vbe_bios_get_mode): ... to this.
48886 (grub_vbe_set_memory_window): Renamed from this...
48887 (grub_vbe_bios_set_memory_window): ... to this.
48888 (grub_vbe_get_memory_window): Renamed from this...
48889 (grub_vbe_bios_get_memory_window): ... to this.
48890 (grub_vbe_set_scanline_length): Renamed from this...
48891 (grub_vbe_set_scanline_length): ... to this.
48892 (grub_vbe_get_scanline_length): Renamed from this...
48893 (grub_vbe_bios_get_scanline_length): ... to this.
48894 (grub_vbe_set_display_start): Renamed from this...
48895 (grub_vbe_bios_set_display_start): ... to this.
48896 (grub_vbe_get_display_start): Renamed from this...
48897 (grub_vbe_bios_get_display_start): ... to this.
48898 (grub_vbe_set_palette_data): Renamed from this...
48899 (grub_vbe_bios_set_palette_data): ... to this.
48900 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48901 getting corrupted after calling it. Added more pushes and pops.
48902 (grub_vbe_bios_set_mode): Likewise.
48903 (grub_vbe_bios_get_mode): Likewise.
48904 (grub_vbe_bios_get_memory_window): Likewise.
48905 (grub_vbe_bios_set_scanline_length): Likewise.
48906 (grub_vbe_bios_get_scanline_length): Likewise.
48907 (grub_vbe_bios_get_display_start): Likewise.
48908 (grub_vbe_bios_set_palette_data): Likewise.
48909
48910 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48911 (cl_insert): Likewise.
48912 (cl_delete): Likewise.
48913
48914 * term/gfxterm.c: New file.
48915
48916 * term/i386/pc/vesafb.c: Removed file.
48917
48918 * video/video.c: New file.
48919
48920 * video/i386/pc/vbe.c (real2pm): Added new function.
48921 (grub_video_vbe_draw_pixel): Likewise.
48922 (grub_video_vbe_get_video_ptr): Likewise.
48923 (grub_video_vbe_get_pixel): Likewise
48924 (grub_video_vbe_init): Likewise.
48925 (grub_video_vbe_fini): Likewise.
48926 (grub_video_vbe_setup): Likewise.
48927 (grub_video_vbe_get_info): Likewise.
48928 (grub_video_vbe_set_palette): Likewise.
48929 (grub_video_vbe_get_palette): Likewise.
48930 (grub_video_vbe_set_viewport): Likewise.
48931 (grub_video_vbe_get_viewport): Likewise.
48932 (grub_video_vbe_map_color): Likewise.
48933 (grub_video_vbe_map_rgb): Likewise.
48934 (grub_video_vbe_map_rgba): Likewise.
48935 (grub_video_vbe_unmap_color): Likewise.
48936 (grub_video_vbe_fill_rect): Likewise.
48937 (grub_video_vbe_blit_glyph): Likewise.
48938 (grub_video_vbe_blit_bitmap): Likewise.
48939 (grub_video_vbe_blit_render_target): Likewise.
48940 (grub_video_vbe_scroll): Likewise.
48941 (grub_video_vbe_swap_buffers): Likewise.
48942 (grub_video_vbe_create_render_target): Likewise.
48943 (grub_video_vbe_delete_render_target): Likewise.
48944 (grub_video_vbe_set_active_render_target): Likewise.
48945 (grub_vbe_set_pixel_rgb): Remove function.
48946 (grub_vbe_set_pixel_index): Likewise.
48947 (index_color_mode): Remove static variable.
48948 (active_mode): Likewise.
48949 (framebuffer): Likewise.
48950 (bytes_per_scan_line): Likewise.
48951 (grub_video_vbe_adapter): Added new static variable.
48952 (framebuffer): Likewise.
48953 (render_target): Likewise.
48954 (initial_mode): Likewise.
48955 (mode_in_use): Likewise.
48956 (mode_list): Likewise.
48957
5f97350b 489582006-03-10 Marco Gerards <marco@gnu.org>
48959
48960 * configure.ac (AC_INIT): Bumped to 1.93.
48961
48962 * DISTLIST: Added `include/grub/hfs.h'.
48963
a3c5c6f8 489642006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48965
48966 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48967 18H, which might help the BIOS falling back to next boot media.
48968
6de53d26 489692006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48970
48971 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48972 Poe Chen <poe.poechen@gmail.com>.
48973
77c4a393 489742006-01-17 Marco Gerards <marco@gnu.org>
48975
48976 * include/grub/normal.h: Include <grub/script.h>.
48977 (grub_command_list): Removed struct.
48978 (grub_command_list_t): Removed type.
48979 (grub_menu_entry): Remove members `num' and `command_list'. Add
48980 members `commands' and `sourcecode'.
48981 * include/grub/script.h: Add inclusion guards.
48982 (grub_script_cmd_menuentry): New struct.
48983 (grub_script_execute_menuentry): New prototype.
48984 (grub_script_lexer_record_start): Likewise.
48985 (grub_script_lexer_record_stop): Likewise.
48986 * normal/execute.c (grub_script_execute_menuentry): New function.
48987 * normal/lexer.c (record, recording, recordpos, recordlen): New
48988 variables.
48989 (grub_script_lexer_record_start): New function.
48990 (grub_script_lexer_record_stop): Likewise.
48991 (recordchar): Likewise.
48992 (nextchar): Likewise.
48993 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48994 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48995 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48996 (current_menu): New variable.
48997 (free_menu): Mainly rewritten.
48998 (grub_normal_menu_addentry): New function.
48999 (read_config_file): Rewritten.
49000 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49001 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49002 the menu entry.
49003 (run): Mainly rewritten.
49004 * normal/parser.y (menu_entry): New variable.
49005 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49006 (menuentry): New rule.
49007 (command): Add `menuentry'.
49008 (if_statement): Allow additional returns before `fi'.
49009 * normal/script.c (grub_script_create_cmdmenu): New function.
49010
144f1f98 490112006-01-03 Marco Gerards <marco@gnu.org>
49012
49013 * INSTALL: GNU Bison is required.
49014 * configure.ac: Rewritten the test to detect Bison.
49015 * Makefile.in (YACC): New variable. Reported by Xun Sun
49016 <xun.sun.cn@gmail.com>.
49017
af4b2d89 490182006-01-03 Marco Gerards <marco@gnu.org>
49019
49020 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49021 the HFS+ filesystem to filesystem blocks.
49022 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49023 GCC warning is silenced.
49024
15643b71 490252006-01-03 Marco Gerards <marco@gnu.org>
49026
49027 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49028 read from disk from big endian to host byte order.
49029
00905879 490302006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49031
49032 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49033 documentation.
49034 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49035 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49036 embedded HFS+ filesystem.
49037 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49038 (grub_hfs_sblock): Move from here...
49039 * include/grub/hfs.h: To here... New file.
49040 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49041 documentation.
49042 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49043 New macros.
49044 (grub_hfsplus_volheader): Change type of member `magic' to
49045 `grub_uint16_t'.
49046 (grub_hfsplus_data): Add new member `embedded_offset'.
49047 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49048 returned block.
49049 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49050 Calculate the offset.
49051
8899bc3e 490522005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49053
49054 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49055 Removed.
49056 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49057
ae8c0277 490582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49059
49060 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49061 ENV->NAME is NULL after allocating ENV->VALUE.
49062
07084456 490632005-12-25 Marco Gerards <marco@gnu.org>
49064
49065 * kern/env.c (grub_env_set): Rewritten the error handling code.
49066
4750f5f1 490672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49068
49069 * geninit.sh: Made more robust, and more portable.
49070
50214199 490712005-12-25 Marco Gerards <marco@gnu.org>
49072
49073 Add support for Apple HFS+ filesystems.
f19dbdb7 49074
50214199 49075 * fs/hfsplus.c: New file.
49076
49077 * DISTLIST: Added `fs/hfsplus.c'.
49078
49079 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49080 (hfsplus_mod_SOURCES): New variable.
49081 (hfsplus_mod_CFLAGS): Likewise.
49082 (hfsplus_mod_LDFLAGS): Likewise.
49083 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49084 (grub_setup_SOURCES): Likewise.
49085 (grub_mkdevicemap_SOURCES): Likewise.
49086 (grub_emu_SOURCES): Likewise.
49087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49088
49089 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49090
49091 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49092
befaed6c 490932005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49094
49095 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49096 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49097 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49098 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49099 normal/lexer.c, normal/parser.y, normal/script.c, and
49100 partmap/gpt.c.
49101 Removed kern/sparc64/cache.c.
49102
49103 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49104 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49105 grub_emu_init.c.
49106
49107 * configure.ac (AC_INIT): Bumped to 1.92.
49108
6a124103 491092005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49110
49111 * kern/err.c (grub_error_push): Added new function to support error
49112 stacks.
49113 (grub_error_pop): Likewise.
49114 (grub_error_stack_items): New local variable to support error stacks.
49115 (grub_error_stack_pos): Likewise.
49116 (grub_error_stack_assert): Likewise.
49117 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49118 stack depth.
49119 (grub_print_error): Added support to print errors from error stack.
49120
49121 * include/grub/err.h (grub_error_push): Added function prototype.
49122 (grub_error_pop): Likewise.
49123
be973c1b 491242005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49125
49126 * configure.ac: Accept `powerpc64' as host_cpu.
49127 (amd64): Rename to `biarch32'.
49128
49129 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49130 non-cacheline-aligned addresses.
49131
49132 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49133 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49134 if `size' is non-zero.
49135
b04216ab 491362005-12-03 Marco Gerards <mgerards@xs4all.nl>
49137
49138 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49139 and `cd' to make sure the filename is not prefixed with a
49140 directory name.
49141 (pkgdata_MODULES): Add `gpt.mod'.
49142 (gpt_mod_SOURCES): New variable.
49143 (gpt_mod_CFLAGS): Likewise.
49144 (gpt_mod_LDFLAGS): Likewise.
49145
49146 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49147
49148 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49149 New macro.
49150
49151 * partmap/gpt.c: New file.
49152
49153 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49154 GPT partition map is detected.
49155
41730ed9 491562005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49157
49158 * commands/i386/pc/play.c: New file.
49159 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49160 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49161 macros.
f19dbdb7 49162
95dc3643 491632005-11-27 Marco Gerards <mgerards@xs4all.nl>
49164
49165 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49166 ((unused))' to silence gcc warning.
49167
1569ec51 491682005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49169
49170 * configure.ac: Correct `AC_PROG_YACC' test.
49171
9abde152 491722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49173
49174 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49175 check before installing files.
49176
44b83271 491772005-11-22 Mike Small <smallm@panix.com>
49178
49179 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49180 number regex so multidigit numbers are recognized correctly.
49181
491822005-11-22 Mike Small <smallm@panix.com>
49183
49184 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49185 debugging message before attempting to claim memory.
49186 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49187 multiple addresses in case of failure.
49188
9c12956b 491892005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49190
49191 * term/tparm.c (get_space): Remove empty `if' statement.
49192
49193 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49194
49195 * kern/parser.c (check_varstate): Rename `state' to 's'.
49196
aeaf81d9 491972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49198
49199 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49200 variable definitions to the beginning of each function. Sort stack
49201 variables by size.
49202 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49203 `buf' argument to `char *'.
49204
79bbb63f 492052005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49206
49207 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49208 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49209 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49210 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49211 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49212 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49213 configfile.mod, search.mod, gzio.mod and test.mod.
49214 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49215 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49216 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49217 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49218 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49219 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49220 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49221 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49222 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49223 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49224 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49225 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49226 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49227 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49228 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49229 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49230 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49231 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49232 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49233 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49234 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49235 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49236 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49237
49238 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49239 `grep --include'.
49240 (pkgdata_MODULES): Add test.mod.
49241
233b1628 492422005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49243
49244 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49245 appending to variables with "+=".
49246 (PModule): Use full pathname to generate *.lst filenames.
49247
49248 * Makefile.in: Fixed list rules moved from genmk.rb.
49249 (.DELETE_ON_ERROR): New special target.
49250 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49251
49252 * conf/i386-pc.rmk: Include conf/common.mk.
49253 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49254 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49255 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49256 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49257 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49258 configfile.mod, search.mod, gzio.mod and test.mod.
49259 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49260 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49261 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49262 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49263 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49264 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49265 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49266 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49267 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49268 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49269 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49270 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49271 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49272 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49273 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49274 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49275 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49276 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49277 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49278 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49279 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49280 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49281 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49282 here...
49283 * conf/common.rmk: ... to here. New file.
49284
49285 * conf/common.mk: New file.
49286
16f820c8 492872005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49288
49289 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49290 (grub_script.tab.c): ... here.
49291
49292 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49293 (grub_script.tab.c): ... here.
49294
49295 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49296 (grub_script.tab.c): ... here.
49297
49298 * normal/command.c (grub_command_find): Fixed a memory leak of
49299 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49300
63ba1554 493012005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49302
49303 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49304 "@" which marks the start of a comment on ARM.
49305 (VARIABLE): Likewise.
49306
7f67dc13 493072005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49308
79bbb63f 49309 Add support for Linux/ADFS partition tables.
7f67dc13 49310
49311 * partmap/acorn.c: New file.
49312
49313 * include/grub/acorn_filecore.h: Likewise.
49314
49315 * DISTLIST: Added `partmap/acorn.c' and
49316 `include/grub/acorn_filecore.h'.
f19dbdb7 49317
7f67dc13 49318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49319 `partmap/acorn.c'.
49320 (pkgdata_MODULES): Add `acorn.mod'.
49321 (acorn_mod_SOURCES): New variable.
49322 (acorn_mod_CFLAGS): Likewise.
49323
49324 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49325 `partmap/acorn.c'.
49326 (pkgdata_MODULES): Add `acorn.mod'.
49327 (acorn_mod_SOURCES): New variable.
49328 (acorn_mod_CFLAGS): Likewise.
49329
49330 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49331 (pkgdata_MODULES): Add `acorn.mod'.
49332 (acorn_mod_SOURCES): New variable.
49333 (acorn_mod_CFLAGS): Likewise.
49334 (acorn_mod_LDFLAGS): Likewise.
49335
49336 * include/types.h (grub_disk_addr_t): New typedef.
49337
6d099807 493382005-11-13 Marco Gerards <mgerards@xs4all.nl>
49339
49340 * geninit.sh: New file.
49341
49342 * geninitheader.sh: Likewise.
49343
49344 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49345 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49346 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49347 * commands/configfile.c (grub_configfile_init)
49348 (grub_configfile_fini): Likewise.
49349 * commands/default.c (grub_default_init, grub_default_fini):
49350 Likewise.
49351 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49352 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49353 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49354 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49355 Likewise.
49356 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49357 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49358 Likewise.
49359 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49360 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49361 Likewise.
49362 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49363 Likewise.
fe6b695a 49364 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49365 Likewise.
49366 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49367 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49368 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49369 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49370 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49371 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49372 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49373 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49374 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49375 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49376 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49377 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49378 * partmap/amiga.c (grub_amiga_partition_map_init)
49379 (grub_amiga_partition_map_fini): Likewise.
49380 * partmap/apple.c (grub_apple_partition_map_init)
49381 (grub_apple_partition_map_fini): Likewise.
49382 * partmap/pc.c (grub_pc_partition_map_init)
49383 (grub_pc_partition_map_fini): Likewise.
49384 * partmap/sun.c (grub_sun_partition_map_init,
49385 grub_sun_partition_map_fini): Likewise.
49386 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49387 Likewise.
49388
49389 * util/grub-emu.c: Include <grub_modules_init.h>.
49390 (main): Don't initialize and de-initialize any modules directly,
49391 use `grub_init_all' and `grub_fini_all' instead.
49392
49393 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49394 `grub_vesafb_mod_init'.
49395 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49396 all users.
49397 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49398 `grub_vga_mod_init'. Updated all users.
49399 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49400
6d099807 49401 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49402 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49403 rules.
49404
49405 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49406 Generate a function to initialize the module in utilities.
49407 Updated all callers.
49408 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49409 initialize the module in utilities. Updated all callers.
49410
9046bcf0 494112005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49412
49413 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49414 escape sequence and a literal ^L to clear the screen.
49415
49416 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49417 when returning from Open Firmware.
49418
d13ea639 494192005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49420
49421 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49422 (grub_ofconsole_height): Likewise.
49423 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49424 manually insert a '\n'.
49425 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49426 `grub_ofconsole_height'. Return early if these are already set.
49427
a8fcf206 494282005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49429
49430 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49431 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49432 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49433 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49434 and `normal/script.c'.
49435 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49436 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49437 (test_mod_SOURCES): New variable.
49438 (test_mod_CFLAGS): Likewise.
49439 (test_mod_LDFLAGS): Likewise.
49440 (pkgdata_MODULES): Add `test.mod'.
49441 (grub_script.tab.c): New rule.
49442 (grub_script.tab.h): Likewise.
49443
b6b32745 494442005-11-07 Marco Gerards <mgerards@xs4all.nl>
49445
49446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49447 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49448 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49449 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49450 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49451 (test_mod_SOURCES): New variable.
49452 (test_mod_CFLAGS): Likewise.
49453 (pkgdata_MODULES): Add `test.mod'.
49454 (grub_script.tab.c): New rule.
49455 (grub_script.tab.h): Likewise.
49456
daac212a 494572005-11-06 Marco Gerards <mgerards@xs4all.nl>
49458
49459 Add initial scripting support.
49460
49461 * commands/test.c: New file.
49462 * include/grub/script.h: Likewise.
49463 * normal/execute.c: Likewise.
49464 * normal/function.c: Likewise.
49465 * normal/lexer.c: Likewise.
49466 * normal/parser.y: Likewise.
49467 * normal/script.c: Likewise.
49468
49469 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49470
daac212a 49471 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49472 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49473 `normal/function.c' and `normal/script.c'.
49474 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49475 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49476 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49477 variables.
daac212a 49478 (pkgdata_MODULES): Add `test.mod'.
49479 (grub_script.tab.c): New rule.
49480 (grub_script.tab.h): Likewise.
49481
49482 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49483
49484 * include/grub/normal.h (grub_test_init): New prototype.
49485 (grub_test_fini): Likewise.
f19dbdb7 49486
daac212a 49487 * normal/command.c: Include <grub/script.h>.
49488 (grub_command_execute): Rewritten.
f19dbdb7 49489
daac212a 49490 * util/grub-emu.c (main): Call `grub_test_init' and
49491 `grub_test_fini'.
49492
77500b2b 494932005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49494
49495 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49496 to 0.
49497 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49498 there are no pending characters.
49499
e45deb9e 495002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49501
49502 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49503 `grub_strndup' to drop device arguments. Replace unnecessary
49504 `grub_strndup' with `grub_strdup'.
49505
4ce32619 495062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49507
49508 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49509 `debug' environment variable has been set.
49510
495112005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49512
4ce32619 49513 * Makefile.in (install-local): Use $(DATA).
49514 (uninstall): Likewise.
49515 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49516 (sbin_UTILITIES): ... to here.
49517 (sbin_SCRIPTS): New variable.
49518 (grub_install_SOURCES): New variable.
49519 * util/powerpc/ieee1275/grub-install.in: New file.
49520 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49521 variable.
49522 (add_segments): Call `grub_util_get_path'.
49523
25fe6f03 495242005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49525
49526 From Timothy Baldwin:
49527 * commands/ls.c (grub_ls_list_files): Close FILE with
49528 grub_file_close.
49529 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49530
04ccf3ec 495312005-10-24 Marco Gerards <mgerards@xs4all.nl>
49532
49533 * include/grub/parser.h: New file.
49534
49535 * kern/parser.c: Likewise.
49536
49537 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49538 (grub_setup_SOURCES): Likewise.
49539 (grub_probefs_SOURCES): Likewise.
49540 (grub_emu_SOURCES): Likewise.
49541 (kernel_img_HEADERS): Add `parser.h'.
49542
49543 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49544 (grub_emu_SOURCES): Add `kern/parser.c'.
49545 (grubof_SOURCES): Likewise.
49546
49547 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49548 (grubof_SOURCES): Add `kern/parser.c'.
49549
49550 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49551
49552 * kern/misc.c (grub_split_cmdline): Removed function.
49553
49554 * kern/rescue.c: Include <grub/parser.h>.
49555 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49556 of `grub_split_cmdline'.
49557
49558 * normal/command.c: Include <grub/parser.h>.
49559 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49560 of `grub_split_cmdline'.
49561
49562 * normal/completion.c: Include <grub/parser.h>.
49563 (cmdline_state): New variable.
49564 (iterate_dir): End the filename with a quote depending on the
49565 command line state.
49566 (get_state): new function.
49567 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49568 split the arguments and determine the current argument. When the
49569 argument string is not quoted, escape all spaces.
49570
6d8f4b0e 495712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49572
49573 * normal/sparc64/setjmp.S: New file.
49574
15cf03ed 495752005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49576
49577 * include/grub/sparc64/libgcc.h: New file.
49578 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49579 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49580 normal/sparc64/setjmp.c.
49581
03e8661a 495822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49583
49584 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49585 * kern/sparc64/cache.S: New file.
49586 * kern/sparc64/cache.c: Removed.
49587 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49588 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49589 -mtune=ultrasparc.
49590 (COMMON_LDFLAGS): Add -melf64_sparc.
49591 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49592 (grubof_SOURCES): Use cache.S instead of cache.c.
49593 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49594 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49595 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49596 commented though.
49597 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49598 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49599 (linux_mod_CFLAGS): Commented out.
49600 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49601 out because module isn't built.
49602 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49603 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49604 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49605 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49606 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49607 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49608 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49609 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49610 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49611 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49612 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49613 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49614 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49615 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49616
34eeec8a 496172005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49618
49619 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49620 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49621 longer, because HFS should not be used on PC.
49622
708367a3 496232005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49624
49625 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49626 consistently within the loop.
49627
6fa1251a 496282005-10-15 Marco Gerards <mgerards@xs4all.nl>
49629
49630 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49631 directory can not be read.
49632
4801580b 496332005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49634
49635 * configure.ac (AC_INIT): Increase the version number to 1.91.
49636
49637 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49638 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49639 term/i386/pc/serial.c.
49640
219ad426 496412005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49642
49643 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49644 file size must be permitted.
49645
49646 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49647 between %ah and %al.
49648
688e5699 496492005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49650
49651 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49652 grub_uint64_t.
49653 Call the hook with a NUL-terminated filename.
49654 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49655 grub_cpu_to_be32.
49656
49657 * kern/term.c (cursor_state): New variable.
49658 (grub_term_set_current): Reset the cursor state on a new
49659 terminal.
49660 (grub_setcursor): Rewritten to use CURSOR_STATE.
49661 (grub_getcursor): New function.
49662
49663 * include/grub/term.h (grub_getcursor): New prototype.
49664
49665 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49666 integers on ARM. Reported by Timothy Baldwin
49667 <T.E.Baldwin99@members.leeds.ac.uk>.
49668
bb34586c 496692005-10-11 Marco Gerards <mgerards@xs4all.nl>
49670
49671 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49672 allocated.
49673 (grub_sfs_dir): Likewise.
49674
9a909877 496752005-10-09 Marco Gerards <mgerards@xs4all.nl>
49676
49677 Add support for the SFS filesystem.
49678
49679 * fs/sfs.c: New file.
49680
49681 * DISTLIST: Added `fs/sfs.c'.
49682
49683 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49684 (grub_probefs_SOURCES): Likewise.
49685 (grub_emu_SOURCES): Likewise.
49686 (pkgdata_MODULES): Add `sfs.mod'.
49687 (sfs_mod_SOURCES): New variable.
49688 (sfs_mod_CFLAGS): Likewise.
49689 (sfs_mod_LDFLAGS): Likewise.
49690
49691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49692 (pkgdata_MODULES): Add `sfs.mod'.
49693 (sfs_mod_SOURCES): New variable.
49694 (sfs_mod_CFLAGS): Likewise.
49695
49696 * util/grub-emu.c (main): Call `grub_sfs_init' and
49697 `grub_sfs_fini'.
49698
49699 * include/grub/fs.h (grub_sfs_init): New prototype.
49700 (grub_sfs_fini): Likewise.
49701
57bdbde3 497022005-10-07 Marco Gerards <mgerards@xs4all.nl>
49703
49704 Add support for the AFFS filesystem.
49705
49706 * fs/affs.c: New file.
49707
49708 * DISTLIST: Added `fs/affs.c'.
49709
49710 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49711 (grub_probefs_SOURCES): Likewise.
49712 (grub_emu_SOURCES): Likewise.
49713 (pkgdata_MODULES): Add `affs.mod'.
49714 (affs_mod_SOURCES): New variable.
49715 (affs_mod_CFLAGS): Likewise.
49716 (affs_mod_LDFLAGS): Likewise.
49717
49718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49719 (pkgdata_MODULES): Add `affs.mod'.
49720 (affs_mod_SOURCES): New variable.
49721 (affs_mod_CFLAGS): Likewise.
49722
49723 * util/grub-emu.c (main): Call `grub_affs_init' and
49724 `grub_affs_fini'.
49725
49726 * include/grub/fs.h (grub_affs_init): New prototype.
49727 (grub_affs_fini): Likewise.
49728
047b67e0 497292005-10-01 Marco Gerards <mgerards@xs4all.nl>
49730
49731 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49732
59b8208a 497332005-10-01 Marco Gerards <mgerards@xs4all.nl>
49734
49735 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49736 `-m32' to CFLAGS.
49737
49738 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49739 linking.
f19dbdb7 49740
59b8208a 49741 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49742 (COMMON_LDFLAGS): New variable.
49743 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49744 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49745 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49746 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49747 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49748 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49749 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49750 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49751 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49752 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49753 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49754 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49755 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49756 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49757 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49758 variables.
49759 (normal_mod_ASFLAGS): Add `-m32'.
49760
49761 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49762 (grub_host_size_t, grub_host_ssize_t): New types.
49763 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49764 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49765 `GRUB_HOST_SIZEOF_VOID_P'.
49766
49767 * include/grub/kernel.h (struct grub_module_header): Type of
49768 member offset changed to `grub_host_off_t'. Type of member size
49769 changed to `grub_host_size_t'.
49770 (struct grub_module_info): Type of member offset changed to
49771 `grub_host_off_t'. Type of member size changed to
49772 `grub_host_size_t'.
49773
b4093103 497742005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49775
49776 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49777
b4093103 49778 * kern/i386/pc/startup.S (multiboot_header): New label.
49779 (multiboot_entry): Likewise.
49780 (multiboot_trampoline): Likewise.
49781
49782 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49783 Increased to 0x4A0.
49784
49785 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49786 put parentheses after a question mark.
49787 [!GRUB_UTIL] (my_mod): New variable.
49788
49789 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49790
b2499b29 497912005-09-28 Marco Gerards <mgerards@xs4all.nl>
49792
49793 Adds support for the XFS filesystem. Btrees are not supported
49794 yet.
49795
49796 * fs/xfs.c: New file.
49797
49798 * DISTLIST: Added `fs/xfs.c'.
49799
49800 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49801 (grub_probefs_SOURCES): Likewise.
49802 (grub_emu_SOURCES): Likewise.
49803 (pkgdata_MODULES): Add `xfs.mod'.
49804 (xfs_mod_SOURCES): New variable.
49805 (xfs_mod_CFLAGS): Likewise.
49806
49807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49808 (pkgdata_MODULES): Add `xfs.mod'.
49809 (xfs_mod_SOURCES): New variable.
49810 (xfs_mod_CFLAGS): Likewise.
49811
49812 * util/grub-emu.c (main): Call `grub_xfs_init' and
49813 `grub_xfs_fini'.
49814
49815 * include/grub/fs.h (grub_xfs_init): New prototype.
49816 (grub_xfs_fini): Likewise.
49817
f19dbdb7 49818
83d37a62 498192005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49820
49821 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49822 color modes, allow greater than 16 colors to be configured as
49823 a default palette.
49824
47d2d65e 498252005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49826
49827 * normal/completion.c (complete_arguments): Add the qualifier
49828 const into OPTIONS.
49829
49830 From Omniflux <omniflux+lists@omniflux.com>:
49831 * include/grub/terminfo.h: New file.
49832 * include/grub/tparm.h: Likewise.
49833 * include/grub/i386/pc/serial.h: Likewise.
49834 * term/terminfo.c: Likewise.
49835 * term/tparm.c: Likewise.
49836 * term/i386/pc/serial.c: Likewise.
49837 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49838 serial.mod.
49839 (terminfo_mod_SOURCES): New variable.
49840 (terminfo_mod_CFLAGS): Likewise.
49841 (serial_mod_SOURCES): Likewise.
49842 (serial_mod_CFLAGS): Likewise.
49843
48b671ff 498442005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49845
49846 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49847 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49848 and kern/powerpc/ieee1275/cmain.c, respectively.
49849
49850 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49851 * kern/powerpc/ieee1275/crt0.S: ... here.
49852
49853 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49854 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49855
48b671ff 49856 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49857 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49858 instead of boot/powerpc/ieee1275/crt0.S and
49859 boot/powerpc/ieee1275/cmain.c, respectively.
49860
49861 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49862 sectors. It was not used anyway.
49863
09fc77a7 498642005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49865
49866 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49867 `unused parameter' warning.
49868
003789c7 498692005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49870
49871 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49872 function.
49873 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49874 getcharwidth.
49875
67f44c86 498762005-08-28 Marco Gerards <metgerards@student.han.nl>
49877
49878 * include/grub/normal.h (enum grub_completion_type): Added
49879 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49880
49881 * normal/cmdline.c (print_completion): Handle
49882 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49883 * normal/menu_entry.c (store_completion): Likewise.
49884
49885 * normal/completion.c (complete_arguments): New function.
49886 (grub_normal_do_completion): Call `complete_arguments' when the
49887 current words start with a dash.
49888
0b5abe02 498892005-08-27 Marco Gerards <metgerards@student.han.nl>
49890
49891 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49892 `gzio.mod' instead of `io.mod').
49893
d9864ee1 498942005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49895
49896 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49897 (DISTDIRS): Added io and video.
49898 Rewrite the search routine to make an output consistently.
49899
49900 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49901 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49902 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49903 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49904 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49905 util/powerpc/ieee1275/misc.c.
f19dbdb7 49906
d9864ee1 49907 * include/grub/gzio.h: New file.
49908 * io/gzio.c: Likewise.
f19dbdb7 49909
d9864ee1 49910 * kern/file.c (grub_file_close): Call grub_device_close only if
49911 FILE->DEVICE is not NULL.
49912
49913 * include/grub/mm.h [!NULL] (NULL): New macro.
49914
49915 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49916
49917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49918 (pkgdata_MODULES): Added gzio.mod.
49919 (gzio_mod_SOURCES): New variable.
49920 (gzio_mod_CFLAGS): Likewise.
49921
49922 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49923 (pkgdata_MODULES): Added gzio.mod.
49924 (gzio_mod_SOURCES): New variable.
49925 (gzio_mod_CFLAGS): Likewise.
49926
49927 * commands/cat.c: Include grub/gzio.h.
49928 (grub_cmd_cat): Use grub_gzfile_open instead of
49929 grub_file_open.
f19dbdb7 49930
d9864ee1 49931 * commands/cmp.c: Include grub/gzio.h.
49932 (grub_cmd_cmp): Use grub_gzfile_open instead of
49933 grub_file_open.
49934
49935 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49936 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49937 grub_file_open.
49938 (grub_rescue_cmd_module): Likewise.
49939
fa46f4b5 499402005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49941
49942 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49943 kern/sparc64/ieee1275/init.c because it contains _start.
49944 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49945
e9211b5d 499462005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49947
49948 * configure.ac: Add support for sparc64 host with ieee1275
49949 firmware.
49950 * configure: Generated from configure.ac.
49951 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49952 instead of int.
49953 (grub_ofdisk_read): Likewise.
49954 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49955 pointers as (void *) to remove a warning.
49956 (grub_ofdisk_close): Likewise.
49957 (grub_ofdisk_read): Likewise.
49958 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49959 returns, so make it return void to remove a warning.
49960 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49961 Corresponding prototype change.
49962 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49963 values, and cast the pointers as (void *) to remove a warning.
49964 (grub_mm_dump): Likewise.
49965 * conf/sparc64-ieee1275.mk: New file.
49966 * conf/sparc64-ieee1275.rmk: Likewise.
49967 * include/grub/sparc64/setjmp.h: Likewise.
49968 * include/grub/sparc64/types.h: Likewise.
49969 * include/grub/sparc64/ieee1275/console.h: Likewise.
49970 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49971 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49972 * include/grub/sparc64/ieee1275/time.h: Likewise.
49973 * kern/sparc64/cache.c: Likewise.
49974 * kern/sparc64/dl.c: Likewise.
49975 * kern/sparc64/ieee1275/init.c: Likewise.
49976 * kern/sparc64/ieee1275/openfw.c: Likewise.
49977
385c6a92 499782005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49979
49980 * util/console.c (grub_ncurses_putchar): If C is greater than
49981 0x7f, set C to a question mark.
49982 (grub_ncurses_getcharwidth): New function.
49983 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49984 getcharwidth.
49985
49986 * normal/menu.c (print_entry): Made aware of Unicode. First,
49987 convert TITLE to UCS-4, and predict the cursor position by
49988 grub_getcharwidth.
49989
49990 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49991 const to SRC.
49992 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49993
16ccb8b1 499942005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49995
49996 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49997 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49998 grub_strcat.
49999
50000 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50001 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50002 grub_strcpy and grub_strlen. Take it into account that a space
50003 character is inserted as a delimiter.
50004
6a85ce79 500052005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50006
50007 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50008 invalid magic in the error.
6a85ce79 50009
50010 * commands/search.c: New file.
f19dbdb7 50011
6a85ce79 50012 * util/grub-emu.c (main): Call grub_search_init and
50013 grub_search_fini.
50014
50015 * kern/rescue.c (grub_rescue_print_disks): Removed.
50016 (grub_rescue_print_devices): New function.
50017 (grub_rescue_cmd_ls): Use grub_device_iterate with
50018 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50019 grub_rescue_print_disks.
50020
50021 * kern/partition.c (grub_partition_iterate): Return the result of
50022 PARTMAP->ITERATE instead of GRUB_ERRNO.
50023
50024 * kern/device.c: Include grub/partition.h.
50025 (grub_device_iterate): New function.
50026
50027 * include/grub/partition.h (grub_partition_iterate): Return int
50028 instead of grub_err_t.
50029
50030 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50031 prototype.
50032 [GRUB_UTIL] (grub_search_fini): Likewise.
50033
50034 * include/grub/device.h (grub_device_iterate): New prototype.
50035
50036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50037 commands/search.c.
50038 (pkgdata_MODULES): Added search.mod.
50039 (search_mod_SOURCES): New variable.
50040 (search_mod_CFLAGS): Likewise.
50041
50042 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50043 (pkgdata_MODULES): Added search.mod.
50044 (search_mod_SOURCES): New variable.
50045 (search_mod_CFLAGS): Likewise.
50046
50047 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50048 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50049 All callers changed.
50050
50051 * DISTLIST: Added commands/search.c.
50052
ef095434 500532005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50054
50055 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50056 conversion.
50057 (grub_getcharwidth): New function.
50058
50059 * kern/misc.c (grub_utf8_to_ucs4): New function.
50060
50061 * include/grub/term.h (struct grub_term): Added a new member
50062 "getcharwidth".
50063 (grub_getcharwidth): New prototype.
50064
50065 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50066
50067 * term/i386/pc/console.c (map_char): New function. Segregated from
50068 grub_console_putchar.
50069 (grub_console_putchar): Use map_char.
50070 (grub_console_getcharwidth): New function.
50071 (grub_console_term): Specified grub_console_getcharwidth as
50072 getcharwidth.
50073
50074 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50075 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50076
50077 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50078 GRUB_ERRNO.
50079 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50080 on grub_strtoul completely.
50081 (write_char): Declare local variables in the beginning of the
50082 function.
50083 (grub_vesafb_getcharwidth): New function.
50084 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50085 getcharwidth.
50086
1f0a95e4 500872005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50088
50089 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50090 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50091 commands/i386/pc/vbetest.c.
50092
50093 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50094 call grub_vbe_get_controller_info again, because the returned
50095 information is volatile.
50096 (grub_vbe_set_video_mode): Mostly rewritten.
50097 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50098 grub_vbe_status_t correctly.
50099 (grub_vbe_get_video_mode_info): Likewise.
50100 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50101 several if statements.
50102
50103 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50104 * commands/i386/pc/vbeinfo.c: ... this.
50105
50106 * commands/i386/pc/vbe_test.c: Renamed to ...
50107 * commands/i386/pc/vbetest.c: ... this.
50108
50109 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50110 ...
50111 (grub_cmd_vbeinfo): ... this. Save video modes before
50112 iterating. Skip a video mode, if it is not available, not enough
50113 information is given or it is monochrome. Show the memory
50114 model. Leave the interpretation of MODEVAR to grub_strtoul
50115 completely.
50116 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50117 (GRUB_MOD_FINI): Likewise.
50118
50119 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50120 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50121 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50122 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50123 grub_strtoul completely.
50124 (real2pm): Removed.
50125 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50126 (GRUB_MOD_FINI): Likewise.
50127
50128 * normal/misc.c: Include grub/mm.h.
50129
50130 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50131 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50132 (vbe_list_modes_mod_SOURCES): Removed.
50133 (vbe_list_modes_mod_CFLAGS): Likewise.
50134 (vbe_test_mod_SOURCES): Likewise.
50135 (vbe_test_mod_CFLAGS): Likewise.
50136 (vbeinfo_mod_SOURCES): New variable.
50137 (vbeinfo_mod_CFLAGS): Likewise.
50138 (vbetest_mod_SOURCES): Likewise.
50139 (vbetest_mod_CFLAGS): Likewise.
50140
992ffbbe 501412005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50142
50143 * normal/misc.c: New file.
50144
50145 * DISTLIST: Added normal/misc.c.
f19dbdb7 50146
992ffbbe 50147 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50148 DISK to HOOK. Call HOOK with DISK.
50149 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50150 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50151 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50152
50153 * normal/menu_entry.c (struct screen): Added a new member
50154 "completion_shown".
50155 (completion_buffer): New global variable.
50156 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50157 (store_completion): New function.
50158 (complete): Likewise.
50159 (clear_completions): Likewise.
50160 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50161 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50162 a tab, call complete.
50163
50164 * normal/completion.c (disk_dev): Removed.
50165 (print_simple_completion): Likewise.
50166 (print_partition_completion): Likewise.
50167 (print_func): New global variable.
50168 (add_completion): Do not take the arguments WHAT or PRINT any
50169 longer. Added a new argument TYPE. Instead of printing directly,
50170 call PRINT_FUNC if not NULL.
50171 All callers changed.
50172 (complete_device): Use a local variable DEV instead of
50173 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50174 (grub_normal_do_completion): Take a new argument HOOK. Do not
50175 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50176 empty string, return NULL instead.
50177 All callers changed.
50178
50179 * normal/cmdline.c (print_completion): New function.
50180
50181 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50182 to HOOK.
50183 All callers changed.
50184
50185 * kern/disk.c (grub_print_partinfo): Removed.
50186
50187 * include/grub/partition.h (struct grub_partition_map): Add a new
50188 argument DISK into HOOK of ITERATE.
50189 (grub_partition_iterate): Add a new argument DISK to HOOK.
50190
50191 * include/grub/normal.h (enum grub_completion_type): New enum.
50192 (grub_completion_type_t): New type.
50193 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50194 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50195 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50196 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50197 (grub_normal_do_completion): Added a new argument HOOK.
50198 (grub_normal_print_device_info): New prototype.
50199
50200 * include/grub/disk.h (grub_print_partinfo): Removed.
50201
50202 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50203 (normal_mod_SOURCES): Likewise.
50204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50205 (normal_mod_SOURCES): Likewise.
50206
50207 * commands/ls.c (grub_ls_list_disks): Use
50208 grub_normal_print_device_info instead of grub_print_partinfo. Free
50209 PNAME.
50210 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50211 duplicating the code.
50212
0bd41162 502132005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50214
50215 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50216 follow GCS more precisely.
50217 * commands/i386/pc/vbe_test.c: Likewise.
50218 * include/grub/i386/pc/vbe.h: Likewise.
50219 * term/i386/pc/vesafb.c: Likewise.
50220 * video/i386/pc/vbe.c: Likewise.
0bd41162 50221
6323696a 502222005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50223
50224 * DISTLIST: Added term/i386/pc/vesafb.c
50225 DISTLIST: Added video/i386/pc/vbe.c
50226 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50227 DISTLIST: Added commands/i386/pc/vbe_test.c.
50228 * commands/i386/pc/vbe_list_modes.c: New file.
50229 * commands/i386/pc/vbe_test.c: Likewise.
50230 * term/i386/pc/vesafb.c: Likewise.
50231 * video/i386/pc/vbe.c: Likewise.
50232 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50233 (grub_vbe_probe) Added prototype.
50234 (grub_vbe_set_video_mode) Likewise.
50235 (grub_vbe_get_video_mode) Likewise.
50236 (grub_vbe_get_video_mode_info) Likewise.
50237 (grub_vbe_set_pixel_rgb) Likewise.
50238 (grub_vbe_set_pixel_index) Likewise.
50239 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50240 (pkgdata_MODULES): Added vesafb.mod.
50241 (pkgdata_MODULES): Added vbe_list_modes.mod.
50242 (pkgdata_MODULES): Added vbe_test.mod.
50243 (vbe_mod_SOURCES): Added.
50244 (vbe_mod_CFLAGS): Likewise.
50245 (vesafb_mod_SOURCES): Likewise.
50246 (vesafb_mod_CFLAGS): Likewise.
50247 (vbe_list_modes_mod_SOURCES): Likewise.
50248 (vbe_list_modes_mod_CFLAGS): Likewise.
50249 (vbe_test_mod_SOURCES): Likewise.
50250 (vbe_test_mod_CFLAGS): Likewise.
50251
0a74e62f 502522005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50253
0a74e62f 50254 * normal/command.c (grub_command_execute): If INTERACTIVE is
50255 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50256 CMDLINE. Disable the pager if INTERACTIVE is true.
50257 All callers are changed.
50258
50259 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50260 before reading a config file.
50261 * normal/main.c (read_config_file): Even if a command is not
50262 found, register it if it is within an entry.
50263
50264 * util/grub-emu.c: Include sys/types.h and unistd.h.
50265 (options): Added --hold.
50266 (struct arguments): Added a new member "hold".
50267 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50268 missing.
50269 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50270 cleared by a debugger, if it is not zero.
50271
50272 * include/grub/normal.h (grub_command_execute): Add an argument
50273 INTERACTIVE.
50274
e51f85ae 502752005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50276
50277 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50278
e9c6f39b 502792005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50280
50281 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50282 program with another one, because the old one didn't detect a bug
50283 in gcc-3.4. Always use regparm 2, because the new test is still
50284 not enough for gcc-4.0. Someone must investigate a simple test
50285 case which detects a bug in gcc-4.0.
50286
8de3495c 502872005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50288
50289 * DISTLIST: Added normal/completion.c.
50290
50291 * normal/completion.c: New file.
f19dbdb7 50292
8de3495c 50293 * term/i386/pc/console.c (grub_console_getwh): New function.
50294 (grub_console_term): Assign grub_console_getwh to getwh.
50295
50296 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50297 function is defined in normal/completion.c as
50298 grub_normal_do_completion.
50299 (grub_cmdline_get): Use grub_normal_do_completion instead of
50300 grub_tab_complete.
50301
50302 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50303 returns non-zero, otherwise return 0.
50304 (grub_partition_iterate): First, probe the partition map. Then,
50305 call ITERATE only for this partition map.
50306
50307 * kern/misc.c (grub_strncmp): Rewritten.
50308
50309 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50310 returns non-zero. Otherwise return 0.
50311
50312 * include/grub/partition.h (grub_partition_map_iterate): Return
50313 int instead of void.
50314
50315 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50316
50317 * include/grub/misc.h (grub_strncmp): Change the type of N to
50318 grub_size_t.
50319
50320 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50321 of void.
50322
50323 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50324 unsigned explicitly before comparing it with I.
8de3495c 50325
50326 * kern/main.c (grub_env_write_root): Add the attribute unused into
50327 VAR.
50328
50329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50330 normal/completion.c.
50331 (normal_mod_SOURCES): Likewise.
50332 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50333 (normal_mod_SOURCES): Likewise.
50334
50335 * normal/command.c (grub_iterate_commands): If ITERATE returns
50336 non-zero, return one immediately.
50337
e85e144b 503382005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50339
50340 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50341 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50342 descriptions.
50343 (grub_vbe_get_controller_info): New function.
50344 (grub_vbe_get_mode_info): Likewise.
50345 (grub_vbe_set_mode): Likewise.
50346 (grub_vbe_get_mode): Likewise.
50347 (grub_vbe_set_memory_window): Likewise.
50348 (grub_vbe_get_memory_window): Likewise.
50349 (grub_vbe_set_scanline_length): Likewise.
50350 (grub_vbe_get_scanline_length): Likewise.
50351 (grub_vbe_set_display_start): Likewise.
50352 (grub_vbe_get_display_start): Likewise.
50353 (grub_vbe_set_palette_data): Likewise.
50354 * include/grub/i386/pc/vbe.h: New file.
50355
c46153d2 503562005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50357
50358 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50359 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50360 * DISTLIST: Likewise.
50361 * kern/ieee1275/of.c: Moved to ...
50362 * kern/ieee1275/ieee1275.c: ... here.
50363
0cb90c45 503642005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50365
50366 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50367 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50368 Pass 0 as `end' parameter to grub_strtoul().
50369
a19fb360 503702005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50371
50372 * include/grub/powerpc/ieee1275/console.h: Do not include
50373 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50374 ifdef.
50375 (grub_console_cur_color): Remove i386-specific prototype.
50376 (grub_console_real_putchar): Likewise.
50377 (grub_console_checkkey): Likewise.
50378 (grub_console_getkey): Likewise.
50379 (grub_console_getxy): Likewise.
50380 (grub_console_gotoxy): Likewise.
50381 (grub_console_cls): Likewise.
50382 (grub_console_setcursor): Likewise.
50383 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50384 Include <grub/machine/console.h>.
50385 * term/ieee1275/ofconsole.c: Likewise.
50386
4ac9bd04 503872005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50388
50389 * Makefile.in (LIBLZO): New variable.
50390
50391 * configure.ac: Check for LZO version 2.
50392
50393 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50394 lzo/lzo1x.h instead of lzo1x.h.
50395
50396 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50397 of -llzo.
50398
50399 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50400 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50401
50402 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50403 copying the data from PARTITION to P.
50404
f4917dfd 504052005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50406
50407 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50408 negative, unload the module.
50409
50410 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50411 map is "pc_partition_map" but not "pc".
50412 (usage): Fix the description. The options are --boot-image and
50413 --core-image but not --boot-file or --core-file.
50414 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50415 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50416 DEFAULT_DIRECTORY.
50417
50418 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50419 --core-file. Specify INSTALL_DEVICE as an argument.
50420
50421 * util/console.c: Include config.h.
50422 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50423 [HAVE_NCURSES_H]: Include ncurses.h.
50424 [HAVE_CURSES_H]: Include curses.h.
50425 [!A_NORMAL] (A_NORMAL): Defined as zero.
50426 [!A_STANDOUT] (A_STANDOUT): Likewise.
50427
50428 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50429 -lncurses.
50430 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50431
50432 * configure.ac: Check for curses libraries and headers.
50433
50434 * Makefile.in (LIBCURSES): New variable.
50435
50436 * genmk.rb (Script::rule): Set the executable bits.
50437
50438 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50439 name of the PC partition map is "pc_partition_map" but not "pc".
50440
0e143073 504412005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50442
50443 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50444 (modules): Likewise.
50445 (usage): Added descriptions for --modules and --grub-probefs.
50446 Handle --modules and --grub-probefs. Save the arguments in MODULES
50447 and GRUB_PROBEFS, respectively.
50448 Auto-detect a filesystem module against GRUBDIR. If the result is
50449 empty and modules are not specified explicitly, abort the
50450 installation. Add the result to MODULES.
50451
50452 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50453 disk/powerpc/ieee1275/ofdisk.c,
50454 include/grub/powerpc/ieee1275/init.h and
50455 term/powerpc/ieee1275/ofconsole.c.
50456 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50457 term/ieee1275/ofconsole.c.
50458
50459 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50460
50461 * COPYING: Upgraded to the latest version. Only the address of the
50462 FSF office has changed.
f19dbdb7 50463
efd6e6d5 504642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50465
50466 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50467 kern/ieee1275.c with kern/ieee1275/of.c.
50468
50469 * kern/ieee1275.c: Moved to ...
50470 * kern/ieee1275/of.c: ... here.
50471
8ceafda2 504722005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50473
50474 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50475 readability.
8ceafda2 50476
50477 * config.guess: Updated to the latest version from gnulib.
50478 * config.sub: Likewise.
50479 * install.sh: Likewise.
50480 * mkinstalldirs: Likewise.
50481
50482 * include/grub/console.h: Removed. This file is arch-specific. Do
50483 not put this in include/grub.
50484
50485 * include/grub/i386/pc/console.h: Resurrected.
50486
50487 * util/console.c: Include grub/machine/console.h instead of
50488 grub/console.h.
50489 * util/grub-emu.c: Likewise.
50490
267f6cd9 504912005-08-04 Marco Gerards <metgerards@student.han.nl>
50492
50493 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50494 hardcoded value.
f19dbdb7 50495
267f6cd9 50496 From Vincent Pelletier <subdino2004@yahoo.fr>
50497 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50498 Redefined to use grub_getwh.
50499 (grub_term): New member named getwh.
50500 (grub_getwh): New prototype.
50501 * kern/term.c (grub_getwh): New function.
50502 * term/i386/pc/console.c (grub_console_getwh): New function.
50503 (grub_console_term): New member `getwh'.
50504 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50505 (grub_vga_term): New member `getwh'.
0b5abe02 50506 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50507 grub_ssize_t.
50508 (grub_ofconsole_getw): New function.
50509 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50510 (grub_ofconsole_term): New field named getwh and new initial
50511 value.
50512
3be7266d 505132005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50514
50515 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50516 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50517 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50518 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50519 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50520 of <grub/machine/ieee1275.h>.
50521 * commands/ieee1275/reboot.c: Likewise.
50522 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50523 * kern/ieee1275.c: ... to here. All users updated. Change all
50524 parameter structs to use new type `grub_ieee1275_cell_t'.
50525 * term/powerpc/ieee1275/ofconsole.c: Move ...
50526 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50527 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50528 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50529 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50530 to return int.
50531 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50532 Remove unused prototypes. All users updated.
50533 * include/grub/powerpc/ieee1275/console.h: Removed.
50534 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50535 `grub_ieee1275_cell_t'.
50536 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50537 Cast comparisons with -1 to the correct type.
50538 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50539 type to match `grub_ieee1275_entry_fn'.
50540
8b5f3938 505412005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50542
50543 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50544
50545 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50546 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50547 partmap/sun.c.
50548 (grub_probefs_SOURCES): New variable.
50549
50550 * util/i386/pc/grub-probefs.c: New file.
50551
50552 * util/i386/pc/grub-setup.c (main): Call
50553 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50554 grub_hfs_init and grub_jfs_init to initialize the system. Call
50555 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50556 grub_pc_partition_map_fini to finish the system.
50557
ea409713 505582005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50559
50560 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50561 function.
50562 (grub_multiboot_load_elf32): Likewise.
50563 (grub_multiboot_is_elf64): Likewise.
50564 (grub_multiboot_load_elf64): Likewise.
50565 (grub_multiboot_load_elf): Likewise.
50566 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50567 an ELF32 or ELF64 file.
50568 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50569
50570 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50571 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50572 NULL before calling FS->LABEL.
50573 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50574 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50575 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50576 before calling FS->LABEL.
50577
141a288b 505782005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50579
50580 * util/i386/pc/grub-install.in (datadir): New variable.
50581 (libdir): Removed.
50582 (pkgdatadir): New variable.
50583 (pkglibdir): Removed.
50584
0d5f8a54 505852005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50586
50587 * DISTLIST: Added util/i386/pc/grub-install.in.
50588
50589 * util/i386/pc/grub-install.in: New file.
50590
50591 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50592 (grub_install_SOURCES): Likewise.
50593
50594 * genmk.rb: Added support for scripts.
50595 (Script): New class.
50596 (scripts): New variable.
50597
50598 * Makefile.in (install-local): Install sbin_SCRIPTS by
50599 INSTALL_SCRIPT.
50600 (uninstall): Remove sbin_SCRIPTS.
50601
50602 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50603 device, try to get a GRUB device by
50604 grub_util_biosdisk_get_grub_dev.
50605 Free DEST_DEV.
50606
50607 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50608 description for --device-map.
50609
5f968e1e 506102005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50611
50612 Change the semantics of variable hooks. They now return strings
50613 instead of error values.
f19dbdb7 50614
5f968e1e 50615 * util/i386/pc/grub-setup.c: Include grub/env.h.
50616 (setup): Use grub_device_set_root instead of grub_env_set.
50617
50618 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50619 grub_env_get instead of grub_device_set_root and
50620 grub_device_get_root, respectively.
50621
50622 * kern/main.c (grub_env_write_root): New function.
50623 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50624 grub_env_set instead of grub_device_set_root.
50625
50626 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50627 many variables.
50628 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50629 rather than calling ENV->WRITE_HOOK afterwards.
50630 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50631 passing a pointer of a pointer.
50632 (grub_register_variable_hook): Change the types of "read_hook" and
50633 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50634 respectively.
50635 Allocate the default empty string on the heap, because this string
50636 may be freed later.
50637
50638 * kern/device.c: Include grub/env.h.
50639 (grub_device_set_root): Removed.
50640 (grub_device_get_root): Likewise.
50641 (grub_device_open): Use grub_env_get instead of
50642 grub_device_get_root.
50643
50644 * include/grub/env.h (grub_env_read_hook_t): New type.
50645 (grub_env_write_hook_t): Likewise.
50646 (grub_env_var): Change the types of "read_hook" and "write_hook"
50647 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50648 (grub_register_variable_hook): Likewise.
50649
50650 * include/grub/device.h (grub_device_set_root): Removed.
50651 (grub_device_set_root): Likewise.
50652
50653 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50654 make sure that DIRNAME terminates with '/', so that
50655 grub_fat_find_dir will fail if PATH is not a directory.
50656
50657 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50658 from DIRNAME.
50659 Use the qualifier auto for print_files and print_files_long.
50660 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50661 as a regular file.
50662 Put a newline only if there is no error.
50663 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50664 used.
50665
896f0afd 506662005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50667
50668 * kern/partition.c (grub_partition_probe): Initialize PART to
50669 NULL. Otherwise, when no partition map is registered, this returns
50670 a garbage.
50671
b28b81b2 506722005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50673
50674 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50675 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50676 valid.
50677
5f3607e0 506782005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50679
50680 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50681 information on each device, if it does not have partitions. Print
50682 "Device" instead of "Disk", because this function is not specific
50683 to disk devices.
50684
50685 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50686 static to ensure that it is put on the memory rather than a
50687 register.
50688
502c87e8 506892005-07-17 Yoshinori Okuji <okuji@enbug.org>
50690
50691 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50692 (grub_cat_init): Likewise.
50693 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50694 (options): Likewise.
50695 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50696 (grub_configfile_init): Likewise.
50697 * font/manager.c (GRUB_MOD_INIT): Likewise.
50698 * commands/help.c (GRUB_MOD_INIT): Likewise.
50699 (grub_help_init): Likewise.
50700 * normal/command.c (grub_command_init): Likewise.
50701 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50702 * disk/loopback.c (grub_loop_init): Likewise.
50703 (GRUB_MOD_INIT): Likewise.
50704 * commands/ls.c (grub_ls_init): Likewise.
50705 (GRUB_MOD_INIT): Likewise.
50706 (options): Likewise.
50707 * commands/boot.c (grub_boot_init): Likewise.
50708 (GRUB_MOD_INIT): Likewise.
50709 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50710 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50711 (GRUB_MOD_INIT): Likewise.
50712 * commands/cmp.c (grub_cmp_init): Likewise.
50713 (GRUB_MOD_INIT): Likewise.
50714
50715 * normal/arg.c: Use <> instead of "" to include header files.
50716 (SHORT_ARG_HELP): New macro.
50717 (SHORT_ARG_USAGE): Likewise.
50718 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50719 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50720 descriptions.
50721 (find_short): Check if C is 'h' or 'u' explicitly.
50722 (grub_arg_show_help): Use space characters instead of tabs. Treat
50723 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50724 are shown with --help and --usage only if they are not used for
50725 the command itself.
50726 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50727 'h' and 'u'.
50728
50729 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50730 const into "longarg". Change the type of "shortarg" to int.
50731
f806d18e 507322005-07-17 Yoshinori Okuji <okuji@enbug.org>
50733
50734 * boot/i386/pc/boot.S (boot_drive_check): New label.
50735
50736 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50737 macro.
50738
50739 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50740 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50741
e293232b 507422005-07-17 Yoshinori Okuji <okuji@enbug.org>
50743
50744 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50745 When turning off Gate A20, skip the check and return immediately,
50746 because this is not fatal usually.
50747
ebedfd00 507482005-07-17 Yoshinori Okuji <okuji@enbug.org>
50749
50750 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50751 be 0x7C00 instead of 0x8000.
50752
50753 * boot/i386/pc/pxeboot.S: Rewritten.
50754
50755 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50756 EXT_C.
50757 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50758 result.
50759
654fc59f 507602005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50761
50762 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50763 robustness. This routine now supports a BIOS call and System
50764 Control Port A to modify the gate A20.
50765
50766 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50767 Increased to 0x440.
50768
09f9923f 507692005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50770
50771 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50772 device path and resulting ihandle.
50773 (grub_ofdisk_close): dprintf the ihandle being closed.
50774 (grub_ofdisk_read): dprintf function parameters.
50775 * kern/mm.c (grub_mm_init_region): Likewise.
50776 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50777 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50778 size, and boot arguments.
50779 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50780 before loading into memory.
50781 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50782 before loading into memory.
50783
7ef504d8 507842005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50785
50786 * kern/mm.c: Added much documentation.
50787 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50788 8, set to 5 instead of 8.
50789
e0f050c2 507902005-07-10 Yoshinori Okuji <okuji@enbug.org>
50791
50792 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50793
50794 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50795 (grub_mkdevicemap_SOURCES): New variable.
50796
50797 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50798 lib/device.c of GRUB Legacy.
50799
7224189a 508002005-07-10 Yoshinori Okuji <okuji@enbug.org>
50801
50802 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50803 instead of PATH is NULL.
50804
68c864eb 508052005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50806
50807 * commands/cmp.c (BUFFER_SIZE): New macro.
50808 (grub_cmd_cmp): Close the right file at the right time. Compare
50809 only data just read. Don't report files of different size as
50810 identical. Dynamically allocate buffers. Move variable
50811 declarations at the beginning of function.
50812
e6f3e614 508132005-07-09 Yoshinori Okuji <okuji@enbug.org>
50814
50815 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50816 reverse.
50817
f8f1559a 508182004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50819
50820 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50821 when backspace is pressed at beginning of line.
50822
39c9d41d 508232005-07-03 Yoshinori Okuji <okuji@enbug.org>
50824
50825 * DISTLIST: Added genfslist.sh.
50826
50827 * normal/main.c (fs_module_list): New variable.
50828 (autoload_fs_module): New function.
50829 (read_fs_list): Likewise.
50830 (grub_normal_execute): Call read_fs_list.
50831
50832 * kern/fs.c (grub_fs_autoload_hook): New variable.
50833 (grub_fs_probe): Added support for auto-loading.
50834
50835 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50836 (grub_fs_module_list_t): New type.
50837
50838 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50839 (grub_fs_autoload_hook): New prototype.
50840
50841 * genfslist.sh: New file.
f19dbdb7 50842
39c9d41d 50843 * genmk.rb: Added a rule to generate a filesystem list.
50844
121c1d83 508452005-06-30 Marco Gerards <metgerards@student.han.nl>
50846
50847 * configure.ac: Fix the test for cross-compiling.
50848
50849 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50850 define GRUB_UTIL anymore.
50851
50852 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50853 so this function works on other systems than just big endian.
50854 (load_modules): Likewise.
50855 (add_segments): Likewise.
50856
e75d76e1 508572005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50858
50859 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50860 contains `l' modifier, get a long from va_arg().
50861
50b5a0a7 508622005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50863
50864 * kern/mm.c (grub_free): If the next free block which is being
50865 merged is the first free block, set the first block to the block
50866 being freed.
50867 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50868
89371b20 508692005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50870
50871 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50872 `grub_ieee1275_chosen'.
50873
168d6e58 508742005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50875
50876 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50877 (grub_ieee1275_chosen): New variable.
50878 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50879 `chosen'.
50880 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50882 Rename first argument to `phandle' for consistency.
50883 (grub_ieee1275_get_property_length): Likewise.
50884 (grub_ieee1275_next_property): Likewise. Change type of first argument
50885 to grub_ieee1275_phandle_t.
50886 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50887 Move export next to declaration.
50888 (grub_ieee1275_chosen): New variable.
50889 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50890 Correct cosmetic typo.
50891 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50892 `grub_ieee1275_chosen'.
50893 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50894 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50895 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50896 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50897 `grub_ieee1275_chosen'.
50898
ca5baa3f 508992005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50900
50901 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50902 /chosen/bootargs.
50903 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50904 /chosen/bootargs as "variable=value" pairs.
50905
708b345f 509062005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50907
50908 * include/grub/misc.h (grub_dprintf): New macro.
50909 (grub_real_dprintf): New prototype.
50910 (grub_strword): Likewise.
50911 (grub_iswordseparator): Likewise.
50912 * kern/misc.c (grub_real_dprintf): New function.
50913 (grub_strword): Likewise.
50914 (grub_iswordseparator): Likewise.
50915
f4c5e67c 509162005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50917
50918 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50919 (roundup): Remove macro.
50920 (grub_ieee1275_flags): Make static.
50921 (grub_ieee1275_realmode): Remove.
50922 (grub_ieee1275_test_flag): New function.
50923 (grub_ieee1275_set_flag): Likewise.
50924 (find_options): Rename to `grub_ieee1275_find_options'; update
50925 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50926 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50927 (cmain): New prototype.
50928 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50929 `grub_ieee1275_flags' directly.
50930 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50931 machine/biosdisk.h.
50932 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50933 Don't include grub/machine/init.h.
50934 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50935 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50936 Remove prototype.
50937 (grub_ieee1275_realmode): Likewise.
50938 (grub_ieee1275_flag): New enum.
50939 (grub_ieee1275_test_flag): New prototype.
50940 (grub_ieee1275_set_flag): New prototype.
50941 * include/grub/powerpc/ieee1275/init.h: Remove file.
50942 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50943 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50944 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50945 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50946 comment.
50947 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50948 `grub_ieee1275_test_flag'.
50949 (grub_ieee1275_encode_devname): Likewise.
50950
ed16607e 509512005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50952
50953 * include/grub/powerpc/ieee1275/ieee1275.h
50954 (grub_ieee1275_encode_devname): New prototype.
50955 (grub_ieee1275_get_filename): Likewise.
50956 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50957 function.
50958 (grub_set_prefix): Likewise.
50959 (grub_machine_init): Call grub_set_prefix.
50960 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50961 (grub_parse_type): New enum.
50962 (grub_ieee1275_get_devargs): New function.
50963 (grub_ieee1275_get_devname): Likewise.
50964 (grub_ieee1275_parse_args): Likewise.
50965 (grub_ieee1275_get_filename): Likewise.
50966 (grub_ieee1275_encode_devname): Likewise.
50967
be369920 509682005-03-30 Marco Gerards <metgerards@student.han.nl>
50969
50970 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50971 `grub_loader_unset'.
50972
a5ce3a4a 509732005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50974
50975 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50976 instead of grub_ieee1275_interpret.
50977 (grub_halt_init): New function.
50978 (grub_halt_fini): Likewise.
50979 (GRUB_MOD_INIT): Correct message grammar.
50980 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50981 instead of grub_ieee1275_interpret.
50982 (grub_reboot_init): New function.
50983 (grub_reboot_fini): Likewise.
50984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50985 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50986 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50987 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50988 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50989 function.
50990 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50991 Add prototype.
50992 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50993 prototype.
50994 (grub_halt): Likewise.
50995 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50996 (cmain): Remove __attribute__((unused)).
50997 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50998 (grub_heap_len): Likewise.
50999 (grub_machine_fini): New function.
51000 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51001 (grub_halt): Likewise.
51002 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51003 function.
51004 * util/powerpc/ieee1275/misc.c: New file.
51005
0058f771 510062005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51007
51008 * DISTLIST: New file.
51009 * gendistlist.sh: Likewise.
f19dbdb7 51010
0058f771 51011 * Makefile.in (COMMON_DISTFILES): Removed.
51012 (BOOT_DISTFILES): Likewise.
51013 (CONF_DISTFILES): Likewise.
51014 (DISK_DISTFILES): Likewise.
51015 (FS_DISTFILES): Likewise.
51016 (INCLUDE_DISTFILES): Likewise.
51017 (KERN_DISTFILES): Likewise.
51018 (LOADER_DISTFILES): Likewise.
51019 (TERM_DISTFILES): Likewise.
51020 (UTIL_DISTFILES): Likewise.
51021 (DISTFILES): Likewise.
51022 (uninstall): Uninstall files in $(pkgdata_DATA).
51023 (DISTLIST): New target.
51024 (distdir): Use the contents of the file DISTLIST to get a list of
51025 distributed files.
51026
46b3b8a5 510272005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51028
51029 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51030 descriptor. This is ported from GRUB Legacy.
51031
51032 * gencmdlist.sh: Added an extra semicolon to make it work with
51033 old sed versions. Reported by Robert Bihlmeyer
51034 <robbe@orcus.priv.at>.
51035
5822ff87 510362005-03-08 Yoshinori Okuji <okuji@enbug.org>
51037
51038 Automatic loading of commands is supported.
f19dbdb7 51039
5822ff87 51040 * normal/main.c (read_command_list): New function.
51041 (grub_normal_execute): Call read_command_list.
51042
51043 * normal/command.c (grub_register_command): Return zero or CMD.
51044 Allocate CMD->NAME from the heap.
51045 Initialize CMD->MODULE_NAME to zero.
51046 Find the same name as well. If the same command is found and it is
51047 a dummy command, overwrite members. If it is not a dummy command,
51048 return zero.
51049 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51050 (grub_command_find): If a dummy command is found, load a module
51051 and retry to find a command only once.
51052
51053 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51054 make sure that each command is loaded.
51055
51056 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51057 macro.
51058 (struct grub_command): Remove const from the member `name'.
51059 Add a new member `module_name'.
51060 (grub_register_command): Return grub_command_t.
51061
51062 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51063 sure that each command is loaded.
51064
51065 * genmk.rb (PModule::rule): Specify a module name without the
51066 suffix ".mod" to gencmdlist.sh.
51067
7b1f4b57 510682005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51069
51070 * gencmdlist.sh: New file.
f19dbdb7 51071
7b1f4b57 51072 * genmk.rb (PModule::rule): Generate a rule for a command list.
51073 Clean command.lst.
51074 Generate command.lst from $(COMMANDFILES).
51075
51076 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51077 (DATA): Added $(pkgdata_DATA).
51078 (install-local): Install files in $(pkgdata_DATA).
51079
062aaf39 510802005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51081
51082 * term/i386/pc/vga.c (debug_command): Removed.
51083 (GRUB_MOD_INIT): Do not register the command "debug".
51084
51085 From Hollis Blanchard:
51086 * commands/configfile.c: New file.
51087 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51088 commands/configfile.c.
51089 (pkgdata_MODULES): Added configfile.mod.
51090 (configfile_mod_SOURCES): New variable.
51091 (configfile_mod_CFLAGS): Likewise.
51092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51093 commands/configfile.c.
51094 (pkgdata_MODULES): Added configfile.mod.
51095 (configfile_mod_SOURCES): New variable.
51096 (configfile_mod_CFLAGS): Likewise.
51097 * util/grub-emu.c (main): Call grub_configfile_init and
51098 grub_configfile_fini.
51099 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51100 prototype.
51101 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51102
cee01aa6 511032005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51104
51105 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51106 address.
51107
51108 * commands/help.c (grub_cmd_help): Do not print newlines after
51109 the last command in print_command_help.
51110
93f3a1d8 511112005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51112
51113 * commands/default.h: New file.
51114 * commands/timeout.h: Likewise.
51115 * normal/context.c: Likewise.
f19dbdb7 51116
93f3a1d8 51117 * util/misc.c: Do not include sys/times.h.
51118 Include sys/time.h and grub/machine/time.h.
51119 (grub_get_rtc): Rewritten with gettimeofday.
51120
51121 * util/grub-emu.c (main): Call grub_default_init and
51122 grub_timeout_init before grub_normal_init, and call
51123 grub_timeout_fini and grub_default_fini after grub_main.
51124
51125 * util/console.c (grub_ncurses_checkkey): Return the read
51126 character or -1.
51127
51128 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51129 timeouts.
51130
51131 * normal/main.c (read_config_file): Push MENU. If this fails,
51132 print an error and wait for a user input.
51133 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51134 If a menu is empty or an error occurs, pop MENU.
51135 (grub_normal_execute): Pop and free MENU after grub_menu_run
51136 returns.
51137
51138 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51139
51140 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51141 include time.h.
51142 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51143 without GRUB_UTIL.
51144 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51145 time.h.
51146 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51147 without GRUB_UTIL.
51148
51149 * include/grub/normal.h (struct grub_menu_list): New struct.
51150 (grub_menu_list_t): New type.
51151 (struct grub_context): New struct.
51152 (grub_context_t): New type.
51153 (grub_register_command): Got rid of EXPORT_FUNC.
51154 (grub_unregister_command): Likewise.
51155 (grub_context_get): New prototype.
51156 (grub_context_get_current_menu): Likewise.
51157 (grub_context_push_menu): Likewise.
51158 (grub_context_pop_menu): Likewise.
51159 [GRUB_UTIL] (grub_default_init): Likewise.
51160 [GRUB_UTIL] (grub_default_fini): Likewise.
51161 [GRUB_UTIL] (grub_timeout_init): Likewise.
51162 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51163
51164 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51165 commands/timeout.c and normal/context.c.
51166 (pkgdata_MODULES): Added default.mod and timeout.mod.
51167 (normal_mod_SOURCES): Added normal/context.c.
51168 (default_mod_SOURCES): New variable.
51169 (default_mod_CFLAGS): Likewise.
51170 (timeout_mod_SOURCES): Likewise.
51171 (timeout_mod_CFLAGS): Likewise.
51172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51173 conf/i386-pc.rmk.
51174 (pkgdata_MODULES): Added default.mod and timeout.mod.
51175 (normal_mod_SOURCES): Added normal/context.c.
51176 (default_mod_SOURCES): New variable.
51177 (default_mod_CFLAGS): Likewise.
51178 (timeout_mod_SOURCES): Likewise.
51179 (timeout_mod_CFLAGS): Likewise.
51180
51181 * Makefile.in (all-local): Added $(MKFILES).
51182
4ed2e1dd 511832005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51184
51185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51186 (grub_emu_SOURCES): Likewise.
51187 (pkgdata_MODULES): Add `sun.mod'.
51188 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51190 `partmap/sun.c'.
51191 (pkgdata_MODULES): Add `sun.mod'.
51192 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51193 * include/grub/partition.h (grub_sun_partition_map_init): New
51194 prototype.
51195 (grub_sun_partition_map_fini): Likewise.
51196 * partmap/sun.c: New file.
51197 * util/grub-emu.c (main): Initialize and de-initialize the sun
51198 partitionmap support.
51199
4d4e372e 512002005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51201
51202 This implements an Emacs-like menu entry editor.
f19dbdb7 51203
4d4e372e 51204 * normal/menu_entry.c: New file.
f19dbdb7 51205
4d4e372e 51206 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51207 characters to ASCII.
51208 (saved_char): New variable.
51209 (grub_ncurses_checkkey): Rewritten completely.
51210 (grub_ncurses_getkey): Likewise.
51211 (grub_ncurses_init): Call raw instead of cbreak.
51212
51213 * normal/menu.c (print_entry): Do not put a space.
51214 (init_page): Renamed to ...
51215 (grub_menu_init_page): ... this. All callers changed.
51216 (edit_menu_entry): Removed.
51217 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51218
51219 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51220
51221 * kern/misc.c (grub_vprintf): Call grub_refresh.
51222
51223 * normal/menu.c (DISP_LEFT): Renamed to ...
51224 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51225 * normal/menu.c (DISP_UP): Renamed to ...
51226 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51227 * normal/menu.c (DISP_RIGHT): Renamed to ...
51228 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51229 * normal/menu.c (DISP_DOWN): Renamed to ...
51230 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51231 * normal/menu.c (DISP_HLINE): Renamed to ...
51232 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51233 * normal/menu.c (DISP_VLINE): Renamed to ...
51234 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51235 * normal/menu.c (DISP_UL): Renamed to ...
51236 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51237 * normal/menu.c (DISP_UR): Renamed to ...
51238 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51239 * normal/menu.c (DISP_LL): Renamed to ...
51240 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51241 * normal/menu.c (DISP_LR): Renamed to ...
51242 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51243 * normal/menu.c (TERM_WIDTH): Renamed to ...
51244 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51245 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51246 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51247 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51248 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51249 * normal/menu.c (TERM_MARGIN): Renamed to ...
51250 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51251 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51252 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51253 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51254 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51255 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51256 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51257 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51258 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51259 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51260 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51261 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51262 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51263 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51264 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51265 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51266 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51267 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51268 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51269 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51270 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51271 All callers changed.
51272
51273 * include/grub/normal.h: New prototype.
51274
51275 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51276 normal/menu_entry.c.
51277 (normal_mod_SOURCES): Likewise.
51278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51279 (normal_mod_SOURCES): Likewise.
51280
e6b92c8a 512812005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51282
51283 * include/grub/normal.h (grub_halt_init): New prototype.
51284 (grub_halt_fini): Likewise.
51285 (grub_reboot_init): Likewise.
51286 (grub_reboot_fini): Likewise.
51287
51288 * util/grub-emu.c: Include signal.h.
51289 (main_env): New global variable.
51290 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51291 catch C-c.
51292 (grub_machine_fini): New function.
51293 (main): Call grub_halt_init and grub_reboot_init before
51294 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51295 Call setjmp with MAIN_ENV to go back afterwards.
51296 Call grub_machine_fini right before return.
51297
51298 * include/grub/util/misc.h: Include setjmp.h.
51299 (main_env): New prototype.
51300
51301 * include/grub/kernel.h (grub_machine_fini): New prototype.
51302 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51303 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51304
51305 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51306 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51307 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51308
e6b92c8a 51309 * util/i386/pc/misc.c: New file.
f19dbdb7 51310
e6b92c8a 51311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51312 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51313 commands/i386/pc/reboot.c.
51314
c642636f 513152005-02-14 Guillem Jover <guillem@hadrons.org>
51316
51317 * include/grub/dl.h (grub_dl_check_header): New prototype.
51318 (grub_arch_dl_check_header): Change return type to grub_err_t,
51319 remove size parameter and export function. Update all callers.
51320 * kern/dl.c (grub_dl_check_header): New function.
51321 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51322 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51323 are inside the core.
51324 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51325 independent ELF header checks.
51326 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51327 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51328 `grub_dl_check_header' instead of explicit checks. Check for the
51329 ELF type.
51330 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51331 `grub_dl_check_header' instead of explicit checks. Remove arch
51332 specific ELF header checks.
51333
e6b92c8a 51334 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51335 argument SIZE.
51336
5eabe94b 513372005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51338
51339 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51340 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51341
1b14a681 513422005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51343
51344 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51345 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51346 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51347 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51348 * partmap/amiga.c (amiga_partition_map_iterate): Return
51349 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51350 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51351
aca108aa 513522005-02-01 Guillem Jover <guillem@hadrons.org>
51353
51354 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51355 help info.
51356
c9f9c556 513572005-01-31 Marco Gerards <metgerards@student.han.nl>
51358
51359 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51360 Removed prototype.
51361 (grub_rescue_cmd_linux): New prototype.
51362 (grub_rescue_cmd_initrd): Likewise.
51363 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51364 `bi_rec'.
51365 (grub_linux_release_mem): Release the memory for the initrd.
51366 (grub_load_linux): Renamed from this...
51367 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51368 Changed `entry' not to be static. Loop over memory regions to
51369 find another one when the default fails.
51370 (grub_rescue_cmd_initrd): New function.
51371 (grub_linux_init): Remove function.
51372 (grub_linux_fini): Likewise.
51373 (GRUB_MOD_INIT): Register `initrd'.
51374 (GRUB_MOD_FINI): Unregister `initrd'.
51375 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51376 Function removed.
51377 (grub_linux_normal_fini): Likewise.
51378 (GRUB_MOD_INIT): Register `initrd'.
51379 (GRUB_MOD_FINI): Unregister `initrd'.
51380
990cf3aa 513812005-01-31 Marco Gerards <metgerards@student.han.nl>
51382
51383 * commands/help.c: New file.
51384 * normal/arg.c (show_help): Renamed to...
51385 (grub_arg_show_help): ... this.
51386 * commands/i386/pc/halt.c: New file.
51387 * commands/i386/pc/reboot.c: Likewise.
51388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51389 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51390 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51391 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51392 variables.
51393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51394 `commands/help.c'.
51395 (pkgdata_MODULES): Add `help.mod'.
51396 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51397 * grub/i386/pc/init.h (grub_reboot): New prototype.
51398 (grub_halt): Likewise.
51399 * include/grub/normal.h (grub_arg_show_help): New prototype.
51400 (grub_help_init): Likewise.
51401 (grub_help_fini): Likewise.
51402 * util/grub-emu.c (main): Initialize and deinitialize the help
51403 command.
51404
51405 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51406
51407 * normal/command.c (grub_command_init): Fixed the description of
51408 the `set' and `unset' commands.
51409
514102005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51411
51412 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51413 function.
51414 * commands/ieee1275/halt.c: New file.
51415 * commands/ieee1275/reboot.c: Likewise.
51416 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51417 `__attribute__ ((unused))'. Some GCS related fixed.
51418 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51419 (grub_suspend_fini): Likewise.
51420 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51421 and `halt.mod'.
51422 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51423 (halt_mod_CFLAGS): New variables.
51424 * include/grub/powerpc/ieee1275/ieee1275.h
51425 (grub_ieee1275_interpret): New prototype.
51426
1ab09cc7 514272005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51428
51429 * include/grub/misc.h (memmove): New prototype.
51430 (memcpy): Likewise.
51431
8b8cbdb2 514322005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51433
51434 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51435 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51436
e3741a27 514372005-01-22 Marco Gerards <metgerards@student.han.nl>
51438
51439 * kern/misc.c (grub_strndup): Function rewritten.
51440
776bd780 514412005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51442
51443 * normal/menu.c (TERM_WIDTH): Macro redefined.
51444 (TERM_TOP_BORDER_Y): Likewise.
51445 (draw_border): Replaced while-loop by a for-loop. Make the number
51446 of lines consistent with the number of lines displayed in
51447 print_entries. Added a margin below the rectangle.
51448 (print_entry): Make the entry fit in the rectangle.
51449 (print_entries): Display the scroll arrows next to the right
51450 border.
51451
78026bce 514522005-01-21 Marco Gerards <metgerards@student.han.nl>
51453
51454 * fs/minix.c (grub_minix_find_file): Reserve more space for
51455 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51456 `grub_strncpy' to copy `path' into it.
51457
67bbaf0f 514582005-01-21 Marco Gerards <metgerards@student.han.nl>
51459
51460 Add the loopback device, a device via which files can be accessed
51461 as devices.
f19dbdb7 51462
67bbaf0f 51463 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51464 (pkgdata_MODULES): Add loopback.mod.
51465 (loopback_mod_SOURCES): New variable.
51466 (loopback_mod_CFLAGS): Likewise.
51467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51468 `disk/loopback.c'.
51469 (pkgdata_MODULES): Add loopback.mod.
51470 (loopback_mod_SOURCES): New variable.
51471 (loopback_mod_CFLAGS): Likewise.
51472 * disk/loopback.c: new file.
51473 * include/grub/normal.h (grub_loop_init): New prototype.
51474 (grub_loop_fini): New prototype.
51475 * util/grub-emu.c (main): Initialize and de-initialize loopback
51476 support.
51477 * include/grub/disk.h (grub_disk_dev_id): Add
51478 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51479
6f1c18bd 514802005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51481
51482 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51483 function.
51484 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51485 (suspend_mod_SOURCES): New variable.
51486 (suspend_mod_CFLAGS): Likewise.
51487 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51488 New prototype.
51489 * commands/ieee1275/suspend.c: New file.
51490
b38551da 514912005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51492
51493 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51494 ((unused))' to `__attribute__ ((used))'.
b38551da 51495 (GRUB_MOD_FINI): Likewise.
51496 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51497 * genmk.rb (PModule): Assign space to common symbols when linking
51498 modules.
51499
777aff39 515002005-01-20 Marco Gerards <metgerards@student.han.nl>
51501
51502 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51503 `unsigned' arguments to `grub_size_t'.
51504 (grub_malloc): Likewise.
51505 (grub_realloc): Likewise.
51506 (grub_memalign): Likewise.
51507 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51508 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51509 * util/misc.c (grub_malloc): Likewise.
51510 (grub_realloc): Likewise.
51511 * kern/mm.c (get_header_from_pointer): Change the casts to
51512 `unsigned' into a cast to `grub_size_t'.
51513
51514 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51515 point to `currnode' when `currnode' is changed.
51516
51517 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51518 Schottelius <nico-linux@schottelius.org>.
51519
d0ff18e1 515202005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51521
51522 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51523 (note_path): Remove variable.
51524 (GRUB_IEEE1275_NOTE_NAME): New macro.
51525 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51526 (grub_ieee1275_note_hdr): New structure.
51527 (grub_ieee1275_note_desc): Likewise.
51528 (grub_ieee1275_note): Likewise.
51529 (load_note): Remove `dir' argument. All callers updated. Remove
51530 `note_img' and `path'. Do not load a file from `note_path'.
51531 Initialize a struct grub_ieee1275_note and write that to `out'.
51532 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51533
4ca7004c 515342005-01-05 Marco Gerards <metgerards@student.han.nl>
51535
51536 * util/misc.c (grub_util_read_image): Revert last change. It
51537 called `grub_util_read_at', which seeks from the beginning of the
51538 file.
51539
0b412211 515402005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51541
51542 * TODO: Add note about endianness in grub-mkimage.
51543 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51544 section.
51545 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51546 (grub_mkimage_SOURCES): New target.
51547 * include/grub/kernel.h (grub_start_addr): Remove variable.
51548 (grub_end_addr): Likewise.
51549 (grub_total_module_size): Likewise.
51550 (grub_kernel_image_size): Likewise.
51551 (GRUB_MODULE_MAGIC): New constant.
51552 (grub_module_info): New structure.
51553 (grub_arch_modules_addr): New prototype.
51554 (grub_get_end_addr): Remove prototype.
51555 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51556 * include/grub/powerpc/ieee1275/kernel.h: New file.
51557 * include/grub/util/misc.h (grub_util_get_fp_size): New
51558 prototype.
51559 (grub_util_read_at): Likewise.
51560 (grub_util_write_image_at): Likewise.
51561 * kern/main.c (grub_get_end_addr): Remove function.
51562 (grub_load_modules): Call grub_arch_modules_addr instead of using
51563 grub_end_addr. Look for a grub_module_info struct in memory. Use
51564 the grub_module_info fields instead of calling grub_get_end_addr
51565 as loop conditions. Move grub_add_unused_region code here.
51566 (grub_add_unused_region): Remove function.
51567 * kern/i386/pc/init.c: Include grub/cache.h.
51568 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51569 one call to add_mem_region.
51570 (grub_arch_modules_addr): New function.
51571 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51572 (grub_total_module_size): Likewise.
51573 Include grub/machine/kernel.h.
51574 (grub_arch_modules_addr): New function.
51575 * util/grub-emu.c (grub_end_addr): Remove variable.
51576 (grub_total_module_size): Likewise.
51577 (grub_arch_modules_addr): New function.
51578 * util/misc.c: Include unistd.h.
51579 (grub_util_get_fp_size): New function.
51580 (grub_util_read_at): Likewise.
51581 (grub_util_write_image_at): Likewise.
51582 (grub_util_read_image): Call grub_util_read_at.
51583 (grub_util_write_image): Call grub_util_write_image_at.
51584 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51585 additional memory in kernel_img for a struct grub_module_info.
51586 Fill in that grub_module_info.
51587 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51588
458786f8 515892005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51590
51591 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51592 New function.
51593 * include/grub/powerpc/ieee1275/ieee1275.h
51594 (grub_ieee1275_milliseconds): New prototype.
51595 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51596 Change to 1000.
51597 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51598 grub_ieee1275_milliseconds.
51599
ac507d1b 516002005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51601
51602 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51603 variable.
51604 (find_options): New function.
51605 (cmain): Call find_options.
51606 * include/grub/powerpc/ieee1275/ieee1275.h
51607 (grub_ieee1275_realmode): New extern variable.
51608 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51609 grub_map if grub_ieee1275_realmode is false.
51610
6b8fd1c4 516112004-12-29 Marco Gerards <metgerards@student.han.nl>
51612
51613 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51614 lines are inserted and make it work like readline. Reported by
51615 Vincent Pelletier <subdino2004@yahoo.fr>.
51616
8514a1e0 516172004-12-28 Marco Gerards <metgerards@student.han.nl>
51618
51619 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51620
51621 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51622 `kern/powerpc/cache.S'.
51623
924b6140 516242004-12-27 Marco Gerards <metgerards@student.han.nl>
51625
51626 * genmk.rb: Handle the `Program' class in the main loop. Written
51627 by Johan Rydberg <jrydberg@gnu.org>.
51628 (Program): New class.
51629 (programs): New variable.
51630 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51631 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51632 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51633 (help_arch): Function removed.
51634 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51635 `powerpc/libgcc.h' and `loader.h'.
51636 (pkgdata_PROGRAMS): New variable.
51637 (sbin_UTILITIES): Variable removed.
51638 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51639 (grubof_SOURCES): Variable re-defined so it only includes the
51640 core functionality.
51641 (grubof_CFLAGS): Remove `-DGRUBOF'.
51642 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51643 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51644 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51645 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51646 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51647 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51648 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51649 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51650 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51651 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51652 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51653 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51654 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51655 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51656 (pc_mod_CFLAGS): New variables.
51657 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51658 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51659 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51660 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51661 Moved from here...
51662 * include/grub/i386/pc/init.h (grub_os_area_addr)
51663 (rub_os_area_size): ... to here.
51664 * include/grub/powerpc/ieee1275/ieee1275.h
51665 (grub_ieee1275_entry_fn): Export symbol.
51666 * include/grub/powerpc/ieee1275/init.h: New file.
51667 * include/grub/powerpc/libgcc.h: Likewise.
51668 * include/grub/cache.h: Likewise.
51669 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51670 <hollis@penguinppc.org>.
51671 * kern/dl.c: Include <grub/cache.h>.
51672 (grub_dl_flush_cache): New function.
51673 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51674 for this module.
51675 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51676 (grub_console_init): Removed prototypes.
51677 (grub_machine_init): Don't initialize the modules anymore.
51678 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51679 static.
51680 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51681 Macro undef removed.
51682 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51683 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51684 relocation `R_PPC_REL32'. Return an error when the relocation is
51685 unknown.
51686 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51687 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51688 * util/misc.c (grub_arch_sync_caches): Likewise.
51689
e4b47e0c 516902004-12-19 Marco Gerards <metgerards@student.han.nl>
51691
51692 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51693 `symlist.c', add `grubof_symlist.c'.
51694 (symlist.c): Variable removed.
51695 (grubof_HEADERS): Variable added.
51696 (grubof_symlist.c): New target.
51697 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51698 `kernel_img_HEADERS'.
51699 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51700 * kern/powerpc/dl.c: New file.
51701 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51702 Function removed.
51703 (grub_arch_dl_relocate_symbols): Likewise.
51704 (grub_register_exported_symbols): Likewise.
51705
4ceb3636 517062004-12-13 Marco Gerards <metgerards@student.han.nl>
51707
51708 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51709 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51710 to fail instead. Reported by Vincent Pelletier
51711 <subdino2004@yahoo.fr>.
51712
51713 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51714 it is not allocated. Reported by Vincent Pelletier
51715 <subdino2004@yahoo.fr>.
51716
51717 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51718 output so the output looks better.
f19dbdb7 51719
3f1578fe 517202004-12-04 Marco Gerards <metgerards@student.han.nl>
51721
51722 Modulize the partition map support and add support for the amiga
51723 partition map.
f19dbdb7 51724
3f1578fe 51725 * commands/ls.c: Include <grub/partition.h> instead of
51726 <grub/machine/partition.h>.
51727 * kern/disk.c: Likewise.
51728 * kern/rescue.c: Likewise.
51729 * loader/i386/pc/chainloader.c: Likewise.
51730 * normal/cmdline.c: Likewise.
51731 * kern/powerpc/ieee1275/init.c: Likewise.
51732 (grub_machine_init): Call `grub_pc_partition_map_init',
51733 `grub_amiga_partition_map_init' and
51734 `grub_apple_partition_map_init'.
51735 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51736 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51737 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51738 `partition.h' and `pc_partition.h'.
51739 (grub_setup_SOURCES): Remove
51740 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51741 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51742 (grub_emu_SOURCES): Likewise.
51743 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51744 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51745 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51747 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51748 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51749 (grubof_SOURCES): Likewise.
51750 * disk/i386/pc/partition.c: File removed.
51751 * disk/powerpc/ieee1275/partition.c: Likewise.
51752 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51753 * include/grub/i386/pc/partition.h: Likewise.
51754 * kern/partition.c: New file.
51755 * partmap/amiga.c: Likewise.
51756 * partmap/apple.c: Likewise.
51757 * partmap/pc.c: Likewise.
51758 * include/grub/partition.h: Likewise..
51759 * include/grub/pc_partition.h: Likewise.
51760 * util/grub-emu.c: Include <grub/partition.h> instead of
51761 <grub/machine/partition.h>.
51762 (main): Call `grub_pc_partition_map_init',
51763 `grub_amiga_partition_map_init' and
51764 `grub_apple_partition_map_init' and deinitialize afterwards.
51765 * util/i386/pc/biosdisk.c: Include `#include
51766 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51767 `<grub/machine/partition.h>'.
51768 * util/i386/pc/grub-setup.c: Likewise.
51769 * util/i386/pc/biosdisk.c: Likewise.
51770 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51771 partition information in case of a PC partition.
51772 * util/i386/pc/grub-setup.c: Include `#include
51773 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51774 `<grub/machine/partition.h>'.
51775 (setup): Only access the PC specific partition information in case
51776 of a PC partition.
51777
0ef4ced9 517782004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51779
0ef4ced9 51780 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51781 (grub_longjmp): Likewise.
51782 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51783 20.
51784 * normal/powerpc/setjmp.S: New file.
51785 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51786 `normal/powerpc/setjmp.S'.
51787 (grubof_CFLAGS): Add `-DGRUBOF'.
51788 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51789 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51790
19950e29 517912004-11-16 Marco Gerards <metgerards@student.han.nl>
51792
51793 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51794 property named `name'. Correctly handle the error returned by
51795 `grub_ieee1275_finddevice' if a device can not be opened.
51796
a2fea427 517972004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51798
51799 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51800 `actual' for negativity.
51801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51802 kern/fshelp.c.
51803
41ea0ea3 518042004-11-01 Marco Gerards <metgerards@student.han.nl>
51805
51806 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51807 (PAGE_OFFSET): New macro.
51808 (CRTC_ADDR_PORT): Likewise.
51809 (CRTC_DATA_PORT): Likewise.
51810 (START_ADDR_HIGH_REGISTER): Likewise.
51811 (START_ADDR_LOW_REGISTER): Likewise.
51812 (GRAPHICS_ADDR_PORT): Likewise.
51813 (GRAPHICS_DATA_PORT): Likewise.
51814 (READ_MAP_REGISTER): Likewise.
51815 (INPUT_STATUS1_REGISTER): Likewise.
51816 (INPUT_STATUS1_VERTR_BIT): Likewise.
51817 (page): New variable.
51818 (wait_vretrace): New function.
51819 (set_read_map): Likewise.
51820 (set_start_address): Likewise.
51821 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51822 the right page.
51823 (check_vga_mem): Take the page into account.
51824 (write_char): Likewise.
51825 (write_cursor): Likewise.
51826 (scroll_up): Likewise. Copy the page to the page that is not
51827 shown and switch between both pages.
51828 (grub_vga_putchar): Fix off by one error.
51829 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51830 account.
51831
ad0bd20b 518322004-11-01 Marco Gerards <metgerards@student.han.nl>
51833
51834 Add support for iso9660 (including rockridge).
f19dbdb7 51835
ad0bd20b 51836 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51837 (iso9660_mod_SOURCES): New variable.
51838 (iso9660_mod_CFLAGS): Likewise.
51839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51840 * include/grub/fs.h (grub_iso9660_init): New prototype.
51841 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51842 * fs/iso9660.c: New file.
51843
51844 * include/grub/misc.h (grub_strncat): New prototype.
51845 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51846
ad0bd20b 51847 * fs/hfs.c (grub_hfs_mount): Translate the error
51848 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51849 * fs/jfs.c (grub_jfs_mount): Likewise.
51850 * fs/ufs.c (grub_ufs_mount): Likewise.
51851
a5477a59 518522004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51853
51854 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51855 which initialized BAT registers.
51856 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51857 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51858 Move from here...
51859 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51860 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51861 ... to here.
51862 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51863 (grub_mapclaim): Likewise.
51864 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51865 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51866 hand.
51867
9304c1f8 518682004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51869
51870 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51871 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51872 -ffreestanding and -msoft-float.
51873
86f4ae25 518742004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51875
51876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51877 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51878 set in grub_ieee1275_flags.
51879
38912228 518802004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51881
51882 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51883 prototype.
51884 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51885 grub_console_init first.
51886 Change the memory range used for grub_ieee1275_claim and
51887 grub_mm_init_region.
51888 Print an error message if the claim fails.
51889 Include <grub/misc.h>.
51890
d1923dc8 518912004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51892
51893 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51894 Call grub_children_iterate for device nodes of type `scsi',
51895 `ide', or `ata'.
51896 (grub_ofdisk_open): Remove manual device alias resolution.
51897 Fix memory leak when device cannot be opened.
f19dbdb7 51898 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51899 (grub_children_iterate): New prototype.
51900 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51901 New function.
51902 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51903 Return -1 if args.size was -1.
51904
4512e4f3 519052004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51906
51907 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51908 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51909 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51910 Open Firmware's memory for it; claim memory from _start to _end.
51911 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51912 (_end): New extern.
51913 (_start): Zero BSS from __bss_start to _end.
51914 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51915 New extern.
51916 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51917
4d61feb0 519182004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51919
ad0bd20b 51920 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51921 -1 if args.base was -1.
4d61feb0 51922
026fa2f9 519232004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51924
51925 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51926 escape sequence instead of a literal ^L. Also call
51927 grub_ofconsole_gotoxy.
51928
9f2220ef 519292004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51930
51931 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51932 void * arguments to grub_addr_t. All callers updated. Also make
51933 the `result' argument optional.
51934 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51935 All callers updated.
51936
8a572cd7 519372004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51938
51939 * commands/ls.c (grub_ls_list_files): Use the string following the
51940 initial ')', if present, as the filesystem path.
51941 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51942
51943 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51944
18aa81f2 519452004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51946
51947 Make the source code of the menu interface more readable.
f19dbdb7 51948
18aa81f2 51949 * normal/menu.c: Include grub/mm.h.
51950 (TERM_WIDTH): New macro.
51951 (TERM_HEIGHT): Likewise.
51952 (TERM_INFO_HEIGHT): Likewise.
51953 (TERM_MARGIN): Likewise.
51954 (TERM_SCROLL_WIDTH): Likewise.
51955 (TERM_TOP_BORDER_Y): Likewise.
51956 (TERM_LEFT_BORDER_X): Likewise.
51957 (TERM_BORDER_WIDTH): Likewise.
51958 (TERM_MESSAGE_HEIGHT): Likewise.
51959 (TERM_BORDER_HEIGHT): Likewise.
51960 (TERM_NUM_ENTRIES): Likewise.
51961 (TERM_FIRST_ENTRY_Y): Likewise.
51962 (TERM_ENTRY_WIDTH): Likewise.
51963 (TERM_CURSOR_X): Likewise.
51964 (draw_border): Use macros instead of magic numbers.
51965 (print_entry): Likewise.
51966 (print_entries): Likewise.
51967 (run_menu): Likewise. Also, handle the key 'e'.
51968 (run_menu_entry): Ignore empty command lines.
51969 (print_message): Added a new argument EDIT. If EDIT is true,
51970 print a different message.
51971 (init_page): Likewise.
51972 (edit_menu_entry): New function. Not implemented yet.
51973
b47efe30 519742004-09-17 Marco Gerards <metgerards@student.han.nl>
51975
51976 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51977 can be loaded from normal mode.
f19dbdb7 51978
b47efe30 51979 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51980 `multiboot.mod'.
51981 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51982 (multiboot_mod_CFLAGS): New variables.
51983 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51984 * loader/i386/pc/multiboot_normal.c: Likewise.
51985
b47efe30 51986 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51987 attribute `unused'.
f19dbdb7 51988
b47efe30 51989 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51990 `fdiro' to read the mode information from instead of `diro'.
51991
51992 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51993 looking up a symlink.
51994
51995 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51996 macro.
51997 * normal/command.c (grub_command_execute): Don't parse the
51998 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51999 flags of the command.
52000
52001 * normal/menu.c (grub_menu_run): Fix typo.
52002
da75ac71 520032004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52004
52005 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52006
52007 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52008 `y + 1' instead of `y - 1'.
52009
52010 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52011
062b24c2 520122004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52013
52014 From Hollis Blanchard <hollis@penguinppc.org>:
52015 * kern/misc.c (memmove): New alias for grub_memmove.
52016 (memcmp): New alias for grub_memcmp.
52017 (memset): New alias for grub_memset.
f19dbdb7 52018 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52019 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52020 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52021 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52022
8ddad845 520232004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52024
52025 Added normal mode command `chainloader' as module chain.mod, which
52026 depends on normal.mod and _chain.mod.
f19dbdb7 52027
8ddad845 52028 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52029 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52030 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52031 Deleted prototype.
52032 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52033 but arguments parsing moved to ...
52034 (grub_chainloader_cmd): ... here. New function.
52035 * include/grub/i386/pc/chainloader.h: New file.
52036 * loader/i386/pc/chainloader_normal.c: Likewise.
52037
2c1f4ce3 520382004-09-11 Marco Gerards <metgerards@student.han.nl>
52039
52040 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52041 (grub_mkimage_LDFLAGS): Likewise.
52042 (grub_emu_SOURCES): Likewise.
52043 (kernel_img_HEADERS): Added fshelp.h.
52044 * fs/ext2.c: Include <grub/fshelp.h>.
52045 (FILETYPE_REG): New macro.
52046 (FILETYPE_INO_REG): Likewise.
52047 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52048 Changed all users.
52049 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52050 all users.
52051 (grub_fshelp_node): New struct.
52052 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52053 to a pointer.
52054 (grub_ext2_get_file_block): Removed function.
52055 (grub_ext2_read_block): New function.
52056 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52057 This function was written.
52058 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52059 (grub_ext2_find_file): Removed function.
52060 (grub_ext2_read_symlink): New function.
52061 (grub_ext2_iterate_dir): Likewise.
52062 (grub_ext2_open): Rewritten.
52063 (grub_ext2_dir): Rewritten.
52064 * include/grub/fshelp.h: New file.
52065 * fs/fshelp.c: Likewise.
52066
3c52136a 520672004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52068
52069 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52070 (print_message): Add a missing newline.
52071 (run_menu): Added timeout support.
52072 (run_menu_entry): New local function.
52073 (grub_menu_run): Added support for booting.
52074
52075 * kern/loader.c (grub_loader_is_loaded): New function.
52076
52077 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52078 (grub_get_rtc): Exported.
52079
52080 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52081 (grub_get_rtc): Exported.
52082
52083 * include/grub/normal.h (struct grub_command_list): Remove
52084 constant from the member `command'.
52085
52086 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52087
52088 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52089
52090 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52091
aa033560 520922004-08-28 Marco Gerards <metgerards@student.han.nl>
52093
52094 Add support for the JFS filesystem.
52095
52096 * fs/jfs.c: New file.
52097 * include/grub/fs.h (grub_jfs_init): New prototype.
52098 (grub_jfs_fini): New prototype.
52099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52100 (grub_emu_SOURCES): Likewise.
52101 (pkgdata_MODULES): Add jfs.mod.
52102 (jfs_mod_SOURCES): New variable.
52103 (jfs_mod_CFLAGS): Likewise.
52104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52105 (grubof_SOURCES): Likewise.
52106 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52107
52108 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52109 endian to the host endian.
52110 (grub_fat_utf16_to_utf8): Move function from there...
52111 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52112 the endianness of the source string anymore.
aa033560 52113 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52114
94bc45af 521152004-08-24 Marco Gerards <metgerards@student.han.nl>
52116
52117 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52118 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52119 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52120 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52121
94bc45af 52122 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52123 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52124 for `node_found' and `it_dir'.
52125 (grub_hfs_dir): Add prototype for `dir_hook'.
52126
52127 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52128 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52129 and `indir32' to silence a gcc warning.
52130
52131 * include/grub/fs.h (grub_hfs_init): New prototype.
52132 (grub_hfs_fini): Likewise.
f19dbdb7 52133
52134
97543f08 521352004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52136
52137 Each disk device has its own id now. This is useful to make use
52138 of multiple disk devices.
f19dbdb7 52139
97543f08 52140 * include/grub/disk.h (grub_disk_dev_id): New enum.
52141 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52142 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52143
52144 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52145 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52146
52147 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52148 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52149
52150 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52151 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52152
52153 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52154 "id" which is used by the cache manager.
52155
52156 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52157 of just "GRUB".
52158
64372eb4 521592004-08-18 Marco Gerards <metgerards@student.han.nl>
52160
52161 * fs/hfs.c: New file.
52162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52163 (grub_emu_SOURCES): Likewise.
52164 (pkgdata_MODULES): Add hfs.mod.
52165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52166 (grubof_SOURCES): Likewise.
52167 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52168
52169 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52170 * kern/misc.c (grub_strncasecmp): Add function.
52171
cc61b58f 521722004-08-14 Marco Gerards <metgerards@student.han.nl>
52173
52174 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52175 with parentheses.
52176
52177 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52178 (grub_ext2_dir): In case the directory entry type is unknown, read
52179 it from the inode.
52180
0ef123f6 521812004-08-02 Peter Bruin <pjbruin@dds.nl>
52182
52183 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52184 grub_load_linux instead of grub_rescue_cmd_linux as second
52185 argument of grub_rescue_register_command.
52186
52187 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52188
a447c5df 521892004-07-27 Marco Gerards <metgerards@student.han.nl>
52190
52191 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52192 function.
52193 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52194 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52195 `loader/powerpc/ieee1275/linux.c',
52196 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52197 * include/grub/powerpc/ieee1275/ieee1275.h
52198 (grub_ieee1275_release): New prototype.
52199 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52200 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52201 normal, boot, linux and linux_normal.
52202 * loader/powerpc/ieee1275/linux.c: New file.
52203 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52204
5a9e3546 522052004-07-12 Marco Gerards <metgerards@student.han.nl>
52206
52207 * normal/arg.c (grub_arg_parse): Correct error handling after
52208 reallocating the argumentlist (check if `argl' is not null instead
52209 of checking if `args' is not null).
52210 * kern/mm.c (grub_realloc): Return the same pointer when using the
52211 same region, instead of returning the header address.
52212
e15199cb 522132004-07-11 Marco Gerards <metgerards@student.han.nl>
52214
52215 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52216 one block instead of two when looking for the initial partition.
52217 (grub_partition_probe): Initialize the local variable `p' with 0.
52218 Use base 10 for the grub_strtoul call.
52219 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52220 need for one local variable.
52221 (grub_strtoul): Don't add the new value to `num', instead of that
52222 just assign it.
52223
020616c2 522242004-07-11 Marco Gerards <metgerards@student.han.nl>
52225
52226 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52227 (pxeboot_img_SOURCES): New variable.
52228 (pxeboot_img_ASFLAGS): Likewise.
52229 (pxeboot_img_LDFLAGS): Likewise.
52230 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52231 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52232 <lode_leroy@hotmail.com>.
52233
6c51eb64 522342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52235
52236 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52237 there was no input.
52238
cfb12aff 522392004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52240
52241 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52242 the history buffer logic.
52243
6eabba74 522442004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52245
52246 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52247 (FILETYPE_INO_SYMLINK): New macros.
52248 (grub_ext2_find_file): Check if the node is a directory using the
52249 inode stat information instead of using the filetype in the
52250 dirent. Exclude the first character of an absolute symlink.
52251 (grub_ext2_dir): Mask out the filetype part of the mode member of
52252 the inode.
52253
66e19ef8 522542004-05-24 Marco Gerards <metgerards@student.han.nl>
52255
52256 Add support for UFS version 1 and 2. Add support for the minix
52257 filesystem version 1 and 2, both the variants with 14 and 30 long
52258 filenames.
f19dbdb7 52259
66e19ef8 52260 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52261 fs/minix.c.
52262 (grub_emu_SOURCES): Likewise.
52263 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52264 (ufs_mod_SOURCES): New variable.
52265 (ufs_mod_CFLAGS): Likewise.
52266 (minix_mod_SOURCES): Likewise.
52267 (minix_mod_CFLAGS): Likewise.
52268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52269 fs/minix.c.
52270 (grubof_SOURCES): Likewise.
52271 * fs/ufs.c: New file.
52272 * fs/minix.c: New file.
52273 * include/grub/fs.h (grub_ufs_init): New prototype.
52274 (grub_ufs_fini): Likewise.
52275 (grub_minix_init): Likewise.
52276 (grub_minix_fini): Likewise.
52277 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52278 minix fs.
52279
cc2e748a 522802004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52281
52282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52283 commands/ls.c, commands/terminal.c, commands/boot.c,
52284 commands/cmp.c and commands/cat.c.
52285 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52286
52287 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52288 "env.h"
52289
4b13b216 522902004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52291
52292 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52293 and grub_, respectively. Because the conversion is trivial and
52294 mechanical, I omit the details here. Please refer to the CVS
52295 if you need more information.
52296
6a142551 522972004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52298
52299 * include/pupa: Renamed to ...
52300 * include/grub: ... this.
52301 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52302 * util/i386/pc/grub-mkimage.c: ... this.
52303 * util/i386/pc/pupa-setup.c: Renamed to ...
52304 * util/i386/pc/grub-setup.c: ... this.
52305 * util/pupa-emu.c: Renamed to ...
52306 * util/grub-emu.c: ... this.
52307
e56cdf21 523082004-03-29 Marco Gerards <metgerards@student.han.nl>
52309
52310 Add support for the newworld apple macintosh (PPC). This has been
52311 tested on the powerbook 2000 only. It only adds support for
52312 generic ieee1275 functions, console and disk support. This should
52313 be easy to port to other architectures with support for Open
52314 Firmware.
f19dbdb7 52315
e56cdf21 52316 * configure.ac: Accept the powerpc as host_cpu. In the case of
52317 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52318 specific tests are only executed while building for the i386.
52319 Inverse test for crosscompile.
52320 * genmk.rb (Utility): Allow assembler files.
52321 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52322 * conf/powerpc-ieee1275.rmk: New file.
52323 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52324 * disk/powerpc/ieee1275/partition.c: Likewise.
52325 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52326 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52327 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52328 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52329 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52330 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52331 * include/pupa/powerpc/ieee1275/loader.h
52332 * include/pupa/powerpc/setjmp.h: Likewise.
52333 * include/pupa/powerpc/types.h: Likewise.
52334 * kern/powerpc/ieee1275/init.c: Likewise.
52335 * kern/powerpc/ieee1275/openfw.c: Likewise.
52336 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52337
52338 These files were written by Johan Rydberg
52339 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52340
e56cdf21 52341 * boot/powerpc/ieee1275/cmain.c: New file.
52342 * boot/powerpc/ieee1275/crt0.S: Likewise.
52343 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52344 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52345
8c8cc205 523462004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52347
52348 * Makefile.in: Update copyright.
52349 * genmodsrc.sh: Likewise.
52350 * gensymlist.sh: Likewise.
52351 * term/i386/pc/vga.c: Indent correctly.
52352
52353 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52354 bugreporting address.
52355 * util/i386/pc/pupa-setup.c (usage): Likewise,
52356 (main): Call pupa_ext2_init and pupa_ext2_fini.
52357
f19dbdb7 52358 * fs/fat.c (log2): Renamed to ...
8c8cc205 52359 (fat_log2): ... this.
52360 All callers changed.
52361 * kern/misc.c (memcpy): Alias to pupa_memmove.
52362 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52363 lvalue cast.
52364 * util/console.c (pupa_ncurses_fini): Return 0.
52365
52366 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52367 Move fail label here.
52368 [__GNU__]: Don't warn when using stat.
52369 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52370 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52371 long int. Use strtol instead of strtoul.
f19dbdb7 52372
db1771cf 523732004-03-14 Marco Gerards <metgerards@student.han.nl>
52374
52375 * commands/boot.c: New file.
52376 * commands/cat.c: Likewise.
52377 * commands/cmp.c: Likewise.
52378 * commands/ls.c: Likewise.
52379 * commands/terminal.c: Likewise.
52380 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52381 (pupa_register_command): Changed interface to match the new
52382 argument parser.
52383 (pupa_command_execute): Changed (almost rewritten) so it uses
52384 pupa_split_command. Added support for setting variables using the
52385 syntax `foo=bar'.
52386 (rescue_command): Changed to work with the new argument parser.
52387 (terminal_command): Moved from here to commands/terminal.c.
52388 (set_command): New function.
52389 (unset_command): New function.
52390 (insmod_command): New function.
52391 (rmmod_command): New function.
52392 (lsmod_command): New function.
52393 (pupa_command_init): Don't initialize the command terminal
52394 anymore. Initialize the commands set, unset, insmod, rmmod and
52395 lsmod.
52396 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52397 (kernel_img_HEADERS): Add arg.h and env.h.
52398 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52399 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52400 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52401 normal/arg.c.
52402 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52403 terminal.mod.
52404 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52405 (boot_mod_SOURCES): New variable.
52406 (terminal_mod_SOURCES): Likewise.
52407 (ls_mod_SOURCES): Likewise.
52408 (cmp_mod_SOURCES): Likewise.
52409 (cat_mod_SOURCES): Likewise.
52410
52411 * normal/arg.c: New file.
52412 * kern/env.c: Likewise.
52413 * include/pupa/arg.h: Likewise.
52414 * include/pupa/env.h: Likewise.
52415 * font/manager.c (font_command): Changed to match argument parsing
52416 interface changes.
52417 (PUPA_MOD_INIT): Likewise.
52418 * hello/hello.c (pupa_cmd_hello): Likewise.
52419 (PUPA_MOD_INIT): Likewise.
52420 * include/pupa/disk.h: Include <pupa/device.h>.
52421 (pupa_print_partinfo): New prototype.
52422 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52423 (pupa_dl_get_prefix): Likewise.
52424 * include/pupa/misc.h: Include <pupa/err.h>.
52425 (pupa_isgraph): New prototype.
52426 (pupa_isdigit): Likewise.
52427 (pupa_split_cmdline): Likewise.
52428 * include/pupa/normal.h: Include <pupa/arg.h>.
52429 (pupa_command): Changed the prototype of the member `func' to
52430 match the argument parsing interface. Added member `options'.
52431 (pupa_register_command): Updated to match function.
52432 (pupa_arg_parse): New prototype.
52433 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52434 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52435 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52436 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52437 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52438 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52439 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52440 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52441 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52442 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52443 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52444 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52445 * kern/disk.c: Include <pupa/file.h>.
52446 (pupa_print_partinfo): New function.
52447 * kern/dl.c: Include <pupa/env.h>.
52448 (pupa_dl_dir): Variable removed.
52449 (pupa_dl_load): Use the environment variable `prefix' instead of
52450 the variable pupa_dl_dir.
52451 (pupa_dl_set_prefix): Function removed.
52452 (pupa_dl_get_prefix): Likewise.
52453 * kern/i386/pc/init.c: Include <pupa/env.h>.
52454 (pupa_machine_init): Use the environment variable `prefix' instead of
52455 using pupa_dl_set_prefix to set the prefix.
52456 * kern/main.c: Include <pupa/env.h>.
52457 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52458 using pupa_dl_get_prefix to get the prefix.
52459 * kern/misc.c: Include <pupa/env.h>.
52460 (pupa_isdigit): New function.
52461 (pupa_isgraph): Likewise.
52462 (pupa_ftoa): Likewise.
52463 (pupa_vsprintf): Added support for printing values of the type
52464 `double'. Make it possible to format variable output when using
52465 formatting like `%1.2%f'.
52466 (pupa_split_cmdline): New function.
52467 * kern/rescue.c: Include <pupa/env.h>.
52468 (next_word): Removed function.
52469 (pupa_rescue_cmd_prefix): Likewise.
52470 (pupa_rescue_cmd_set): New function.
52471 (pupa_rescue_cmd_unset): New function.
52472 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52473 split the command line instead of splitting it here. Added
52474 support for setting variables using the syntax `foo=bar'. Don't
52475 initialize the prefix command anymore. Initialized the set and
52476 unset commands.
52477 * normal/cmdline.c: Include <pupa/env.h>.
52478 (pupa_tab_complete): Added prototypes for print_simple_completion,
52479 print_partition_completion, add_completion, iterate_commands,
52480 iterate_dev, iterate_part and iterate_dir. Moved code to print
52481 partition information from here to kern/disk.c.
fe6b695a 52482 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52483 * normal/main.c: Include <pupa/env.h>.
52484 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52485 instead of using pupa_dl_get_prefix to get the prefix.
52486 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52487 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52488 warning.
52489 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52490 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52491 ((unused))' to silence a gcc warning.
52492 (pupa_vga_setcolor): Likewise.
52493 (debug_command): Changed to match argument parsing
52494 interface changes.
52495 * util/pupa-emu.c: Include <pupa/env.h>.
52496 (options): Added 0's for unused fields to silence a gcc warning.
52497 (argp): Likewise.
52498 (main): Use the environment variable `prefix' instead of using
52499 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52500 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52501 and terminal.
52502
52503 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52504 * util/misc.c: Include <malloc.h>.
52505 (pupa_malloc): Rewritten so errors are correctly reported.
52506 (pupa_realloc): Likewise.
52507 (pupa_memalign): Likewise.
52508 (pupa_mm_init_region): Declare unused variables with
52509 `__attribute__ ((unused))' to silence a gcc warning.
52510 * normal/i386/setjmp.S: Remove tab at the end of the file to
52511 silence a gcc warning.
52512 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52513 variables with `__attribute__ ((unused))' to silence a gcc
52514 warning.
52515 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52516 local variable i unsigned to silence a gcc warning.
52517
52518 * kern/term.c: Include <pupa/misc.h>.
52519 (pupa_more_lines): New variable.
52520 (pupa_more): Likewise.
52521 (pupa_putcode): When the pager is active pause at the end of every
52522 screen.
52523 (pupa_set_more): New function.
52524 * include/pupa/term.h (pupa_set_more): New prototype.
52525
52526
3b1139cb 525272004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52528
52529 Now this project is GRUB 2 rather than PUPA. The location of
52530 the CVS repository was moved to GRUB's.
f19dbdb7 52531
3b1139cb 52532 * configure.ac: Use bug-grub as the reporting address.
52533 Use GRUB instead of PUPA.
52534 Change the version number to 1.90.
52535
8367695c 525362004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52537
52538 * genkernsyms.sh: Updated copyright information.
52539 * genmk.rb: Likewise.
52540 * genmodsrc.sh: Likewise.
52541 * gensymlist.sh: Likewise.
52542 * boot/i386/pc/boot.S: Likewise.
52543 * boot/i386/pc/diskboot.S: Likewise.
52544 * disk/i386/pc/biosdisk.c: Likewise.
52545 * disk/i386/pc/partition.c: Likewise.
52546 * font/manager.c: Likewise.
52547 * fs/ext2.c: Likewise.
52548 * fs/fat.c: Likewise.
52549 * include/pupa/boot.h: Likewise.
52550 * include/pupa/device.h: Likewise.
52551 * include/pupa/disk.h: Likewise.
52552 * include/pupa/dl.h: Likewise.
52553 * include/pupa/elf.h: Likewise.
52554 * include/pupa/err.h: Likewise.
52555 * include/pupa/file.h: Likewise.
52556 * include/pupa/font.h: Likewise.
52557 * include/pupa/fs.h: Likewise.
52558 * include/pupa/kernel.h: Likewise.
52559 * include/pupa/loader.h: Likewise.
52560 * include/pupa/misc.h: Likewise.
52561 * include/pupa/mm.h: Likewise.
52562 * include/pupa/net.h: Likewise.
52563 * include/pupa/normal.h: Likewise.
52564 * include/pupa/rescue.h: Likewise.
52565 * include/pupa/setjmp.h: Likewise.
52566 * include/pupa/symbol.h: Likewise.
52567 * include/pupa/term.h: Likewise.
52568 * include/pupa/types.h: Likewise.
52569 * include/pupa/i386/setjmp.h: Likewise.
52570 * include/pupa/i386/types.h: Likewise.
52571 * include/pupa/i386/pc/biosdisk.h: Likewise.
52572 * include/pupa/i386/pc/boot.h: Likewise.
52573 * include/pupa/i386/pc/console.h: Likewise.
52574 * include/pupa/i386/pc/init.h: Likewise.
52575 * include/pupa/i386/pc/kernel.h: Likewise.
52576 * include/pupa/i386/pc/linux.h: Likewise.
52577 * include/pupa/i386/pc/loader.h: Likewise.
52578 * include/pupa/i386/pc/memory.h: Likewise.
52579 * include/pupa/i386/pc/multiboot.h: Likewise.
52580 * include/pupa/i386/pc/partition.h: Likewise.
52581 * include/pupa/i386/pc/time.h: Likewise.
52582 * include/pupa/i386/pc/vga.h: Likewise.
52583 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52584 * include/pupa/util/getroot.h: Likewise.
52585 * include/pupa/util/misc.h: Likewise.
52586 * include/pupa/util/resolve.h: Likewise.
52587 * kern/device.c: Likewise.
52588 * kern/disk.c: Likewise.
52589 * kern/dl.c: Likewise.
52590 * kern/err.c: Likewise.
52591 * kern/file.c: Likewise.
52592 * kern/fs.c: Likewise.
52593 * kern/loader.c: Likewise.
52594 * kern/main.c: Likewise.
52595 * kern/misc.c: Likewise.
52596 * kern/mm.c: Likewise.
52597 * kern/rescue.c: Likewise.
52598 * kern/term.c: Likewise.
52599 * kern/i386/dl.c: Likewise.
52600 * kern/i386/pc/init.c: Likewise.
52601 * kern/i386/pc/lzo1x.S: Likewise.
52602 * kern/i386/pc/startup.S: Likewise.
52603 * loader/i386/pc/chainloader.c: Likewise.
52604 * loader/i386/pc/linux.c: Likewise.
52605 * loader/i386/pc/multiboot.c: Likewise.
52606 * normal/cmdline.c: Likewise.
52607 * normal/command.c: Likewise.
52608 * normal/main.c: Likewise.
52609 * normal/menu.c: Likewise.
52610 * normal/i386/setjmp.S: Likewise.
52611 * term/i386/pc/console.c: Likewise.
52612 * term/i386/pc/vga.c: Likewise.
52613 * util/console.c: Likewise.
52614 * util/genmoddep.c: Likewise.
52615 * util/misc.c: Likewise.
52616 * util/pupa-emu.c: Likewise.
52617 * util/resolve.c: Likewise.
52618 * util/unifont2pff.rb: Likewise.
52619 * util/i386/pc/biosdisk.c: Likewise.
52620 * util/i386/pc/getroot.c: Likewise.
52621 * util/i386/pc/pupa-mkimage.c: Likewise.
52622 * util/i386/pc/pupa-setup.c: Likewise.
52623
e6eced71 526242004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52625
52626 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52627 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52628 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52629 reading and reset it after reading.
52630 (pupa_ext2_close): Return PUPA_ERR_NONE.
52631
52632 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52633 Correct value.
52634 (struct linux_kernel_header): Add kernel_version and
52635 initrd_addr_max.
52636 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52637 pupa_file_read succeeds.
52638 (pupa_rescue_cmd_initrd): Implement.
52639
5aded270 526402003-12-03 Marco Gerards <metgerards@student.han.nl>
52641
52642 * fs/ext2.c (pupa_ext2_label): New function.
52643 (pupa_ext2_fs): Added label.
52644 * fs/fat.c (pupa_fat_label): New function.
52645 (pupa_fat_fs): Added label.
52646 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52647
52648 * kern/misc.c (pupa_strndup): New function.
52649 * include/pupa/misc.h (pupa_strndup): New prototype.
52650
52651 * include/pupa/normal.h: Include <pupa/err.h>.
52652 (pupa_set_history): New prototype.
52653 (pupa_iterate_commands): New prototype.
52654 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52655 <pupa/disk.h>, <pupa/file.h>.
52656 (hist_size): New variable.
52657 (hist_lines): Likewise.
52658 (hist_end): Likewise.
52659 (hist_used): Likewise.
52660 (pupa_set_history): New function.
52661 (pupa_history_get): Likewise.
52662 (pupa_history_add): Likewise.
52663 (pupa_history_replace): Likewise.
52664 (pupa_tab_complete): Likewise.
52665 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52666 completion shows partitionnames while completing partitions, this
52667 feature was suggested by Jeff Bailey.
52668 * normal/command.c (pupa_iterate_commands): New function.
52669 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52670 (pupa_normal_init): Initialize history buffer.
52671 (PUPA_MOD_INIT): Likewise.
52672 (pupa_normal_fini): Free the history buffer.
52673 (PUPA_MOD_FINI): Likewise.
52674
52675 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52676 key.
52677
52678 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52679 * configure.ac [i386]: Check for regparam bug.
52680 (NESTED_FUNC_ATTR) [! i386]: Defined.
52681
1f7315a3 526822003-11-17 Marco Gerards <metgerards@student.han.nl>
52683
52684 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52685 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52686 (pupa_emu_SOURCES): New variable.
52687 (pupa_emu_LDFLAGS): Likewise.
52688 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52689 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52690 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52691 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52692 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52693 (pupa_jmp_buf): New typedef.
52694 (pupa_setjmp) [PUPA_UTIL]: New macro.
52695 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52696 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52697 (pupa_refresh): New prototype.
52698 * include/pupa/util/getroot.h: New file.
52699 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52700 it.
52701 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52702 (pupa_rescue_cmd_cat): Likewise.
52703 (pupa_rescue_cmd_ls): Likewise.
52704 (pupa_rescue_cmd_testload): Likewise.
52705 (pupa_rescue_cmd_lsmod): Likewise.
52706 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52707 * normal/menu.c (run_menu): Likewise.
52708 * kern/term.c (pupa_cls): Likewise.
52709 (pupa_refresh): New function.
52710 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52711 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52712 * util/console.c: New file.
f19dbdb7 52713
1f7315a3 52714 * util/i386/pc/getroot.c: New file.
52715 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52716 (pupa_putchar): New function.
52717 (pupa_refresh): Likewise.
52718 (xgetcwd): Function moved to ...
52719 (strip_extra_slashes): Likewise.
52720 (get_prefix): Likewise.
f19dbdb7 52721 * util/i386/pc/getroot.c: ... here.
1f7315a3 52722 (find_root_device): Function moved and renamed to...
52723 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52724 Changed all callers.
52725 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52726 and renamed to...
52727 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52728 Changed all callers.
52729 * util/misc.c (pupa_memalign): New function.
52730 (pupa_mm_init_region): Likewise.
52731 (pupa_register_exported_symbols): Likewise.
52732 (pupa_putchar): Function removed.
52733 * util/pupa-emu.c: New file.
52734
9a5c1ade 527352003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52736
52737 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52738 (_multiboot_mod_SOURCES): New variable.
52739 (_multiboot_mod_CFLAGS): Likewise.
52740 * loader/i386/pc/multiboot.c: New file.
52741 * include/pupa/i386/pc/multiboot.h: Likewise.
52742 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52743 (pupa_multiboot_real_boot): New function.
52744 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52745 (pupa_multiboot_real_boot): New prototype.
52746 (pupa_rescue_cmd_multiboot): Likewise
52747 (pupa_rescue_cmd_module): Likewise.
52748
52749 * kern/loader.c (pupa_loader_set): Continue when
52750 pupa_loader_unload_func() fails.
52751 (pupa_loader_unset): New function.
52752 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52753
52754 * kern/misc.c (pupa_stpcpy): New function.
52755 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52756
8e72a9c0 527572003-11-12 Marco Gerards <metgerards@student.han.nl>
52758
52759 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52760 for available extensions.
52761
52762 * include/pupa/i386/pc/time.h: New file.
52763 * kern/disk.c: Include <pupa/machine/time.h>.
52764 (PUPA_CACHE_TIMEOUT): New macro.
52765 (pupa_last_time): New variable.
52766 (pupa_disk_open): Flush the cache when there was a timeout.
52767 (pupa_disk_close): Reset the timer.
52768 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52769 pupa_currticks.
52770 * util/misc.c: Include <sys/times.h>
52771 (pupa_get_rtc): New function.
52772
c4adbd32 527732003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52774
52775 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52776 as blocks.
52777 (pupa_ext2_get_file_block): Use blocks member.
52778
52779 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52780 first block. Return -1 instead of pupa_errno on error.
52781
bfd30f06 527822003-10-27 Marco Gerards <metgerards@student.han.nl>
52783
52784 * README: In the pupa-mkimage example use _chain instead of chain
52785 and ext2 instead of fat.
52786 * TODO: Replace ext2fs with jfs as an example. Add an item for
52787 adding journal playback for ext2fs.
52788 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52789 (pkgdata_MODULES): Added ext2.mod.
52790 (ext2_mod_SOURCES): New variable.
52791 (ext2_mod_CFLAGS): Likewise.
52792 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52793 * include/pupa/misc.h (pupa_strncpy): New prototype.
52794 (pupa_strcat): Likewise.
52795 (pupa_strncmp): Likewise.
52796 * kern/misc.c (pupa_strcat): Enable function.
52797 (pupa_strncpy): New function.
52798 (pupa_strncmp): Likewise.
52799 * fs/ext2.c: New file.
f19dbdb7 52800
bfd30f06 52801 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52802 when the read failed before retrying.
52803 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52804 (_FILE_OFFSET_BITS): Likewise.
52805 * configure.ac: Added AC_SYS_LARGEFILE.
52806
98d15063 528072003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52808
52809 * genmk.rb (PModule#rule): Make sure to get only symbol names
52810 from the output of nm.
59cad637 52811 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52812
18d9c7cd 528132003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52814
52815 I forgot to check in these changes for a long time. This adds
52816 incomplete support for VGA console, and this is still very
52817 buggy. Also, a lot of consideration is required for I18N,
52818 UNICODE, and VGA font issues. Therefore, assume that this is
52819 such that "better than nothing".
f19dbdb7 52820
18d9c7cd 52821 * font/manager.c: New file.
52822 * include/pupa/font.h: Likewise.
52823 * include/pupa/i386/pc/vga.h: Likewise.
52824 * term/i386/pc/vga.c: Likewise.
52825 * util/unifont2pff.rb: Likewise.
52826
52827 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52828 (pkgdata_MODULES): Added vga.mod and font.mod.
52829 (vga_mod_SOURCES): New variables.
52830 (vga_mod_CFLAGS): Likewise.
52831 (font_mod_SOURCES): Likewise.
52832 (font_mod_CFLAGS): Likewise.
52833
52834 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52835
52836 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52837 (struct pupa_term): Added init and fini.
18d9c7cd 52838 Changed the argument of putchar to pupa_uint32_t.
52839
52840 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52841 (pupa_console_real_putchar): New prototype.
52842 (pupa_console_putchar): Removed.
52843 (pupa_console_checkkey): Exported.
52844 (pupa_console_getkey): Likewise.
52845
52846 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52847 characters.
52848
52849 * kern/term.c (pupa_term_set_current): Rewritten.
52850 (pupa_putchar): Likewise.
52851 (pupa_putcode): New function.
52852
52853 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52854 (pupa_console_real_putchar): ... this.
52855 (pupa_vga_set_mode): New function.
52856 (pupa_vga_get_font): Likewise.
52857
52858 * normal/command.c: Include pupa/term.h.
52859 (terminal_command): New function.
52860 (pupa_command_init): Register the command "terminal".
52861
52862 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52863 (DISP_UP): Likewise.
52864 (DISP_RIGHT): Likewise.
52865 (DISP_DOWN): Likewise.
52866 (DISP_HLINE): Likewise.
52867 (DISP_VLINE): Likewise.
52868 (DISP_UL): Likewise.
52869 (DISP_UR): Likewise.
52870 (DISP_LL): Likewise.
52871 (DISP_LR): Likewise.
52872
52873 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52874
977329f5 528752003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52876
52877 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52878 FIX. Reverse the path_list.
52879
52880 * include/pupa/normal.h: Export pupa_register_command and
52881 pupa_unregister_command.
52882
52883 * hello/hello.c (pupa_cmd_hello): New module.
52884 * conf/i386-pc.rmk: Added hello.mod.
52885
1f5ab428 528862003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52887
52888 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52889
1f5ab428 52890 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52891 (compress_kernel): New variable.
52892 (generate_image): Heavily modified to support compressing a
52893 large part of the core image.
52894
52895 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52896 leak.
52897 (pupa_util_load_image): New function.
52898
52899 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52900 (pupa_compressed_size): New variable.
52901 (codestart): Enable Gate A20 here.
52902 Decompress the compressed part of the core image.
52903 Rearrange the code to put functions and variables which are
52904 required for initialization in the non-compressed part.
52905 Include lzo1x.S.
52906
52907 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52908 here.
52909
52910 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52911
f19dbdb7 52912 * include/pupa/i386/pc/kernel.h
1f5ab428 52913 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52914 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52915 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52916 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52917 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52918
52919 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52920
52921 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52922 (Utility#rule): Likewise.
52923
52924 * configure.ac: Check if LZO is available.
52925
ce5bf700 529262003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52927
52928 * include/pupa/normal.h: New file.
52929 * include/pupa/setjmp.h: Likewise.
52930 * include/pupa/i386/setjmp.h: Likewise.
52931 * normal/cmdline.c: Likewise.
52932 * normal/command.c: Likewise.
52933 * normal/main.c: Likewise.
52934 * normal/menu.c: Likewise.
52935 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52936
ce5bf700 52937 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52938 (pupa_rescue_cmd_initrd): Likewise.
52939
52940 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52941 Likewise.
52942
52943 * kern/i386/pc/startup.S (translation_table): New variable.
52944 (translate_keycode): New function.
52945 (pupa_console_getkey): Call translate_keycode.
52946
52947 * kern/rescue.c (attempt_normal_mode): New function.
52948 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52949 it failed, print a message.
52950
52951 * kern/mm.c (pupa_real_malloc): Print more information when a
52952 free magic is broken.
52953 (pupa_free): If the first free header is not free actually, set
52954 it to P.
52955
52956 * kern/main.c (pupa_load_normal_mode): Just load the module
52957 "normal".
52958 (pupa_main): Don't print the message
52959 "Entering into rescue mode..." here.
52960
52961 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52962 Declared.
52963 (pupa_rescue_cmd_initrd): Likewise.
52964 (pupa_rescue_cmd_initrd): Likewise.
52965
52966 * include/pupa/symbol.h (FUNCTION): Specify the type.
52967 (VARIABLE): Likewise.
52968
52969 * include/pupa/err.h (pupa_err_t): Added
52970 PUPA_ERR_UNKNOWN_COMMAND.
52971
52972 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52973 (pupa_dl_get_prefix): Likewise.
52974
52975 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52976 Added _chain.mod and _linux.mod instead of chain.mod and
52977 linux.mod.
52978 (chain_mod_SOURCES): Renamed to ...
52979 (_chain_mod_SOURCES): ... this.
52980 (chain_mod_CFLAGS): Renamed to ...
52981 (_chain_mod_CFLAGS): ... this.
52982 (linux_mod_SOURCES): Renamed to ...
52983 (_linux_mod_SOURCES): ... this.
52984 (linux_mod_CFLAGS): Renamed to ...
52985 (_linux_mod_CFLAGS): ... this.
52986 (normal_mod_SOURCES): New variable.
52987 (normal_mod_CFLAGS): Likewise.
52988 (normal_mod_ASFLAGS): Likewise.
52989
529902003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52991
52992 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52993 possible.
52994
fe6b695a 52995 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52996 recursively.
52997 (pupa_dl_unref): Unrefer depending modules recursively.
52998 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52999 a module is unloaded before one depending on that module is
53000 unloaded.
53001 (pupa_dl_unload): Unload depending modules explicitly,
53002 if possible.
53003
c04da074 530042003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53005
53006 * include/pupa/i386/pc/linux.h: New file.
53007 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53008
c04da074 53009 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53010 Removed.
53011 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53012 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53013 of PUPA_CHAINLOADER_BOOT_SECTOR.
53014
53015 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53016 (pupa_linux_prot_size): New variable.
53017 (pupa_linux_tmp_addr): Likewise.
53018 (pupa_linux_real_addr): Likewise.
53019 (pupa_linux_boot_zimage): New function.
53020 (pupa_linux_boot_bzimage): Likewise.
53021
53022 * kern/i386/pc/init.c (struct mem_region): New structure.
53023 (MAX_REGIONS): New macro.
53024 (mem_regions): New variable.
53025 (num_regions): Likewise.
53026 (pupa_os_area_addr): Likewise.
53027 (pupa_os_area_size): Likewise.
53028 (pupa_lower_mem): Likewise.
53029 (pupa_upper_mem): Likewise.
53030 (add_mem_region): New function.
53031 (compact_mem_regions): Likewise.
53032 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53033 the size of the conventional memory and that of so-called upper
53034 memory (before the first memory hole).
53035 Instead of adding each found region to free memory, use
53036 add_mem_region and add them after removing overlaps.
53037 Also, add only 1/4 of the upper memory to free memory. The rest
53038 is used for loading OS images. Maybe this is ad hoc, but this
53039 makes it much easier to relocate OS images when booting.
53040
53041 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53042 (pupa_enter_rescue_mode): Don't register initrd and module.
53043
53044 * kern/mm.c: Include pupa/dl.h.
53045
53046 * kern/main.c: Include pupa/file.h and pupa/device.h.
53047
53048 * kern/loader.c (pupa_loader_load_module_func): Removed.
53049 (pupa_loader_load_module): Likewise.
53050
53051 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53052 ``.o''.
53053
53054 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53055 (pupa_linux_tmp_addr): Likewise.
53056 (pupa_linux_real_addr): Likewise.
53057 (pupa_linux_boot_zimage): Likewise.
53058 (pupa_linux_boot_bzimage): Likewise.
53059
53060 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53061 (pupa_upper_mem): Likewise.
53062 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53063 module is too dangerous.
53064
53065 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53066 (pupa_os_area_size): Likewise.
53067 (pupa_loader_set): Remove the first argument. Loader doesn't
53068 manage modules or initrd any longer.
53069 (pupa_loader_load_module): Removed.
53070
53071 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53072 (linux_mod_SOURCES): New variable.
53073 (linux_mod_CFLAGS): Likewise.
53074
a13f9237 530752003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53076
53077 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53078 the length of a blocklist correctly.
53079
53080 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53081 Use ioctl only if the OS file is a block device.
53082 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53083 not very useful for normal files.
53084
53085 * kern/main.c (pupa_set_root_dev): New function.
53086 (pupa_load_normal_mode): Likewise.
53087 (pupa_main): Call those above.
53088
53089 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53090 pupa_uint16_t.
53091
53092 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53093
a5ffe966 530942003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53095
53096 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53097 (setup): Configure the installed partition information and the
53098 dl prefix.
53099
53100 * loader/i386/pc/chainloader.c (my_mod): New variable.
53101 (pupa_chainloader_unload): New function.
53102 (pupa_rescue_cmd_chainloader): Refer itself.
53103 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53104
53105 * kern/i386/pc/startup.S (install_partition): Removed.
53106 (version_string): Likewise.
53107 (config_file): Likewise.
53108 (pupa_install_dos_part): New variable.
53109 (pupa_install_bsd_part): Likewise.
53110 (pupa_prefix): Likewise.
53111 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53112
53113 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53114 and pupa/misc.h.
53115 (make_install_device): New function.
53116 (pupa_machine_init): Set the dl prefix.
53117
53118 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53119 (buf): Renamed to ...
53120 (linebuf): ... this.
53121 (pupa_rescue_cmd_prefix): New function.
53122 (pupa_rescue_cmd_insmod): Likewise.
53123 (pupa_rescue_cmd_rmmod): Likewise.
53124 (pupa_rescue_cmd_lsmod): Likewise.
53125 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53126 rmmod and lsmod.
53127
53128 * kern/mm.c (pupa_memalign): If failed even after invalidating
53129 disk caches, unload unneeded modules and retry.
53130
53131 * kern/misc.c (pupa_memmove): New function.
53132 (pupa_memcpy): Removed.
53133 (pupa_strcpy): New function.
53134 (pupa_itoa): Made static.
53135
53136 * kern/dl.c (pupa_dl_iterate): New function.
53137 (pupa_dl_ref): Likewise.
53138 (pupa_dl_unref): Likewise.
53139 (pupa_dl_unload): Return if succeeded or not.
53140 (pupa_dl_unload_unneeded): New function.
53141 (pupa_dl_unload_all): Likewise.
53142 (pupa_dl_init): Renamed to ...
53143 (pupa_dl_set_prefix): ... this.
53144 (pupa_dl_get_prefix): New function.
53145
53146 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53147 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53148 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53149 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53150 (pupa_install_dos_part): Declared.
53151 (pupa_install_bsd_part): Likewise.
53152 (pupa_prefix): Likewise.
53153 (pupa_boot_drive): Likewise.
53154
53155 * include/pupa/types.h: Fix a typo.
53156
53157 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53158 pupa_memmove.
53159 (pupa_memmove): Declared.
53160 (pupa_strcpy): Likewise.
53161
53162 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53163 pupa_mod_init takes one argument, its own module.
53164 (pupa_dl_unload_unneeded): Declared.
53165 (pupa_dl_unload_all): Likewise.
53166 (pupa_dl_ref): Likewise.
53167 (pupa_dl_unref): Likewise.
53168 (pupa_dl_iterate): Likewise.
53169 (pupa_dl_init): Renamed to ...
53170 (pupa_dl_set_prefix): ... this.
53171 (pupa_dl_get_prefix): Declared.
53172
53173 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53174 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53175 unloaded.
53176 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53177 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53178
53179 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53180 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53181
012d7999 531822003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53183
53184 * util/i386/pc/pupa-setup.c (setup): Define the internal
53185 function find_first_partition_start at the top level, because GCC
53186 3.0.x cannot compile internal functions in deeper scopes
53187 correctly.
53188 (find_root_device): Use lstat instead of stat.
53189 Don't follow symbolic links.
53190 Fix the path-constructing code.
53191
53192 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53193 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53194 by a BLKGETSIZE ioctl first, because block devices don't fill
53195 the member st_mode of the structure stat on Linux.
53196 [__linux__] (linux_find_partition): Use a temporary buffer
53197 REAL_DEV for the working space. Copy it to DEV before returning.
53198 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53199 buffer cache consistent.
53200 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53201 strncmp. The previous value was merely wrong.
53202 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53203
53204 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53205 FAT size is 12. The previous value was merely wrong.
53206
53207 * kern/main.c (pupa_main): Don't split the starting message from
53208 newlines.
53209
53210 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53211 LF, because BIOS goes crazy about character attributes in this
53212 case.
53213
1cc73a62 532142003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53215
53216 * include/i386/pc/util/biosdisk.h: New file.
53217 * util/i386/pc/biosdisk.c: Likewise.
53218 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53219
1cc73a62 53220 * Makefile.in (INCLUDE_DISTFILES): Added
53221 include/pupa/i386/pc/util/biosdisk.h.
53222 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53223 directory util/i386/pc.
53224 (install-local): Added a rule for sbin_UTILITIES.
53225 (uninstall): Likewise.
53226
53227 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53228
53229 * util/misc.c (xrealloc): New function.
53230 (pupa_malloc): Likewise.
53231 (pupa_free): Likewise.
53232 (pupa_realloc): Likewise.
53233 (pupa_stop): Likewise.
53234 (pupa_putchar): Likewise.
53235
53236 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53237
53238 * include/pupa/util/misc.h (xrealloc): Declared.
53239
53240 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53241 macro.
53242 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53243 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53244
53245 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53246 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53247
53248 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53249 way should be implemented.
53250 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53251
53252 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53253 the size of NAME for safety.
53254 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53255 0x88.
53256
53257 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53258 (pupa_setup_SOURCES): Likewise.
53259
53260 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53261
08b70fe8 532622002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53263
53264 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53265 bunch of pushl's from pusha, because this destroys the return
53266 value.
53267
62ddcc8f 532682002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53269
53270 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53271 This means that any missing prototypes could be fatal. Also, you
53272 must take care when writing assembly code. See the comments at
53273 the beginning of startup.S, for more details.
f19dbdb7 53274
62ddcc8f 53275 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53276 compilation mechanism.
53277 (pupa_chainloader_real_boot): Likewise.
53278 (pupa_biosdisk_rw_int13_extensions): Likewise.
53279 (pupa_biosdisk_rw_standard): Likewise.
53280 (pupa_biosdisk_check_int13_extensions): Likewise.
53281 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53282 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53283 (pupa_get_memsize): Likewise.
53284 (pupa_get_mmap_entry): Likewise.
53285 (pupa_console_putchar): Likewise.
53286 (pupa_console_setcursor): Likewise.
53287 (pupa_getrtsecs): Use pushl instead of push.
53288
53289 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53290 memory instead of the stack for a mmap entry, because some
53291 BIOSes may ignore the maximum size and overflow.
53292
53293 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53294
53295 * genmk.rb (PModule#rule): Compile automatically generated
53296 sources with module-specific CFLAGS as well as other sources.
53297
9962ed99 532982002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53299
53300 * configure.ac: Check ld.
53301 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53302 respectively, before checking endianness and sizes.
53303
53304 * Makefile.in (LD): New variable.
f19dbdb7 53305
abdfc3c5 533062002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53307
53308 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53309
6a161fa9 533102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53311
53312 * Changelog: New file.
53313