]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Ensure that -mno-unaligned-access or some equivalent option is used.
[grub2.git] / ChangeLog
CommitLineData
d74b9a1d
VS
12013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Ensure that -mno-unaligned-access or some equivalent option is used.
4
35de6d4b
VS
52013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
8 -march=armv3.
9
ce55ed03
VS
102013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
13
8ddf84bf
CW
142013-11-29 Colin Watson <cjwatson@ubuntu.com>
15
16 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
17 builds, since we don't have an EPS version of font_char_metrics.png.
18 Add leading dot to image extension per the Texinfo documentation.
19
fd0df6d0
CW
202013-11-29 Colin Watson <cjwatson@ubuntu.com>
21
22 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
23 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
24 * util/grub-gen-widthspec.c: Likewise.
25 * util/grub-mkfont.c: Likewise.
26
69ca97c8
AB
272013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
28
29 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
30 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
31 failed to install on (hdX).
32 * util/grub-setup.c (get_device_name): Remove, not needed after
33 above change.
34
eec893ae
VS
352013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
38
621e167f
VS
392013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * util/grub-fstest.c: Remove variable length arrays.
42
d54f647a
VS
432013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/osdep/linux/ofpath.c: Check return value of read.
46
c8a0f1b2
VS
472013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
50 computing crc32 rather than handling with md fundtions directly.
51
726409a5
VS
522013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
55 checking fwstart.img rather than md fundtions directly.
56
422e6e88
VS
572013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * util/grub-mkrescue.c (main): Check that fread succeeded.
60
af1faca3
VS
612013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * conf/Makefile.common: Remove -mexplicit-relocs and
64 -DUSE_ASCII_FALLBACK on yeeloong.
65
66 -DUSE_ASCII_FALLBACK is already added by font snippets.
67 -mexplicit-relocs isn't needed is compiler/assemblera are
68 configured properly.
69 If they're not we shouldn't attempt to fix it by ourselves.
70 Binary compare between before and after shows no difference.
71
469021b4
VS
722013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
75 sources in dependencies directly.
76
77 This was the only instance of "library" in core config. A bug was
78 reported that -fno-stack-protector wasn't passed to it. Instead of
79 figuring out why it failed just remove this construction used
80 needlessly.
81
83c256ba
VS
822013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/osdep/unix/password.c (grub_password_get): Check that
85 fgets succeeded.
86
b67422d3
FL
872013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
88
89 * docs/grub.texi (ls): Fix command description in case of a device name
90 passed as argument.
91
2d76b4d8
VS
922013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Eliminate variable length arrays in grub_vsnprintf_real.
95
96 A bit tricky because this function has to continue to work without
97 heap for short strings. Fixing prealloc to 32 arguments is reasonable
98 but make all stack references use 32-bit offset rather than 8-bit one.
99 So split va_args preparsing to separate function and put the prealloc
100 into the caller.
101
4f954122
VS
1022013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
103
104 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
105 Fixes build for windows.
106
b1f742c1
VS
1072013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * gentpl.py: Don't generate platform-dependent conditionals for
110 platform-independent targets.
111
16ef26fd
CW
1122013-11-27 Colin Watson <cjwatson@ubuntu.com>
113
114 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
115 references to mdadm from otherwise generic code.
116 (grub_util_exec_pipe): Likewise.
117 (grub_util_exec_pipe_stderr): Likewise.
118 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
119 This function calls vgs, not mdadm; adjust variable names
120 accordingly.
121
cf8c80ff 1222013-11-27 Colin Watson <cjwatson@ubuntu.com>
ab4f1501
CW
123
124 Generate Makefile.*.am directly from gentpl.py, eliminating the use
125 of Autogen. The Autogen definitions files remain intact as they
126 offer a useful abstraction.
127
5c7206e4
CW
1282013-11-27 Colin Watson <cjwatson@ubuntu.com>
129
130 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
131 into no-ops, and use it in programs that copy files but do not need
132 to take special care to sync writes (grub-mknetdir, grub-rescue,
133 grub-mkstandalone).
134
fc3f2b72
CW
1352013-11-26 Colin Watson <cjwatson@ubuntu.com>
136
137 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
138 than hardcoding /usr/local/bin/xorriso.
139
1e4b3587
VS
1402013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Add PCI command activation to all PCI drivers as required for coreboot
143 and maybe some other firmwares.
144
9208367d
VS
1452013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
146
147 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
148 and non-Apple variants of efiemu compile.
149
67b9b7af
AB
1502013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
151
152 * configure.ac: Add explicit check for linking format of
153 efiemu64; save it as EFIEMU64_LINK_FORMAT.
154 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
155 hardcoding linking format.
156
bee1b5ce
VS
1572013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
160 and not pkgdatadir.
161
07e3b047
CW
1622013-11-25 Colin Watson <cjwatson@ubuntu.com>
1632013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
164
165 Add a --locale-directory option to grub-install and related tools.
166
167 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
168 --locale-directory option.
169 (enum grub_install_options): Add
170 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
171 * util/grub-install-common.c (grub_install_help_filter): Handle
172 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
173 (grub_install_parse): Likewise.
174 (get_localedir): New function to check for a user-provided option
175 before trying grub_util_get_localedir.
176 (copy_locales): Use get_localedir rather than
177 grub_util_get_localedir. Handle differing locale directory layouts.
178 (grub_install_copy_files): Likewise.
179
61e1b9a4
VS
1802013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
183 Don't rely on PATH_MAX.
184
c98dd165
VS
1852013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/genmoddep.awk: Use more portable && rather than and.
188
ff1c277e
VS
1892013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
192 an object after data. While it doesn't seem right solution, it
193 works well enough and OSX isn't main compilation platform.
194
c8f7614b
VS
1952013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
198 While it doesn't seem right solution, it works well enough and
199 OSX isn't main compilation platform.
200
246a434f
VS
2012013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * configure.ac: Add -static to LDFLAGS when using apple linker to
204 prevent it from pulling in dynamic linker.
205
5c066a81
VS
2062013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Apple assembly doesn't handle symbol arithmetic well. So define an
209 offset symbol in boot.S and use it.
210
78f961ef
VS
2112013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Apple assembly doesn't handle symbol arithmetic well. So instead
214 of getting addres of kernel_sector + 4 define kernel_sector_high.
215 It also makes code more readable.
216
09bc0a57
VS
2172013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
218
219 With Apple assembly in .macro environvemnt you have to use $$ instead
220 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
221 to $$x on Apple and to $x on everything else.
222
b700a427
VS
2232013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
226 OBJCONV.
227
4480b95d
VS
2282013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
231 and non-Apple. This instruction is shorter and faster,
232 so no reason not to use it on both.
233
e77c81f6
VS
2342013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
237 .text when compiling for Apple.
238
971dbee5
VS
2392013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/term/arc/console.c: Add missing cast to silence warning.
242
6f2e82be
VS
2432013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
246 %dx restore the probe worked on non-existant drive. Reorganize the
247 code a little bit to free 2 bytes necessary for push/pop.
248
9eec9699
VS
2492013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
252 Add missing cast to silence warning.
253
5ae5c54c
KPA
2542013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
255
256 * util/grub-install.c (update_nvram): Support --no-nvram flag
257 for EFI targets.
258
7b04fe6c
VS
2592013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
262
e67566ce
VS
2632013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * util/garbage-gen.c: Add missing include of sys/time.h.
266
f93ddcfd
VS
2672013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
268
269 Don't add -mflush-func if it's not supported by compiler.
270
1bba40f5
VS
2712013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
272
273 Move common BIOS/coreboot memory map declarations to
274 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
275
f65e14dc
AB
2762013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
277
278 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
279
14a94bba
VS
2802013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * INSTALL: Document why older clang versions aren't appropriate.
283
8109c5d4
VS
2842013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * INSTALL: Document about clang for mips.
287
a92b5cb8
VS
2882013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
291 clang.
292
4a23e2fe
VS
2932013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
294
295 Add *-xen to the list of grub-install-common platforms.
296
a3ba7410
VS
2972013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
300 3 last commits.
301
e1c22419
VS
3022013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
305
189090ce
VS
3062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
309 with -mcmodel=large.
310
1a5b7b40
VS
3112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
314 range-checking for 32-bit quantities.
315
9cf12b20
VS
3162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * configure.ac: Compile with -fPIC when compiling with clang on
319 mips.
320
63a45330
VS
3212013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
324 when compiling with clang.
325
4a0aaad0
VS
3262013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
327
328 clang emits calls to abort () under some unknown conditions.
329 Export abort () when compiling with clang.
330
095bb1bf
VS
3312013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * docs/grub-dev.texi: Document stack and heap sizes.
334
3937bd96
VS
3352013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * include/grub/i386/pc/memory.h: Decrease
338 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
339 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
340 The binary doesn't change (checked). It's more to better reflect actual
341 usage.
342
ddb3efc9
VS
3432013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
346 at compile time that enough of scratch size is available.
347
4e42521d
VS
3482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
351 Previously we misaligned stack by 8 in startup.S and compensated
352 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
353 right behaviour is to align stack in startup.S and keep it aligned
354 in callwrap.S. startup.S part was committed few commits before. This
355 takes care of callwrap.S.
356 Reported by: Gary Lin.
357
054efe54
VS
3582013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
361 .data and .bss. May happen if compiler and assembly use different
362 alignment.
363
a0e1befb
VS
3642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
365
366 On MIPS handle got16 relocations to local symbols in an ABI-compliant
367 way.
368
c36c73f6
VS
3692013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Add support for a new magic symbol _gp_disp on mips to handle PIC
372 binaries.
373
6f4a19f5
VS
3742013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
375
376 Use $t9 for indirect calls from asm to C as PIC ABI requires.
377
0d8f04cd
VS
3782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
381 when rest of GRUB is compiled for hisher stepping. Instead use
382 .set mips3/.set mips1 around cache and sync opcodes.
383
49060520
VS
3842013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
385
386 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
387 do essentially the same thing, do it in similar way.
388
c6a823e2
CW
3892013-11-21 Colin Watson <cjwatson@ubuntu.com>
390
391 * util/grub-mkrescue.c (main): If a source directory is not
392 specified, read platform-specific files from subdirectories of
393 pkglibdir, not pkgdatadir.
394
b7f9aedf
CW
3952013-11-21 Colin Watson <cjwatson@ubuntu.com>
396
397 * grub-core/normal/progress.c: Remove unused file.
398
7dd0a303
VS
3992013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
402 array.
403
ca120e31
VS
4042013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
407 than grub.cfg.
408
48eb35cd
VS
4092013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * coreboot.cfg: Add missing file.
412
7f20dbbc
VS
4132013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * Makefile.am: Allow STRIP to be empty when creating windowszip.
416
55e706c9
AK
4172013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
418
419 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
420 selectively skipping systems.
421
4e7d433d
CW
4222013-11-19 Colin Watson <cjwatson@ubuntu.com>
423
424 * Makefile.util.def (grub-mkimage): Add
425 grub-core/osdep/aros/config.c to extra_dist.
426 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
427 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
428 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
429 grub-core/gnulib-no-gets.diff.
430
7d44ff7d
VS
4312013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Add automated filesystem checking based on scripts I've used now for
434 quite some time locally. Most of the test require root so they are
435 skipped when run without necessarry privelegies.
436
a8c3e5e3
CW
4372013-11-19 Colin Watson <cjwatson@ubuntu.com>
438
439 * util/grub-install.c (main): Adjust info messages to match
440 installed paths of grub-bios-setup and grub-sparc64-setup.
441
4402db3e
CW
4422013-11-19 Colin Watson <cjwatson@ubuntu.com>
443
444 * util/grub-install-common.c (copy_locales): Consistently use
445 grub_util_get_localedir () rather than LOCALEDIR.
446 (grub_install_copy_files): Likewise.
447
7960d3e1
JT
4482013-11-19 Josh Triplett <josh@joshtriplett.org>
449
450 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
451 16-byte boundary, as required by the x86-64 ABI, before calling
452 grub_main. In some cases, GCC emits code that assumes this
453 alignment, which crashes if not aligned. The EFI firmware is also
454 entitled to assume that stack alignment without checking.
455
d53f4900
JT
4562013-11-18 Josh Triplett <josh@joshtriplett.org>
457
458 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
459 4k page boundaries as expected by firmware rather than 1k
460 boundaries.
461 (grub_mmap_malign_and_register): Likewise.
462
bb2b275b
VS
4632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
466 fragmentation 512M is enough.
467
45bf8b3a
VS
4682013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
471 pointer to 32K. This is the size of cache element which is the most
472 common allocation >1K. This way the pointer is always around blocks
473 of 32K and so we keep performance while decreasing fragmentation.
474
39ff43c5
VS
4752013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
478 current memory when allocating large chunks. This significantly
479 decreases memory fragmentation.
480
60870be8
CW
4812013-11-18 Colin Watson <cjwatson@ubuntu.com>
482
483 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
484 but for symmetry).
485 * tests/lzocompress_test.in: Skip if lzop is not installed.
486 * tests/xzcompress_test.in: Skip if xz is not installed.
487
a1f00cc5
CW
4882013-11-18 Colin Watson <cjwatson@ubuntu.com>
489
490 * util/grub-mkrescue.c (main): Fix typo.
491
74e632fe
VS
4922013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
495 clock frequency to 200 MHz,
496
efb8de49
VS
4972013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * tests/util/grub-shell.in: Increase console size to 1024x1024.
500
b7526e78
VS
5012013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * Makefile.am (default_payload.elf): Add pata to loaded modules.
504 Load config file from (cbfsdisk)/etc/grub.cfg.
505
b40ce651
VS
5062013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/grub-install-common.c (grub_install_copy_files): Fix module
509 destination directory.
510
1e8e2e78
CW
5112013-11-18 Colin Watson <cjwatson@ubuntu.com>
512
513 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
514 files have not been built.
515
3bf4088b
CW
5162013-11-18 Colin Watson <cjwatson@ubuntu.com>
517
518 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
519 Handle errors from mkstemp.
520 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
521
35c2851c
VS
5222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
525 on primary master on pseries.
526
ea7c1a7d
VS
5272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
530 already loaded. This saves memory needed for tests,
531
96adefdb
VS
5322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
535 work again.
536
5e3cb8a7
VS
5372013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
540 work again.
541
256ee7ac
VS
5422013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
545 master since with some combinations of qemu and firmware only primary
546 IDE channel is available.
547
f8b4c3b6
VS
5482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
551 low-memory platforms where we don't have enough memory for them.
552 * grub-core/tests/videotest_checksum.c: Likewise.
553
4bf70320
VS
5542013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
557 already loaded. This saves memory needed for tests,
558
a284320e
VS
5592013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
560
561 Fix handling of install lists.
562
2df8f43d
VS
5632013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
566
6f1bc8bc
VS
5672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
568
569 On i386-ieee1275 we run in paged mode. So we need to explicitly map
570 the devices before accessing them.
571
04f39f6d
VS
5722013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
575 as file argument.
576
35d4761c
VS
5772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
580
33d02a42
VS
5812013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
584 (grub_file_close): Free file->name.
585
7bbb60cf
VS
5862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/commands/verify.c (free_pk): Plug memory leak.
589 (grub_load_public_key): Likewise.
590 (grub_verify_signature_real): Likewise.
591 (grub_cmd_verify_signature): Likewise.
592
da93d675
VS
5932013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
596 memory leak.
597
59c943ec
VS
5982013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
601 (grub_longjmp): Restore r31.
602 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
603
4336b5d8
VS
6042013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
607 modules to be in line with make_image_abs.
608
44ce3a93
VS
6092013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
612
613 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
614
7d400406
IC
6152013-11-17 Ian Campbell <ijc@hellion.org.uk>
616
617 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
618
77dae919
VS
6192013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
622 to leave some memory to firmware.
623
0ab8e025
VS
6242013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
627 of loading gfxterm as gfxterm is embed in kernel on some platforms.
628 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
629 Load gfxmenu.
630
b80c2d6d
VS
6312013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
634 now needs full arguments.
635
6aa6077b
VS
6362013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * util/grub-mkrescue.c (main): Add trailing \n in
639 .disk_label.contentDetails to be in line with previous shell script.
640
66c00cb1
VS
6412013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
644
3a129dba
VS
6452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * util/grub-install-common.c (grub_install_parse): Recognize
648 --compress=none like shell script did.
649
8df6eff6
VS
6502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * include/grub/misc.h: Replace check for __sparc64__ with one for
653 __sparc__ as __sparc64__ isn't actually defined.
654
889ebe92
VS
6552013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
658 counterpart of fixing the naming of escc ports.
659
d4d55b29
VS
6602013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * util/grub-install-common.c (platforms): Fix the order of entries and
663 remove useless field val.
664
55e2c84f
VS
6652013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * util/grub-install.c: Add new option --no-bootsector to skip
668 installing of bootsector. Accept --grub-setup=/bin/true as
669 backwards-compatible synonym.
670
cd46aa6c
VS
6712013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
672
673 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
674 order of qsort arguments (number of elements vs. element size).
675
6762013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
679 the function of these files exceeds what can be sanely handled in shell
680 in posix-comaptible way. Also writing it in C extends the functionality
681 to non-UNIX-like OS and minimal environments.
682
9ef81064
VS
6832013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
686 compiling to thumb2.
687 * grub-core/kern/arm/cache_armv7.S: Likewise.
688 * grub-core/lib/arm/setjmp.S: Likewise.
689
11a77932
LL
6902013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
691
692 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
693 in grub_uboot_syscall
694
080603f0
VS
6952013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
696
697 Decrease stack usage in lexer.
698
699 We have only 92K of stack and using over 4K per frame is wasteful
700
701 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
702 as macros so that compiler would remove useless structure on stack.
703 Better solution would be to fix flex not to put this structure on
704 the stack but flex is external program.
705
4f84ae0e
VS
7062013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Decrease stack usage in signature verification.
709
710 We have only 92K of stack and using over 4K per frame is wasteful
711
712 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
713 rather than stack.
714 (grub_verify_signature_real): Likewise.
715
e6a6182d
VS
7162013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Decrease stack usage in mdraid 0.9x.
719
720 We have only 92K of stack and using over 4K per frame is wasteful
721
722 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
723 rather than stack.
724
1a454efe
VS
7252013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Decrease stack usage in BtrFS.
728
729 We have only 92K of stack and using over 4K per frame is wasteful
730
731 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
732 rather than stack.
733
7b5d51d8
VS
7342013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
735
736 Decrease stack usage in JFS.
737
738 We have only 92K of stack and using over 4K per frame is wasteful
739
740 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
741 stack. Note: this function is recursive.
742 (grub_jfs_read_inode): Read only part we care about.
743
593865b9
LL
7442013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
745
746 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
747 handling
7b5d51d8 748
31c0cd43
AB
7492013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
750
751 * configure.ac: Restore -nostdlib for libgcc symbols tests.
752
c2fdb331
AB
7532013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
754
755 * docs/grub.texi (Environment): Document cmdpath.
756
9e18dfe2
AB
7572013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
758
759 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
760 Remove "unused" attribute from arguments, they are used.
761
59ba9d14
CW
7622013-11-15 Colin Watson <cjwatson@debian.org>
763
764 * .gitignore: Only ignore grub-mk* at the top level.
765
23012db9
CW
7662013-11-15 Colin Watson <cjwatson@ubuntu.com>
767
768 * util/grub-reboot.in (usage): Fix a typo.
769
6fcec439
VS
7702013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
771
772 Replace libgcc version of ctz with our own.
773
774 On upcoming arm64 port libgcc ctz* are not usable in standalone
775 environment. Since we need ctz* for this case and implementation is
776 in C we may as well use it on all concerned platforms.
777
a9f25a08
VS
7782013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * configure.ac: Probe for linking format rather than guessing it based
781 on target_os.
782
c7995256
VS
7832013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
786 "1" prior to handoff.
787
788 Reported by: M A Young.
789
e1aa5b66
VS
7902013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
793 \0 to all files.
794
795 Reported by: M A Young.
796
da5ed5cf
VS
7972013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
800 compilation on NetBSD.
801
5757a93e
VS
8022013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * acinclude.m4: Don't add -P on initial nm test.
805
806 Note: even though this patch postdates Andrey's it bears 14 Nov as
807 date due to timezone difference.
808
a5986276
AB
8092013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
810
811 * grub-core/Makefile.core.def (signature_test): Add missing
812 tests/signatures.h.
813
0de172a0
CW
8142013-11-14 Colin Watson <cjwatson@ubuntu.com>
815
816 * util/grub-install_header: Set localedir here, since this file is
817 where it's used.
818 * util/grub-install.in: Remove setting of localedir.
819 * util/grub-mkrescue.in: Likewise.
820
da45f43c
VS
8212013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
824
20aea949
VS
8252013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * configure.ac: Move nm checks to the end.
828 Call grub_PROG_NM_WORKS.
829 * acinclude.m4: New check grub_PROG_NM_WORKS.
830 Use $TARGET_CFLAGS -c when compiling test binary.
831
1326b9ae
CW
8322013-11-14 Colin Watson <cjwatson@ubuntu.com>
833
834 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
835 unused variables.
836
1fe26ab4
MG
8372013-11-14 Matthew Garrett <mjg@redhat.com>
838
839 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
840 cmdpath to firmware directory.
841
83e9c273
VS
8422013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
845 at the start of second iteration.
846
ec525c18
VS
8472013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
850
93fcc7ad
VS
8512013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * Makefile.am (default_payload.elf): New target for easier coreboot
854 build.
855
57ffe934
VS
8562013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
859 clang (not necessarry with -no-integrated-as).
860 * include/grub/symbol.h [__arm__]: Likewise.
861
2312f06c
VS
8622013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * configure.ac: Use -no-integrated-as on arm with clang.
865 * INSTALL: Mention ARM compilation with clang.
866
2416415c
VS
8672013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
870 -mthumb-interwork.
871
5da55172
CW
8722013-11-14 Colin Watson <cjwatson@ubuntu.com>
873
874 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
875 code for indirect block handling.
876
877 Saves 185 bytes on compressed image.
878
da770328
PFS
8792013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
880
881 Fix make clean.
882
883 * Makefile.am: Remove build-grub-* in make clean.
884
f02e6b56
PFS
8852013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
886
887 New files to gitignore.
888
889 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
890 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
891
035a26c1
LL
8922013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
893
894 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
895
bc8a6137
LL
8962013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
897
898 * .gitignore: fix rules for .dep* and add *.a post git migration
899
6fe506b0
CW
9002013-11-13 Colin Watson <cjwatson@ubuntu.com>
901
902 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
903 to match INSTALL.
904
81a2e438
CW
9052013-11-13 Colin Watson <cjwatson@ubuntu.com>
906
907 * grub-core/kern/misc.c: Don't redirect divisions in the
908 GRUB_UTIL case.
909 * include/grub/misc.h: Likewise.
910
9b45c073
CW
9112013-11-13 Colin Watson <cjwatson@ubuntu.com>
912
913 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
914 systems that require checking the return value of write.
915
11b2a9b7
CW
9162013-11-13 Colin Watson <cjwatson@ubuntu.com>
917
918 * util/grub-install.in (efi_quiet): Fix inverted logic: make
919 efibootmgr quiet when --debug is not used, rather than when it is.
920
d743d22d
CW
9212013-11-13 Colin Watson <cjwatson@ubuntu.com>
922
923 * gentpl.py (define_macro_for_platform_dependencies): Remove
924 first (and thus unused) of two definitions for this function.
925 (platform_dependencies): Likewise.
926
11da14b5
CW
9272013-11-13 Colin Watson <cjwatson@ubuntu.com>
928
929 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
930 functions, we only need to check this for the target, not the host.
931 * configure.ac (grub_apple_cc): Likewise.
932
2bdd0719
VS
9332013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
936 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
937 asm to stay in arm even if surrounding is thumb.
938
5e77d9cf
VS
9392013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
942 helper functions are needed for thumb.
943
7d511625
VS
9442013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
947 level / 3 division explicitly unsigned. Saves few bytes.
948
81023dbd
VS
9492013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
952
b2e9294f
VS
9532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
956 division.
957
16a22c38
VS
9582013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
961 grub_uboot_boot_data to asm part.
962
c9cd02c9
VS
9632013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
966 literal load.
967 (grub_uboot_syscall): Save/restore r9 and align stack.
968
81498615
VS
9692013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
972
ea57de18
VS
9732013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
976 occurencies with END.
977
d0d1e3da
CW
9782013-11-13 Colin Watson <cjwatson@ubuntu.com>
979
980 * util/grub-editenv.c (help_filter, argp): Document how to delete
981 the whole environment block.
982 Reported by Dan Jacobson. Fixes Debian bug #726265.
983
3809f016
CW
9842013-11-13 Colin Watson <cjwatson@ubuntu.com>
985
986 * docs/grub.texi (Internationalisation, Supported kernels): Fix
987 sectioning.
988
46d8a203
JT
9892013-11-13 Josh Triplett <josh@joshtriplett.org>
990
991 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
992 increment/decrement.
993
513eeb61
VS
9942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
997 compiling with clang.
998
bc379c1a
VS
9992013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
1002 ".".
1003
10042013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 1005
16057d6b
VS
1006 Redirect all divisions to grub_divmod64.
1007
f649a6a8
VS
10082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
1011
ef28ee8b
VS
10122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Add missing includes of loader.h.
1015
300f48c5
VS
10162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * configure.ac: Allow disabling themes.
1019
2d357558
LS
10202013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
1021
1022 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
1023
0c62a5b2
VS
10242013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
1027 until it becomes operational.
1028
b0720b49
VS
10292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * grub-core/Makefile.core.def (legacy_password_test): Disable
1032 on platforms where no legacycfg is compiled.
1033 * grub-core/tests/lib/functional_test.c: Tolerate failure to
1034 load legacy_password_test.
1035
d5bab2c0
VS
10362013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1039
3ea0ccb3
VS
10402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1043
08772054
VS
10442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1047 strict-aliasing warning.
1048 (fsync): Silence cast warning.
1049
1dcb2715
VS
10502013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/commands/verify.c: Remove variable length arrays.
1053 Load gcry_dsa/gcry_rsa automatically.
1054
61c22fdf
VS
10552013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/tests/signature_test.c: New test.
1058
431e57a7
VS
10592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1062 API.
1063
b521bb81
VS
10642013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1067 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1068
7d06b24e
VS
10692013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1072
3bbeade4
VS
10732013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/fs/proc.c: Allow \0 in proc files.
1076
ba82db7a
VS
10772013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1080
801564c8
VS
10812013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1084
ac8cac1d
VS
10852013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/fs/ext2.c: Remove variable length arrays.
1088
4b85f122
VS
10892013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1092 length arrays.
1093
c35fcdc0
VS
10942013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1097 * grub-core/disk/cryptodisk.c: Likewise.
1098 * grub-core/disk/geli.c: Likewise.
1099 * grub-core/disk/luks.c: Likewise.
1100
15decd26
VS
11012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/tests/legacy_password_test.c: New test.
1104 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1105
9c6482b8
VS
11062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1109
41f26e0e
VS
11102013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/tests/pbkdf2_test.c: New test.
1113
2def6616
VS
11142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1117
9e34a34e
VS
11182013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/io/lzopio.c: Remove variable length arrays.
1121
5ccaf904
VS
11222013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * include/grub/crypto.h: Add maximums on hash size and cipher block
1125 size.
1126
44a387e0
VS
11272013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1130
a388e255
VS
11312013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/tests/xnu_uuid_test.c: New test.
1134
a1ef7718
VS
11352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1138 covers it).
1139
65ddb300
VS
11402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/commands/hashsum.c: Remove variable length arrays.
1143
31747dd5
VS
11442013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1147 condition.
1148 * tests/grub_func_test.in: Increase memory allocation.
1149
6a74c4df
VS
11502013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1153 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1154 sys/mount.h.
1155
394c3e0a
VS
11562013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1159 (grub_util_get_fd_size_os): ...this.
1160 (grub_hostdisk_flush_initial_buffer): New empty function.
1161
60d31116
VS
11622013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1165 without --defined-only.
1166
8445b011
VS
11672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1170 rip-relative addressing in prologue.
1171
8506a641
VS
11722013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1175 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1176
66acd9d6
VS
11772013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1180 Add missing semicolon.
1181
348d0535
VS
11822013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1185
0d2d30bb
VS
11862013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * configure.ac: Check for lzma.h for enabling liblzma and allow
1189 manual disabling.
1190
631187be
VS
11912013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 Add missing includes of loader.h.
1194
e756ec82
FZ
11952013-11-11 Fam Zheng <famcool@gmail.com>
1196
1197 * util/grub.d/30_os-prober.in: Add minix entry.
1198
87d62d7d
VS
11992013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1202 right buffer for temporary load.
1203
5460cfeb
VS
12042013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1207
89977306
VS
12082013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1211 payload.
1212
3617c59b
VS
12132013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1216 not Types.h.
1217 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1218 environment.
1219 (LzmaDec_InitDicAndState): Make static.
1220
881c6a10
VS
12212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1224
2024ade2
VS
12252013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1228
1229 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1230
674ad4f6
VS
12312013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * docs/grub-dev.texi: Replace bzr references with git ones.
1234
5b99970e
AB
12352013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1236
1237 * docs/grub.texi (Simple configuration): Remove reference to
1238 grub-reboot from saved default entry description - grub-default
1239 does not use it anymore.
1240
3c2304d5
VS
12412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1244 compiled with.
1245
80cfd940
AB
12462013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1247
1248 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1249
33690255
VS
12502013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 Fix grub_machine_fini bitrot.
1253
1254 Reported by: Glenn Washburn.
1255
c61471fc
VS
12562013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1259
54da019f
VS
12602013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1263 -DELF.
1264 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1265 instead of ELF*.
1266
12672013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1268
1269 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1270 Add -march=core2 when testing compile of efiemu64.
1271
1272 Thanks Andrey Borzenkov for spotting this.
1273
9612ebc0
VS
12742013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1277 XEN PV environment and load kernels.
1278
1a46a3a4
VS
12792013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1282 * grub-core/loader/multiboot_mbi2.c: Likewise.
1283
2df12551
VS
12842013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1287 handling.
1288
3c980381
VS
12892013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1292
1293 Tested by: Denis 'GNUtoo' Carikli.
1294
800f63d3
VS
12952013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1298
9f8acdaa
VS
12992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1300
5620eb53
VS
1301 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1302 Use to get rounded angle rather than truncated.
1303
13042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1307 RTS/CTS flow control.
1308
2dc1eb6c
VS
13092013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1312 divisions.
1313
b9563c94
VS
13142013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1317 Use grub_fatal rather than divide by zero.
1318 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1319
d6d8e9a9
VS
13202013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1323 truncate.
1324 (grub_fixed_fsf_divide): Likewise.
1325
d06de6c8
VS
13262013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1329 division by-zero and senseless negative divisions.
1330
6af7d49b
VS
13312013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1334 division by-zero and senseless negative divisions.
1335 (circprog_set_property): Don't accept negative num_ticks.
1336
bcfa6d72
VS
13372013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1340 division by-zero and senseless negative divisions.
1341
dd7f792c
VS
13422013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * configure.ac: Use elf_*_fbsd on kfreebsd.
1345
d061fda7
VS
13462013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/tests/div_test.c: New test.
1349
4db22500
VT
13502013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1351
1352 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1353 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1354 * grub-core/gfxmenu/view.c: Likewise.
1355 * grub-core/video/fb/video_fb.c: Introduce new functions:
1356 grub_video_set_area_status, grub_video_get_area_status,
1357 grub_video_set_region, grub_video_get_region.
1358 * grub-core/video/bochs.c: Likewise.
1359 * grub-core/video/capture.c: Likewise.
1360 * grub-core/video/video.c: Likewise.
1361 * grub-core/video/cirrus.c: Likewise.
1362 * grub-core/video/efi_gop.c: Likewise.
1363 * grub-core/video/efi_uga.c: Likewise.
1364 * grub-core/video/emu/sdl.c: Likewise.
1365 * grub-core/video/radeon_fuloong2e.c: Likewise.
1366 * grub-core/video/sis315pro.c: Likewise.
1367 * grub-core/video/sm712.c: Likewise.
1368 * grub-core/video/i386/pc/vbe.c: Likewise.
1369 * grub-core/video/i386/pc/vga.c: Likewise.
1370 * grub-core/video/ieee1275.c: Likewise.
1371 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1372 * include/grub/video.h: Likewise.
1373 * include/grub/video_fb.h: Likewise.
1374 * include/grub/fbfill.h: Updated render_target structure.
1375 grub_video_rect_t viewport, region, area
1376 int area_offset_x, area_offset_y, area_enabled
1377 * include/grub/gui.h: New helper function
1378 grub_video_bounds_inside_region.
1379 * docs/grub-dev.texi: Added information about new functions.
1380
c6b755df
VS
13812013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1384 for alignment.
1385
e2a68100
VS
13862013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1389 missing attribute.
1390 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1391
c4f11a2a
VS
13922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1395 simple division on arm and ia64.
1396
e0a7bffa
VS
13972013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1400 link with libgcc.
1401
38b864ea
VS
14022013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1405
12359faf
VS
14062013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1409 prefix symbol, not @.
1410
9fdc64a9
VS
14112013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * INSTALL: Add note about older gcc and clang.
1414
665c575b
VS
14152013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1418
47dcf7b1
VS
14192013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1422 NULL pointer dereference.
1423
d59849b2
VS
14242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1427 clang.
1428
7a3f4a18
VS
14292013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1432 warnings.
1433
7f084087
VS
14342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1437 function.
1438 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1439 * grub-core/disk/geli.c (ascii2hex): Likewise.
1440
d5524ca8
VS
14412013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * configure.ac: Run linker tests without -Werror.
1444 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1445 Change all occurences of -static-libgcc resp -lgcc to
1446 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1447
390cd7ca
VS
14482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1451
60375a88
VS
14522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 Allow compiling with clang (not really supported though).
1455
1456 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1457 unconditionally.
1458 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1459 Add -mrtd -mregparm=3 on i386 when not using clang.
1460 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1461
dd07e0c4
VS
14622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1465 bindings.
1466 * grub-core/lib/reed_solomon.c: Likewise.
1467 * include/grub/i386/gdb.h: Likewise.
1468 * include/grub/i386/pc/int.h: Likewise.
1469 * include/grub/i386/pc/pxe.h: Likewise.
1470 * include/grub/ieee1275/ieee1275.h: Likewise.
1471
9d3ae8ec
VS
14722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 Import libgcrypt 1.5.3.
1475
c12936c5
VS
14762013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * configure.ac: Don't add -Wcast-align on x86.
1479
cdc17f60
VS
14802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * configure.ac: Add -freg-struct-return on all platforms that
1483 support it.
1484
b35ec299
VS
14852013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * acinclude.m4: Use -Werror on parameter tests.
1488 * configure.ac: Likewise.
1489
05f3a0d7
VS
14902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1493
c966a489
VS
14942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * configure.ac: Check that -malign-loops works rather than assuming that
1497 either -falign-loops or -malign-loops work.
1498
bb0c57ec
VS
14992013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1502
24f4e57c
VS
15032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * configure.ac: Prevent cflags leaking to subsequent tests by always
1506 resetting cflags to target_cflags in target tests.
1507
ac319fbc
VS
15082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1511 function.
1512
4bfe934c
VS
15132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1516
40a5bfde
VS
15172013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1520
a67c755e
VS
15212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/normal/cmdline.c (grub_cmdline_get):
1524 Remove nested functions.
1525
87a04a2d
VS
15262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * tests/test_sha512sum.in: Make it work on emu.
1529
c03995d2
VS
15302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1533 functions.
1534 (grub_bidi_line_logical_to_visual): Likewise.
1535
ec0ebb3f
VS
15362013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Remove vestiges of -Wunsafe-loop-optimisations.
1539
1540 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1541 -Wno-unsafe-loop-optimisations.
1542 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1543 pragma.
1544 * grub-core/io/gzio.c: Likewise.
1545 * grub-core/script/parser.y: Likewise.
1546 * grub-core/script/yylex.l: Likewise.
1547 * util/grub-mkfont.c: Likewise.
1548
6ab537e3
VS
15492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub-mkfont.c (process_cursive): Remove nested function.
1552
e6c368d4
VS
15532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1556 (grub_boot_time): Likewise.
1557
4f1cfd22
VS
15582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * include/grub/symbol.h (FUNCTION): Use @function rather than
1561 "function".
1562 (VARIABLE): Likewise.
1563
6d5a4cee
VS
15642013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1567
f06c2172
VS
15682013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1571 (parse_dhcp_vendor): Likewise.
1572
7cb24eb5
VS
15732013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1576
f30c692c
VS
15772013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1580 Define after defining type and not before.
1581
8b66bb5d
VS
15822013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1585 type.
1586 (grub_gcm_decrypt): Likewise.
1587 (algo_decrypt): Likewise.
1588 (grub_zfs_decrypt_real): Transform error type.
1589
5d17fd0f
VS
15902013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1593
ac35a0f7
VS
15942013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1597 (grub_usbms_cbi_reset): Likewise.
1598 (grub_usbms_bo_reset): Likewise.
1599 (grub_usbms_reset): Likewise.
1600 (grub_usbms_attach): Likewise.
1601 (grub_usbms_transfer_cbi): Likewise.
1602
3ee08697
VS
16032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1606 "checksum = checksum;".
1607
70bb6c85
VS
16082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1611 entry_type.
1612
c7f34744
VS
16132013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1616 BIOS disk check.
1617
3f63b4d8
VS
16182013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1621 type.
1622 (grub_ehci_fini_hw): Likewise.
1623 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1624
dac6ce73
VS
16252013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1628 return grub_usb_err_t for cosistency. All users updated.
1629
5701750c
VS
16302013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1633 assigning to itself.
1634
9e236169
GLD
16352013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
16362013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1637
1638 Issue separate DNS queries for ipv4 and ipv6
1639
1640 Adding multiple questions on a single DNS query is not supportted by
1641 most DNS servers. This patch issues two separate DNS queries
1642 sequentially for ipv4 and then for ipv6.
1643
1644 Fixes: https://savannah.gnu.org/bugs/?39710
1645
1646 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1647 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1648 * (grub_net_dns_lookup): Now using separated dns packages.
1649 * (grub_cmd_nslookup): Add error condition.
1650 * (grub_cmd_list_dns): Print DNS option.
1651 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1652 --prefer-ipv4, and --prefer-ipv6.
1653 * include/grub/net.h (grub_dns_option_t): New enum.
1654 * (grub_net_network_level_address): option added.
1655
339eacce
VT
16562013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1657
1658 * grub-core/video/fb/video_fb.c: Merge two blit functions
1659 into one.
1660
810f991b
VS
16612013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/term/terminfo.c: Add sequences for home and end.
1664
386571a2
VS
16652013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1668 graphics console.
1669
3fe63754
VS
16702013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1673 add mode 0x12.
1674
76681e71
VS
16752013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1678 e-mail by Per Öberg.
1679
46522fb7
VS
16802013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1683 name.
1684
e7d09ac4
AB
16852013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1686
1687 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1688 emu platforms.
1689 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1690
67508925
VS
16912013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * docs/grub.texi: Document usage of menuentry id.
1694
0c62124e
VS
16952013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1698
9b5d4eed
PL
16992013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1700
1701 * grub-core/commands/i386/nthibr.c: New command.
1702
79054c1d
VS
17032013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1706
44d47bbe
VS
17072013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1710 coordinate.
1711
323de05b
VS
17122013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 Support GRUB_DISABLE_SUBMENU config.
1715
1716 Inspired by patch from Prarit Bhargava.
1717
5a01722e
VS
17182013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * docs/grub.texi: Mention RSA support.
1721
1106c3f0
VS
17222013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/commands/verify.c: Add RSA support.
1725
a1dcc2cb
VS
17262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1729 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1730 device is known to be ATAPI.
1731
ee7fb780
MF
17322013-11-03 Mike Frysinger <vapier>
1733
1734 * configure.ac: Don't add target-prefix.
1735
5ade4a42
VS
17362013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1739 variables.
1740
6cd66043
VS
17412013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1744 if language is English.
1745
090d7c81
VS
17462013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1749
dd614590
VS
17502013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * configure.ac: Don't add -m32/-m64 on emu.
1753
a8686589 17542013-11-02 neil
1755
1756 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1757 broken linux headers.
1758
fb9f12a0
VS
17592013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1762
e25f8e1f
VS
17632013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1766 Reed-Solomon recovery if more than half of redundancy info is 0.
1767
4685200f
VS
17682013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * util/grub-mount.c: Handle symlinks to directories.
1771
1397f0b5
VS
17722013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1775 find_file recursively for symlink.
1776
8b3e6eb6
VS
17772013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * tests/util/grub-shell.in: Copy themes.
1780
a0c9d5c6
VS
17812013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1784
5cf9459c
VS
17852013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * configure.ac: Use 0x8000 for address instead of 8000.
1788
e7b66a28
VS
17892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1790
1791 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1792 signature.
1793
203f53fb
VS
17942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1797 variable.
1798
02663ee9
VS
17992013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1802
f169f65e
VS
18032013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1806 file_progress_read_hook.
1807 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1808
2855a0fc
VS
18092013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1812 and double.
1813
bf0f3a8c
VS
18142013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1817
cb72aa18
VS
18182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 Rewrite blocklist functions in order to get progress when
1821 reading large extents and decrease amount of blocklist hook calls.
1822
896f9135
VS
18232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1826 of SI suffixes.
1827
89295a06
VS
18282013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 Support --base-clock for serial command to handle weird cards with
1831 non-standard base clock.
1832
eb03ede0
VS
18332013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1836 strncpy.
1837 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1838 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1839 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1840 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1841 + strcpy rather than strncpy.
1842
8fbe5c7d
VS
18432013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1846 (check_pool_label): Likewise. Fixes overflow.
1847 (nvlist_find_value): Fix comparison.
1848
e54b8f53
VS
18492013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1852 more appropriate functions.
1853
fa9b3dca
VS
18542013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1857 realloc.
1858
9a021c55
VS
18592013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1862
80e8b13a
VS
18632013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1866 on core size.
1867
b61599ac
VS
18682013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1871
a602dc54
VS
18722013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1875 (initialize_tables): reset tl and td to NULL after freeing.
1876
93c12075
VS
18772013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1880
1ca4b75e
VS
18812013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1884 of supported tags.
1885
329550c4
VS
18862013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1889
00bfa988
VS
18902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1893 quirks.
1894
81afc5cc
VS
18952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1898 a page in protected space.
1899
cb3c4a47
VS
19002013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1903 allocate space for zero-sized modules.
1904
954f7bf5
VS
19052013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1908
526d3d25
FL
19092013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1910
1911 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1912
74124c34
VS
19132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1916 safeguards. Fixes a crash with i386/pc/console.c.
1917
5177391e
VS
19182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1921 and grub_hostfs_init.
1922
64db14b0
VS
19232013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1926 windows method on other platforms without good stat as well.
1927
effe2036
VS
19282013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1931
82591fa6 19322013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1933
82591fa6
VS
1934 Make / in btrfs refer to real root, not the default volume.
1935 Modify mkrelpath to work even if device is mounted with subvolid option.
1936
19372013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1938
1939 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1940 extra_dist.
1941 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1942 extra_dist.
1943
30fd7198
VS
19442013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1947 fails.
1948
8d179dae
BC
19492013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1950
1951 * docs/autoiso.cfg: New file.
1952
3bc9c8cf
VS
19532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1956 COND_GRUB_PE2ELF conditions.
1957
8b46b0ea
VS
19582013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1961 "vnd", "rd" and "fd" disks.
1962
442b86de
VS
19632013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 Move grub_disk_write out of kernel into disk.mod.
1966
04dea7e6
VS
19672013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1970 handling.
1971
19722013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1973
1974 * grub-core/kern/misc.c (grub_abort): Make static
1975
04dea7e6 19762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1977
1978 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1979 transform invalid unicode codepoints.
1980
04dea7e6 19812013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1982
1983 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1984 \0 checking.
1985
03dcac7f
VS
19862013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1989
c81acb7f
VS
19902013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 Consolidate cpuid code.
1993
c1bee646
VS
19942013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Move cpuid code to cpuid.h and TSC code to tsc.c.
1997
f37bf9c7
GS
19982013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1999
2000 * util/grub.d/00_header.in: Don't use LANG if it's not set.
2001
4021132b
GS
20022013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
2003
2004 * util/grub-mkconfig.in: Replace $0 with $self.
2005 * util/grub-reboot.in: Likewise.
2006 * util/grub-set-default.in: Likewise.
2007
3ace8d75
BC
20082013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2009
2010 * docs/osdetect.cfg: New file.
2011
1e6ad6a6
BC
20122013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2013
2014 * tests/util/grub-shell.in: Add new --debug option.
2015
188929eb
BC
20162013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2017
2018 * tests/test_unset.in: New test.
2019
7994a09a
BC
20202013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
2021
2022 * tests/test_sha512sum.in: New test.
2023
2a8a7585
VS
20242013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
2027 * include/grub/misc.h: Remove strncat.
2028 * grub-core/lib/posix_wrap/string.h: Likewise.
2029
cf8d6bbd
VS
20302013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
2033 Try to handle more than 0xFFFF packets.
2034 Reported by: Bernhard Übelacker <bernhardu>.
2035 He also spotted few overflows in first version of this patch.
2036
6d1fc99a
VS
20372013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * tests/date_unit_test.c: New test.
2040
10bafa1c
VS
20412013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2044 of first three years after start of validity of unixtime.
2045
b1c6d037
VS
20462013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2049 division as the one making more sense.
2050 (update_screen): Likewise.
2051 (complete): Likewise.
2052
5f4028d4
VS
20532013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2056
a2856736
VS
20572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 Make char and string width grub_size_t rather than grub_ssize_t.
2060
0a7e52b2
VS
20612013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2064 unsigned.
2065 (grub_history_replace): Likewise.
2066
42829573
VS
20672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2070 appropriate.
2071
3523b8d8
VS
20722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2075 appropriate.
2076
d43c6489
VS
20772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2080 Use unsigned divisions rather than signed variants.
2081
f690f8b0
VS
20822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2085 unsigned arithmetics.
2086 Add missing break.
2087
74ff2c05
VS
20882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2091
fb56391e
VS
20922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2095 rather than signed one.
2096 (recovery): Likewise.
2097
40f29060
VS
20982013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2101
c64577a5
VS
21022013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2105 than signed.
2106
c16535a8
JM
21072013-10-25 Jon McCune <jonmccune@google.com>
2108
2109 * docs/grub.texi: Cleanup security documentation around signatures.
2110
6673d8e7
VS
21112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2114
a105d375
VS
21152013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2118 than int.
2119
af81ed88
VS
21202013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2123 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2124 functions when compiling for kernel.
2125
ea899a57
VS
21262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2129 unsigned long long when using %llu.
2130
c6dc6fa1
VS
21312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2134 terminal after updating progress.
2135
ad2dc003
VS
21362013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2139 argument. We don't disable Gate A20 in this code.
2140
b46684ae
VS
21412013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2144 Conceptually based on change in branch "vbe-on-coreboot".
2145
f70d5c07
RM
21462013-10-24 Robert Millan <rmh@gnu.org>
2147
2148 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2149 numeric constants with their symbolic equivalent.
2150 Taken from branch "vbe-on-coreboot".
2151
bca274b4
VS
21522013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2155
238f0489
VS
21562013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2159 divmod64 for offset division.
2160
863c590b
PFS
21612013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2162
2163 Rename .bzrignore to .gitignore. Add "*.o" rule.
2164
2165 * .bzrignore: Renamed to...
2166 * .gitignore: ...this.
2167
84a0e969
PFS
21682013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2169
2170 Add new progress module that displays the load progress of files.
2171
2172 * grub-core/lib/progress.c: New file.
2173 * grub-core/Makefile.core.def (progress): New module.
2174 * grub-core/kern/file.c (grub_file_open): File name added.
2175 * (grub_file_read): Progress hook added.
2176 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2177 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2178 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2179 * include/grub/file.h (struct grub_file): Add progress module members.
2180 * include/grub/term.h (struct grub_term_output): Likewise.
2181 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2182 Terminal velocity added.
2183 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2184 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2185 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2186 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2187 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2188 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2189 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2190 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2191 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2192 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2193 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2194 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2195
0d711431
VS
21962013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 Verify signatures of signatures unless --skip-sig is specified.
2199
f8401f76
VS
22002013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2203 \0 checking.
2204
2205 Saves 70 bytes on compressed image.
2206
ac1feb61
VS
22072013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2210 check.
2211
2212 Saves 10 bytes on compressed image.
2213
00f72e89
VS
22142013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/kern/misc.c (grub_isprint): Move to ...
2217 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2218
2219 Saves 20 bytes on compressed image due to remving exporting.
2220
067e6ae7
VS
22212013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2224
2225 Saves 5 bytes on compressed image.
2226
64a6c791
VS
22272013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2230 function get_utf8.
2231
2232 Saves 379 bytes on compressed image.
2233
979d9f52
VS
22342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2237
1437da54
VS
22382013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2241
2242 Saves 40 bytes on compressed image.
2243
d9ee2269
VS
22442013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2247 mask rather than 64-bit type.
2248
2249 Saves 20 bytes on compressed image.
2250
63efa602
VS
22512013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2254 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2255
47601ffe
VS
2256 Saves 273 bytes on compressed image.
2257
2cc679ad
VS
22582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2261 variable length arrays.
2262
2263 Saves 50 bytes on compressed image.
2264
2e4659b8
VS
22652013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2268
2a40badf
VS
22692013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/fs/ufs.c: Remove variable length arrays.
2272
1ba6b9b9
VS
22732013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2276
f3e39341
VS
22772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/fs/zfs.c: Remove variable length arrays.
2280 Reduces zfs.mod by 160 bytes (208 compressed).
2281
71523935
VS
22822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2285
28153eb8
VS
22862013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * grub-core/net/arp.c: Remove variable length arrays.
2289 * grub-core/net/bootp.c: Likewise.
2290 * grub-core/net/dns.c: Likewise.
2291 * grub-core/net/icmp6.c: Likewise.
2292 * grub-core/net/net.c: Likewise.
2293
88ce4cd7
VS
22942013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/fs/ntfs.c: Remove variable length arrays.
2297 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2298 compressed).
2299
66123940
VS
23002013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/fs/hfs.c: Remove variable length arrays.
2303 Reduces hfs.mod by 8 bytes (52 compressed).
2304
0927e5bd
VS
23052013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2308 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2309 compressed).
2310
9c12ac97
VS
23112013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2314 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2315 compressed).
2316
97ec2d71
VS
23172013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2320 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2321 compressed).
2322
156e4ea0
VS
23232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/fs/xfs.c: Remove variable length arrays.
2326 Reduces xfs.mod by 40 bytes (43 compressed).
2327
3b502c29
VS
23282013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/fs/fshelp.c: Remove variable length arrays.
2331 Reduces fshelp.mod by 116 bytes (23 compressed).
2332
c7037f1d
VS
23332013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/normal/completion.c: Remove variable length arrays.
2336 * grub-core/normal/menu_entry.c: Likewise.
2337
2338 Reduces normal.mod by 496 bytes.
2339
a07e6ad0
VS
23402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2343 by 356 bytes (158 compressed).
2344
2359bf88
VS
23452013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2348 by 364 bytes (169 compressed).
2349
d28e1163
VS
23502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2353 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2354 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2355
e89c2d48
VS
23562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2359 bitmasks to small structures of size chosen to fit in registers.
2360
7abdac8e
VS
23612013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * conf/Makefile.common: Use -freg-struct-return on i386. This
2364 decreases code size and improves performance.
2365
518864c0
VS
23662013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2369
bbd2b539
VS
23702013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2373 "(null)" string.
2374 Simplify expressions to save around 256 bytes in kernel.img.
2375 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2376
99519c15
VS
23772013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2380 Use GRUB_UTIL_FD_O_* rather than O_*.
2381
20285765
VS
23822013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Add haiku-specific functions.
2385
887c0bb6
VS
23862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2389
cd78a56f
VS
23902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 Move stat () and device mode checking into OS-dependent files as
2393 long as performance doesn't suffer.
2394
a4012f07
VS
23952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 Split make_system_path_relative_to_its_root into separate file
2398 relpath.c from getroot.c as it's common between unix and haiku
2399 but otherwise haiku doesn't use any functions from unix getroot.c.
2400
31de274d
VS
24012013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2404 New function.
2405 (grub_util_is_special_file): Likewise.
2406
40346de6
VS
24072013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2410 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2411
d3923ab9
VS
24122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2415 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2416
663f6eb1
VS
24172013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2420 (load_image): Likewise.
2421
44d1c20a
VS
24222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * util/grub-render-label.c: Move backend part to ...
2425 * util/render-label.c: ... here.
2426
d0a116ee
VS
24272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2430 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2431
b47fcae6
VS
24322013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2435
0f7c00c1
VS
24362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2439 CD-ROM in case when it's declared as having subpartitions.
2440
29013cba
VS
24412013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 Don't add -lm on haiku.
2444
2445 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2446 and empty on haiku.
2447 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2448 -lm.
2449
e8559d24
VS
24502013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * configure.ac: Use -melf_*_haiku as target on haiku.
2453
8104063c
VS
24542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * Makefile.util.def: Add util/setup.c to extra_dist.
2457
fc3182c7
VS
24582013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2461 unknown types through.
2462
f90a3cc0
VS
24632013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2466 (grub_util_check_char_device): Likewise.
2467 * include/grub/emu/getroot.h: Likewise.
2468
1e3e7419
VS
24692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2472 memset rather than inline static function.
2473
92c88fc8
VS
24742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2477 not doing embedded decompressor.
2478
3cd910a2
VS
24792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2482 shadowing.
2483 * grub-core/kern/disk.c: Likewise.
2484 * grub-core/kern/misc.c: Likewise.
2485 * include/grub/parser.h: Likewise.
2486 * include/grub/script_sh.h: Likewise.
2487 * include/grub/zfs/zfs.h: Likewise.
2488
7b3aca00
VS
24892013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2492
97dfe7e4
VS
24932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2496 defined before trying to use it.
2497
bf919aa9
VS
24982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2501 warning.
2502
f4ccf29d
VS
25032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2506 Use __unused__ rather than __used__ on gcc < 3.2.
2507
0d3a6f85
VS
25082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2511 gcc < 4.0.
2512 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2513
757e3eb7
VS
25142013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2517
fb320faf
VS
25182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2521 * include/grub/emu/misc.h: Likewise.
2522
ea73acd2
VS
25232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2526 cur_color.
2527
71237a6f
VT
25282013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2529
2530 * grub-core/tests/checksums.h: Regenerated due to progress bar
2531 get_minimal_size changes.
2532
3d46c22f
BC
25332013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2534
2535 Added `tr' command support.
2536
2537 * grub-core/commands/tr.c: New file.
2538 * grub-core/Makefile.core.def: Build rules for new module.
2539
2540 * tests/grub_cmd_tr.in: New test.
2541 * Makefile.util.def: Build rules for new test.
2542
47e0a61f
VT
25432013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2544
2545 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2546
946fd073
VT
25472013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2548
2549 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2550 * docs/gurb.texi: Likewise.
2551
9c13c576
VT
25522013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2553
2554 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2555 Pixmap highlighted section with east and west slices was displayed
2556 incorrectly due to negative width of the central slice.
2557
ad543f12
VT
25582013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2559
2560 * docs/grub.texi: Graphical options information update.
2561 Removed outdated. Updated current. Inserted missed.
2562
6176a0cd
VS
25632013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * docs/grub.texi: Mention few new platform-specific commands.
2566
9688cae2
VS
25672013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2570 currently used so this doesn't really have any effect.
2571 Reported by: Douglas Ray <dougray>
2572
f7b69a3f
VS
25732013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2576 compilation but prevents gcc from displaying messages in non-Latin
2577 alphabets.
2578 * conf/Makefile.common: Likewise.
2579
ceca6ddf
HY
25802013-10-16 Hiroyuki YAMAMORI
2581
2582 Handle Japanese special keys.
2583 Reported by: Hiroyuki YAMAMORI.
2584 Codes supplied by: Hiroyuki YAMAMORI.
2585
ac48d334
VT
25862013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2587
2588 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2589
b2b71bff
VT
25902013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2591
2592 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2593 * docs/grub.texi: Likewise.
2594
669fc449
VS
25952013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2598 value in case of incomplete read.
2599 (grub_util_fd_write): Likewise.
2600
59381678
VS
26012013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2604
bacfefbb
VS
26052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * util/grub-editenv.c (create_envblk_file): More from here ...
2608 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2609
f7c49570
VS
26102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2613 canonicalize file name before doing the rest.
2614
7b83ca44
VS
26152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2618 mingw32.
2619
df1e64c9
VS
26202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 Define grub_util_is_directory/regular/special_file and
2623 use OS-dependent versions rather than to rely on stat().
2624
ec16e026
VS
26252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * util/grub-mkimage.c: Move backend part to ...
2628 * util/mkimage.c: ... here.
2629
4b4eeb3c
VS
26302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Allow compilation with mingw64 albeit with warnings due to lack of
2633 %llx/%llu.
2634
2635 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2636 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2637 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2638 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2639 on mingw64.
2640 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2641
f4e0adc0
VS
26422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 Remove leftover references to some of the system headers.
2645
e0127364
VS
26462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2649 read.
2650
20d53541
VS
26512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2654 of strerror.
2655
5a869940
VS
26562013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 Split out blocklist retrieving from setup.c to
2659 grub-core/osdep/blocklist.c and add windows implementation since
2660 generic version doesn't work on NTFS on Windows due to aggressive
2661 unflushable cache.
2662
c06c7520
VS
26632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2666 files.
2667
8f53bb3f
VS
26682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2671 Cut tailing newline. Remove arbitrary limitation. Always use
2672 grub_util_tchar_to_utf8.
2673
148f1007
VS
26742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2677 * tests/printf_unit_test.c (printf_test): Add %% tests.
2678 Reported by: Paulo Flabiano Smorigo.
2679
af3b06be
VS
26802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2683 implement fsync.
2684
27f9d02e
VS
26852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2688 use nvlist_lookup_string and don't use nvlist_print.
2689
f6a81f0a
VS
26902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2693 closedir to handle filename charset translation.
2694
d7750b32
VS
26952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * include/grub/emu/hostdisk.h: Move file operations to
2698 * include/grub/emu/hostfile.h: ... here.
2699
2859196e
VS
27002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2703 unicode path.
2704
c018c968
VS
27052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2708
7e45abce
VS
27092013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2712 and remove export.h.
2713
23934da2
VS
27142013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/kern/emu/error.c: Removed.
2717 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2718 explicitly as it's already in libgnu.a.
2719
c11ebcc8
VS
27202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2723 config-util.h include.
2724
70671037
VS
27252013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Split emunet into platform-dependent and GRUB-binding parts. Keep
2728 platform-dependent part in kernel for easy access to OS functions.
2729
25ac643a
VS
27302013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2733 open/read/write.
2734
69ca5876
VS
27352013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/osdep/windows/emuconsole.c: New file.
2738
d9d68ef0
AB
27392013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2740
2741 * conf/Makefile.extra-dist: Add osdep/*/init.c
2742
58e211cc
VS
27432013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2746
588744d0
VS
27472013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * util/grub-probe.c (probe): Separate different drives in hint-str
2750 by spaces and not newlines.
2751 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2752
44016e52
AB
27532013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2754
2755 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2756 Handle CD-ROMs.
2757
6de9ee86
VS
27582013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 Pass-through unknown E820 types. It required reorganisation of mmap
2761 module.
2762
f8f3f155
AB
27632013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2764
2765 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2766
b73249d2
VS
27672013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2770 fseeko.
2771
dac86b18 27722013-10-14 qwertial <qwertial>
2773
2774 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2775
17614b84
JM
27762013-10-14 Jon McCune <jonmccune@google.com>
2777
2778 * docs/grub.texi: Document new signatures possibility.
2779
6de292cb
VS
27802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2783
84379b61
VS
27842013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2787 missing prototype.
2788 (grub_util_tchar_to_utf8): Likewise.
2789
21d85db1
VS
27902013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2793 * grub-core/kern/emu/main.c: Add missing include.
2794 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2795 Don't call grub_util_init_nls.
2796 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2797 Likewise.
2798
66a1b3ee
VS
27992013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2802 stat.
2803
e19bec17
VS
28042013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2807
ee8c1b29
VS
28082013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2811
bb338aaf
VS
28122013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 Add a wrapper for fopen. On unix-like systems just pass-through. On
2815 windows use unicode version.
2816
ae5540d3
VS
28172013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Move set_program_name and init_nls to host_init. On windows
2820 fix in this fuction console and argument charset as well.
2821
4cd3c4fe
AB
28222013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2823
2824 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2825 GRUB_ENABLE_CRYPTODISK.
2826
2827 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2828 GRUB_ENABLE_CRYPTODISK.
2829 * util/grub-mkconfig_lib.in: Likewise.
2830
78170f3e
CCZ
28312013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2832
2833 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2834
3414b6c0
MC
28352013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2836
2837 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2838 error when enabling debug.
2839
6d0740e8
IB
28402013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2841
2842 * configure.ac: Use -melf_*_obsd on openbsd.
2843
ff2d4dc4
VS
28442013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2847
eac6ae82
VS
28482013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * include/grub/misc.h: Use gnu_printf rather than printf as format
2851 template since our functions are independent of libc.
2852
ba9baabe
VS
28532013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * util/grub-setup.c (setup): Move copying of partition table as
2856 futher up as possible to avoid possible overwrite by floppy routines.
2857
28582013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2859
2860 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2861
145e2369
VT
28622013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2863
2864 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2865 * docs/grub.texi: Likewise.
2866
3530bc9d
VS
28672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2870 it's mostly unused. Move vestiges to the callers.
2871
fb9f59c3
VS
28722013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2875 version of salt and hash. Use grub_snprintf rather than snprintf.
2876
9be1c255
VS
28772013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * docs/grub.texi: Fix problem with braces.
2880
ed8c0887
VS
28812013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * conf/Makefile.extra-dist: Fix extra-dist list.
2884 * grub-core/Makefile.core.def: Likewise.
2885
f72ab14e
VS
28862013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * docs/grub.texi: Document disk names used on Windows and AROS.
2889
2fe53a22
VS
28902013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2893 with AROS devs.
2894 * grub-core/osdep/aros/hostdisk.c: Likewise.
2895
71c1d67a
VS
28962013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 Avoid including hostfile.h when not necessarry as it pulls
2899 in OS-specific headers which may redefine generic names
2900 like "far".
2901
ad297ec7
VT
29022013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2903
2904 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2905 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2906 scrollbar_bottom_pad
2907 * docs/grub.texi: Likewise.
2908
6e9e5dc9
VT
29092013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2910
2911 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2912
761c718b
VS
29132013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2916
37149a2f
VS
29172013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2920 Removed.
2921 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2922 Made static.
2923
3837a151
VS
29242013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2927 leftover.
2928
caca1c70
VS
29292013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Move OS-specific driver configuration to grub_util_fd_open. This
2932 moves OS-dependent parts from kern/emu/hostdisk.c to
2933 grub-core/osdep/*/hostdisk.c.
2934
f7676b70
VS
29352013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * util/grub-mkimage.c (generate_image): Use size_t instead of
2938 grub_size_t.
2939 * util/grub-mkimagexx.c (locate_sections): Likewise.
2940 (load_image): Likewise.
2941
22f98db2
VS
29422013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2945 size_t.
2946 (grub_util_write_image): Likewise.
2947
b102ce69
VS
29482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2951 get random when no RNG is available.
2952 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2953
acbbe5cb
VS
29542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * include/grub/util/lvm.h: Removed.
2957
2112fb3f
VS
29582013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2961 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2962
79f78fbf
VS
29632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2966
c2e6f705
VS
29672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2970
aabe433a
VS
29712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/net/drivers/emu/emunet.c: Move to ..
2974 * grub-core/osdep/linux/emunet.c: ..here.
2975
9a2c903f
VS
29762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * util/ieee1275/ofpath.c: Move to ...
2979 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2980 * grub-core/osdep/basic/ofpath.c: ..here.
2981
4a445f58
VS
29822013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 Move password-querying (util-version) routines to grub-core/osdep.
2985
c1ca4244
VS
29862013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 Move sleep routines to grub-core/osdep.
2989
672fa55e
VS
29902013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 Move OS-dependent files to grub-core/osdep and document it.
2993
a5b0365a
VS
29942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2997 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2998
29072e99
VS
29992013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
3002
f8772ea7
VS
30032013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * util/misc.c: Remove leftover inclusion of malloc.h.
3006
a1a315e7
VS
30072013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * include/grub/setjmp.h: Remove leftover GRUBOF.
3010
cef86fef
VS
30112013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * util/raid.c: Fold into ...
3014 * util/getroot_linux.c: ... here. Make all functions static.
3015
c4cf25ee
VS
30162013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
3019 macros to GRUB ones.
3020
53a5f5c2
VT
30212013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3022
3023 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
3024 occasional bug. If there are too many boot entries or too low
3025 scrollbar height then we need to use another formula to calculate
3026 the position and size of the scrollbar thumb.
3027
de300af2
VS
30282013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3029
c4cf25ee 3030 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 3031
c5827364
VT
30322013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3033
3034 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
3035 * docs/grub.texi: Likewise.
3036
dd2ed8b0
VT
30372013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3038
3039 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3040 viewport.
3041
7286c384
VT
30422013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3043
ffdfc1f3
VT
3044 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3045 minimal width calculations.
7286c384 3046
ea547e14
VS
30472013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * docs/grub.texi: Update note on colors on emu console.
3050
b726be76
VS
30512013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3054 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3055 it's FS and not GRUB limitation.
3056
a5f6ade6
VS
30572013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3060
3b0f3aa2
VS
30612013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3064
1db38304
ST
30652013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3066
3067 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3068 kernels by version order.
3069
fb295fc0
VS
30702013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3073
47345010
VS
30742013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 Add AROS hostdisk and getroot routines.
3077
bf25f879
VS
30782013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 Make cryptodisk and diskfilter probe data retrievable programmatically
3081 and not just printable.
3082
24ca4512
VS
30832013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 Split random retrieving code into separate files.
3086
c7c177f0
VS
30872013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3090 R_ARM_V4BX.
3091
d71b45ae
VS
30922013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3095 condition.
3096 * grub-core/tests/fake_input.c: Likewise.
3097 * grub-core/tests/cmdline_cat_test.c: Likewise.
3098
e44b9a83
VS
30992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/video/capture.c: Do not do finalization when .fini
3102 is called as there is explicit capture_end.
3103
4fa60739
VS
31042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3107 changing windows to avoid crash.
3108
17c8bc37
VS
31092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3112
9d4d7977
VS
31132013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * po/exclude.pot: Add several strings to exclude.
3116
0caa407c
VS
31172013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3120
9ae393da
VS
31212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3124 ./util/grub-gen-asciih.c to exclude list.
3125
498d5033
VS
31262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3129 and don't mark error strings for translation.
3130
7d93298f
VS
31312013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3134 properly in case of missing block size.
3135
b2cae20c
VS
31362013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/lib/arm/setjmp.S: Add missing license section.
3139
3896d6b4
VS
31402013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * po/swiss.sed: Add replacement for key names and for term computer.
3143
ebc1da55
VT
31442013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3145
3146 * grub-core/gfxmenu/theme_loader.c: New global options for the
3147 theme background image handling. desktop-image-scale-method,
3148 desktop-image-h-align, desktop-image-v-align.
3149 * grub-core/gfxmenu/view.c: Likewise.
3150 * include/gfxmenu_view.h: Likewise.
3151 * include/bitmap_scale.h: Proportional scale functions introduced.
3152 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3153 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3154 cases of unexpected input variables for scale functions.
3155 * docs/grub.texi: Updated documentation for new options.
3156
c5739143
VS
31572013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3160
be74aeb3
VT
31612013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3162
3163 * grub-core/tests/checksums.h: Corrected due to changes in
3164 bilinear interpolation function.
3165
d999ac72
VT
31662013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3167
3168 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3169 to eliminate artefacts in bilinear interpolation.
3170
2b131610
VS
31712013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/video/readers/tga.c: Support paletted tga.
3174
de6e5ff8
VS
31752013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3178 incorrect cbcr setting when in color mode.
3179
fa31ee9c
VS
31802013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/video/readers/png.c: Support paletted images and clean up
3183 greyscale support.
3184
e84f8188
VS
31852013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3188 usage of wrong table which resulted in mishandling of 4-byte
3189 sequences.
3190
31912013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
3192
3193 * grub-core/term/terminfo.c: Add Home and End key sequences.
3194
d72bff09
VS
31952013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3198 Fix formula for computing total number of bytes.
3199
29648c5d
VS
32002013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3203 image processing, fix big-endian and support grayscale.
3204
4a876492
VS
32052013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3208 Correctly will with maximum transparency when using index color.
3209
3ccf16df
VS
32102013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/video/readers/png.c: Support grayscale
3213
32142013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3215
3216 * grub-core/video/readers/jpeg.c: Support grayscale.
3217
3ccf16df 32182013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3219
3220 * grub-core/commands/loadenv.c: Support skipping signature check
3221 and variable names filtering.
3222
30b7f58f
VS
32232013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3226 * grub-core/kern/emu/hostfs.c: Likewise.
3227 * util/getroot_unix.c: Likewise.
3228
bab7b1eb
VS
32292013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3232 Migrate all explicit defines to this new one.
3233
43b1c99d
VS
32342013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3237 grub_util_fd_strerror when using grub_util_fd_*.
3238 (grub_util_fd_open_device): Likewise.
3239 (grub_util_biosdisk_read): Likewise.
3240 (grub_util_biosdisk_write): Likewise.
3241 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3242 (grub_util_fd_strerror): Likewise.
3243 (grub_util_fd_sync): Likewise.
3244 (grub_util_fd_close): Likewise.
3245 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3246 (grub_util_fd_close): Likewise.
3247 (grub_util_fd_strerror): Likewise.
3248 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3249 function proto rather than macro.
3250 (grub_util_fd_sync): Likewise.
3251 (grub_util_fd_open): Likewise.
3252 (grub_util_fd_strerror): New proto.
3253
e8fd80bc
VS
32542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3257 platforms on which it doesn't work.
3258
bf645fda
VS
32592013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3262 stat immediately to where it's used.
3263
5177ba14
VS
32642013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * util/getroot.c (grub_util_check_block_device): Move to ...
3267 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3268 * util/getroot.c (grub_util_check_char_device): Move to ...
3269 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3270
9db826e1
VS
32712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3274 disk closing logic.
3275
49120085
AB
32762013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3277
3278 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3279
b3328b68
AB
32802013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3281
3282 * docs/grub.texi (File name syntax): Document ZFS filenames
3283 (/volume@snapshot/...).
3284
3fff48ab
VS
32852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3288 Always return full path. Fixes a problem with mkrelpath.
3289
39cfdaa9
PFS
32902013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3291
3292 * util/grub-install.in: Add GPT PReP support.
3293 * util/grub-probe.c (probe): Support GPT partition type.
3294 (main): Support -t gpt_parttype.
3295
7c680e1f 32962013-09-23 Aleš Nesrsta <starous@volny.cz>
3297
3298 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3299
890bdabe
MM
33002013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3301
3302 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3303
9c262ff9
TH
33042013-09-23 Tim Hardeck <thardeck>
3305
3306 * util/grub.d/10_hurd.in: Filter out character for the class.
3307 * util/grub.d/10_kfreebsd.in: Likewise.
3308 * util/grub.d/10_linux.in: Likewise.
3309 * util/grub.d/20_linux_xen.in: Likewise.
3310
d755342a
MC
33112013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3312
3313 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3314 "changed".
3315
68b77707
JT
33162013-09-23 Josh Triplett <josh@joshtriplett.org>
3317
3318 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3319 boot partition.
3320
efa68bfa
VS
33212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3324 doesn't use posix_wrap. Keep literal -fno-builtin however.
3325
d9104204
VS
33262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3329
c248781a 33302013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33312013-09-23 neil
3332
5830df88 3333 * configure.ac: Do not enable -Wmissing-noreturn as its
3334 usefulness is limited and creates problems on some OS notably with
3335 code generated by bison.
3336
33372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33382013-09-23 neil
3339
3340 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3341 supported by all gcc and when it is, it's already enabled by -Wall.
3342
621bed69
VS
33432013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3346 desactivated use of EDID at all.
3347
71764dc8 33482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33492013-09-23 neil
3350
3351 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3352 video if no text is available.
3353
affce7d4 33542013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
33552013-09-23 neil
3356
3357 * configure.ac: Substitute TARGET_RANLIB.
3358
33592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
33602013-09-23 neil
affce7d4
VS
3361
3362 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3363
3364 Based on patches from AROS.
3365
0e8daad0 33662013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 33672013-09-23 neil
0e8daad0
VS
3368
3369 * grub-core/Makefile.am: Override STRIP and RANLIB.
3370 * configure.ac: compute TARGET_RANLIB.
3371 * INSTALL: Document TARGET_RANLIB
3372
3373 Based on patches from AROS.
3374
3f7d9c82
VS
33752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3378 that floppies are unpartitioned.
3379
bca8873a
VS
33802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3383 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3384
33852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3388 less nice but more portable.
3389 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3390
a47a78be
VS
33912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3394 for cheat_fd.
3395 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3396 functions.
3397 (grub_cryptodisk_cheat_insert): Likewise.
3398 (grub_cryptodisk_close): Likewise.
3399
e85a5d5c
VS
34002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3403 Use windows path for DEFAULT_DIRECTORY.
3404
dad9fa6b
VS
34052013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3408 difference was likely just gcc version, not anything mingw-related.
3409
7e518ca8
VS
34102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 Use Winapi on both cygwin and mingw32 to share more code between both.
3413
d68d0157
AB
34142013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3415
3416 * util/grub-install.in: Add --grub-editenv option.
3417 * util/grub-install_header (grub_compress_file): Explicitly check for
3418 plain file to avoid cp error.
3419
775b284d
AB
34202013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3421
3422 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3423 names; fix LVM driver name (lvm, not lv).
3424 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3425 names.
3426
3ff4063d
VS
34272013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3430 files rather than one file with loads of #if's.
3431 * util/getroot.c: Likewise.
3432
287faafe
VS
34332013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3436
d1983764
VS
34372013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3440 GNU/Hurd to the list of checked PRNG.
3441
15ce95c4
VS
34422013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3445
207862dd 34462013-09-21 Ales Nesrsta <starous@volny.cz>
3447
7c680e1f 3448 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3449
63653cfd
VS
34502013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3453 * grub-core/disk/lvm.c: Add LVM UUIDs.
3454 * util/getroot.c: Use LVM UUIDs whenever possible.
3455
f5d3e7ef
AB
34562013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3457
3458 * docs/grub.texi (Networking commands): Add documentation for
3459 network related commands.
3460
53c6b7d6
VS
34612013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3464 to determine if device is handled by devmapper.
3465 (convert_system_partition_to_system_disk): Likewise.
3466 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3467 already done in grub_util_open_dm.
3468
e70d6736
LL
34692013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3470
3471 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3472 Clean up stack manipulation (sync_caches_armv*)
3473
90379808
VS
34742013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * util/lvm.c: Remove since unused. Remove remaining references.
3477
386701a8
VS
34782013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 Handle the case of partitioned LVM properly.
3481
3482 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3483 Stop on meeting LVM, mpath or DMRAID.
3484 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3485 (read_device_map): Likewise.
3486 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3487 device is full disk rather than erroring out on LVM and similar cases.
3488
53070787
VS
34892013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3492
1bc783bd
VS
34932013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3496 4K before the end.
3497 Reported by: Leif Lindholm
3498
436ad5c3
PW
34992013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
35002013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3503 codes.
3504
607319c9
CW
35052013-09-18 Colin Watson <cjwatson@ubuntu.com>
3506
3507 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3508 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3509
d404d154
DR
35102013-09-18 Douglas Ray <dougray@cpan.org>
3511
3512 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3513 as secure.
3514
28851ef6
AN
35152013-09-18 Aleš Nesrsta <starous@volny.cz>
3516
3517 * docs/grub.texi: Fix broken link.
3518
897c3bc6
MC
35192013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3520
3521 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3522 to break endless loop.
3523
f1630459
VS
35242013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * util/grub-fstest.c: Fix several printf formats.
3527 * util/grub-mkimage.c: Likewise.
3528 * util/grub-mkimagexx.c: Likewise.
3529 * util/grub-script-check.c: Likewise.
3530
64463dfd
VS
35312013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3534 error.
3535
48972495
VS
35362013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3539
5dd5e64b
VS
35402013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3543 removed in current versions cygwin_conv_*.
3544
1c1f31e5
VS
35452013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * configure.ac: Disable efiemu runtime on cygwin.
3548
c546a259
VS
35492013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3552 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3553
81690478
VS
35542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3557 error message.
3558
6b87c10a
VS
35592013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3562 windows variant.
3563 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3564 data.
3565
8f0baaac
VS
35662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3569 when on x86 and not cygwin.
3570 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3571 -Wl,-melf_x86_64.
3572
b224c266
VS
35732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * configure.ac: Set CPP to build one when checkoing for freetype for
3576 build.
3577
506b336b
VS
35782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3581 [!GRUB_BUILD]: Remove has_argument.
3582
8c8c87b7
VS
35832013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3586 Replace with a dummy.
3587
7dc5ca13
VS
35882013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * configure.ac: Don't change host_os from mingw to cygwin.
3591
c3302aa5
VS
35922013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * configure.ac: Change target_os from windows to cygwin.
3595
7b780018
VS
35962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3599
3600 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3601 (build-grub-gen-asciih): Likewise.
3602 (build-grub-gen-widthspec): Likewise.
3603 * Makefile.util.def (grub-pe2elf): Remove.
3604 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3605 * configure.ac: Separate tests for build.
3606 Move ./build-grub-pe2elf to grub-core.
3607 Fix typo.
3608 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3609 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3610 defined.
3611 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3612 constants.
3613 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3614 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3615 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3616
984cfd8a
VS
36172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3620 mingw32 as well based on grub_util_get_disk_size.
3621 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3622 grub_util_get_fd_size.
3623 (sync): Removed.
3624 (fsync): Moved to ...
3625 * grub-core/kern/emu/misc.c (fsync): ... here.
3626
f82d79c9
VS
36272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * include/grub/mm.h (grub_extend_alloc): Remove.
3630 * grub-core/loader/i386/pc/plan9.c: Use own version of
3631 grub_extend_alloc with appropriate types.
3632
fd7dd66d
VS
36332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3636
43ffba7c
VS
36372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3640
3c7eac44
VS
36412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 Fix dependencies on cygwin.
3644
3645 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3646 dependencies when used and defined.
3647 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3648
bdb5ba47
VS
36492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3652 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3653
ed7fbf43
VS
36542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3657 implementation available to cause compile-time rather than runtime
3658 error.
3659
fc46e9fc
VS
36602013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * util/grub-fstest.c: Don't check for symlinks on windows.
3663
7f68269a
VS
36642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * INSTALL: Mention unavailability of man pages when cross-compiling.
3667
8ed358e0
VS
36682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3671 and gcry_log_bug.
3672 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3673
fc97214f
VS
36742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * INSTALL: Document cross-compilation.
3677 * acinclude.m4: Determine whether nm support -P and --defined-only.
3678 * configure.ac: Add TARGET_ to all variables pertaining to target
3679 that don't have it yet.
3680 * gentpl.py: Likewise.
3681 * grub-core/Makefile.am: Likewise.
3682 * grub-core/genmod.sh.in: Likewise.
3683 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3684 as well.
3685
ca1fb563
IB
36862013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3687
3688 * configure.ac: Remove -Wempty-body. It's not essential and needs
3689 recent gcc.
3690
0031b229
IB
36912013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3692
3693 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3694 * util/getroot.c: Likewise.
3695
54ea2f44
VS
36962013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/disk/ahci.c: Add needed explicit cast.
3699 * grub-core/lib/backtrace.c: Likewise.
3700 * grub-core/net/ip.c: Likewise.
3701 * grub-core/net/tcp.c: Likewise.
3702 * grub-core/net/udp.c: Likewise.
3703
3c601f8c
VS
37042013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3707
1d679dda
VS
37082013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * util/import_gcry.py: Add final newline in visibility.h.
3711
00c28dd9
VS
37122013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * conf/Makefile.common: Fix typo.
3715
32af299a
VS
37162013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3719
e733cf52
VS
37202013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 * Makefile.am (widthspec.h): Fix typo.
3723 * util/grub-gen-widthspec.c: Likewise.
3724
c6b066f2
VS
37252013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Move ascii.h and widthspec.h generation to a separate build-time-only
3728 tool.
3729
ad1fe3f9 37302013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3731
3732 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3733 Always fill bootdisk info and improve check for NetBSD disklabel.
3734
92a52dd4
VS
37352013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * conf/Makefile.extra-dist: Add util/bin2h.c.
3738 Reported by: floppym.
3739
b2e9d276
VS
37402013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3743
7b966834
VS
37442013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * configure.ac: Disable unifont and starfield if no freetype was found.
3747
d5c1eef1
VS
37482013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3751 on NetBSD and OpenBSD.
3752
66345b50 37532013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3754
3755 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3756
66345b50 37572013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3758
3759 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3760 reduced. Inheritant options are processed during the theme loading.
3761
66345b50 37622013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3763
3764 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3765
369508b3
AS
37662013-08-14 Avik Sil <aviksil@in.ibm.com>
3767
3768 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3769
37702013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3771
3772 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3773 using qemu.
3774
6f27a3f6
PFS
37752013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3776
3777 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3778 remove-potcdate.sed.
3779
c6ed362a
AB
37802013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3781
3782 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3783 unused attribute from pull argument.
3784
5e7d9464
AB
37852013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3786
3787 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3788 memory leak.
3789
dea55e2a
AB
37902013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3791
3792 * util/getroot.c (pull_lvm_by_command): add --separator option
3793 to vgs call to disable padding of output to 10 characters.
3794
f0b94ded
VS
37952013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3798 here ...
3799 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3800 here.
3801
b828fb5d
VS
38022013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3805 length.
3806
7c9d0c39
VS
38072013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3810 full Canadian cross. Tested with build=x86_64, host=arm,
3811 target=ppc-ieee1275.
3812
816719c8
VS
38132013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * configure.ac: Error if no $BUILD_CC could be found.
3816 Reported by: DevHC.
3817
2af2353b
VS
38182013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3821 i386-multiboot.
3822
797abd0a
VS
38232013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3826 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3827
36e87d25
CW
38282013-08-13 Colin Watson <cjwatson@ubuntu.com>
3829
3830 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3831 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3832 falling back to the partition device, otherwise a later call to this
3833 function may fail spuriously.
3834 Reported by Axel Beckert. Fixes Debian bug #708614.
3835
273349fe
GS
38362013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3837
3838 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3839
418f86c6
GS
38402013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3841
3842 Prevent shadowing of stdlib's devname(3) on BSD.
3843
3844 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3845 and devlast to diskname and disklast, respectively.
3846
c137aea0
CW
38472013-08-11 Colin Watson <cjwatson@ubuntu.com>
3848
3849 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3850
272dc8df 38512013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3852
3853 * docs/grub.texi: Introduce terminal window position options:
3854 terminal-left: terminal window's left position
3855 terminal-top: terminal window's top position
3856 terminal-width: terminal window's width
3857 terminal-height: terminal window's height
3858 terminal-border: terminal window's border width
3859 * grub-core/gfxmenu/theme-loader.c: Likewise.
3860 * include/grub/gfxmenu_view.h: Likewise.
3861 * po/exlude.pot: Likewise.
3862 * grub-core/gfxmenu/view.c: Likewise.
3863 Also updated minimal window size.
3864 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3865 * grub-core/tests/checksums.h: Update (terminal window height
3866 is adjusted now for low resolution screen)
b4743461 3867
748a4533
VS
38682013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3871 position).
3872
fca5f944
VS
38732013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * po/exclude.pot: Add few recent exceptions.
3876
4f47d809
VS
38772013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * tests/grub_func_test.in: Add unicode.pf2.
3880
a62ae90c
VS
38812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3884 standard rather than noral color, in line with other terminals.
3885
4ed41392
VS
38862013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3889 analysis.
3890
3719fbc5
VS
38912013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3894
459b1d91
VS
38952013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3898 inappropriate printf.
3899
f4e1ab9d
AB
39002013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3901
3902 * .bzrignore: Remove grub-core/lib/dtc-grub,
3903 grub-core/Makefile.libfdt.def
3904 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3905
fa471bfa
VS
39062013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * include/grub/video.h (grub_video_register): Keep double-linked as
3909 well as single-linked invariants.
3910 Reported by: qwertial.
3911
d65be02b
VS
39122013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/commands/nativedisk.c (get_uuid): Handle
3915 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3916
ba8bc620
VT
39172013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3918
3919 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3920 maximum of NW, N, NE heights instead of N's height and maximum of
3921 NW, W, SW widths instead of W's width. (So the box will be always
3922 correctly drawn)
3923
4f0ad029
GS
39242013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3925
3926 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3927 Fix misuse of variable count.
3928
43d53b72
LL
39292013-07-18 Leif Lindholm <leif.lindholm@arm.com>
39302013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
39312013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3932
43d53b72
LL
3933 New ports to arm-uboot and arm-efi.
3934 Mostly by Leif Lindholm with some additions from
3935 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3936
88f8d146
VS
39372013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3940 and not before.
3941 Reported by: Leon Drugi.
3942
3f42504c
VS
39432013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3946 Reported by: Paulo Flabiano Smorigo.
3947
d110499b
VT
39482013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3949
3950 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3951
a8674ad3
VT
39522013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3953
3954 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3955
286fe4b3
VS
39562013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3959
1bd57aa3
VS
39602013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3963
7a87d69f
AB
39642013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3965
3966 * grub-core/net/bootp.c: Export net_* variables.
3967 * grub-core/net/net.c: Likewise.
3968
b2182299
VS
39692013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3972
795b3dc0
VS
39732013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3976
68714c43
VS
39772013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3980
af211bab
VS
39812013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3984
0036f02d
MM
39852013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3986
3987 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3988 <= 0.
3989
6d0ddff3
MM
39902013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3991
3992 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3993 functions.
3994
038016f4
MM
39952013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3996
3997 * grub-core/fs/zfs/zfs_lz4.c: New file.
3998 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3999
776bdce2
MM
40002013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4001
4002 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
4003
c71dbd40
MM
40042013-07-14 Massimo Maggi <me@massimo-maggi.eu>
4005
4006 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
4007 (check_pool_label): Likewise.
4008 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
4009
40102013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
4011
4012 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
4013
8e67b50f
AB
40142013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4015
4016 * docs/grub.texi (Commands): Document postition parameters
4017 for menuentry command.
4018
f5ae3717
AB
40192013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
4020
4021 * util/grub-mknetdir.in: Remove stray line from help output.
4022
9c28da2a
VS
40232013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 Remove early sm712 init as there is no reason for it (the "watchdog"
4026 effect was due to wrong GPIO map).
4027
139072b8
VS
40282013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4029
4030 * grub-core/commands/pcidump.c: Remove static variables.
4031
c6a61bda
VS
40322013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * grub-core/commands/sleep.c: Refresh screen before sleeping.
4035
51369614
VS
40362013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * configure.ac: Move delimiter after the infos.
4039
efa8640a
VS
40402013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4043
6f80a7b2
VS
40442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4047 not filling whole 8x16 space.
4048
a2371e19
VS
40492013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4052
64fce2d8
VS
40532013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * configure.ac: Indicate which liblzma is used if any.
4056
eb272d84
PW
40572013-06-21 Paul Wise <pabs3@bonedaddy.net>
40582013-06-21 Craig Sanders <savannah@taz.net.au>
4059
4060 * util/grub-reboot.in: Document submenu usage.
4061
a9e5abee
CW
40622013-06-25 Colin Watson <cjwatson@ubuntu.com>
4063
4064 * .bzrignore: Update with a number of new test-related files.
4065
e639c204
CW
40662013-06-25 Colin Watson <cjwatson@ubuntu.com>
4067
4068 * util/grub-script-check.c: Fail on scripts containing no
4069 commands, to guard against corrupted grub-mkconfig setups that
4070 produce no useful output.
4071 * tests/grub_script_no_commands.in: New test.
4072 * Makefile.util.def (grub_script_no_commands): Add.
4073 Reported by Hans Putter. Fixes Debian bug #713886.
4074
a4c89b17
AB
40752013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4076
4077 * grub-core/disk/diskfilter.c: Forgot to remove comment
4078 from previous commit.
4079
5b06b53c
AB
40802013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4081
4082 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4083 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4084
702da5c9
AB
40852013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4086
4087 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4088
aa62a5b7
AB
40892013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4090
4091 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4092 rescan diskfilter devices until nothing new is found.
4093
4aa237c8
VS
40942013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4097
93d8479b
VS
40982013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 Don't try to detect cbfs on *-emu.
4101
837222cc
VS
41022013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4105
99c971af
VS
41062013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Add support for processed coreboot payload chainloading.
4109
e6930a45
VS
41102013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Enable coreboot information commands even when not loaded as
4113 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4114
5027af38
VS
41152013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 Support for cbfs. Also factor out the part which is common
4118 for all archives to a separate module. This splits tar from cpio
4119 as they are very different but keeps cpio, cpio_be, odc and newc
4120 together since they're very similar.
4121
a5b55c4b
DM
41222013-06-15 David Michael <fedora.dm0@gmail.com>
4123
4124 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4125 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4126
0301a8b3
VS
41272013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * tests/grub_script_eval.in: Really add the eval test.
4130
3d84cb17
VS
41312013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 Move flavour-specific parts out of common cpio.c file and
4134 rename remaining to cpio_common.c
4135
593e430c
AB
41362013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4137
4138 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4139 off new function grub_script_execute_new_scope. Change callers to use
4140 either of them as appropriate.
4141 * grub-core/commands/eval.c: New command eval.
4142 * docs/grub.texi (Commands): Document it.
4143
63c29849
AB
41442013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4145
4146 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4147 to fetch values when listing.
4148
cc284112
AB
41492013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4150
4151 Fix make dist on non-pc.
4152
41532013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
4154
4155 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4156 without a device name.
4157
69544d1e
VS
41582013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 Remove enable_executable_check as it's not needed anymore.
4161 Reported by: dougray.
4162
96dbe648
VS
41632013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4166 ambigouos RAID before discovering RAIDs on top of it.
4167 Reported by: bodom.
4168
ccfc0bdb
VS
41692013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Fix typo (failback vs fallback).
4172
f2587088
AB
41732013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4174
4175 * util/grub.d/30_os-prober.in: Add support for probing EFI
4176 System Partition (as of os-prober 1.58).
4177
cec5cf0c
VS
41782013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * configure.ac: Add yet another path to unifont. For parabola.
4181
e40b4596
JT
41822013-05-30 Josh Triplett <josh@joshtriplett.org>
4183
4184 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4185 handling to copy the killed characters to the kill buffer as
4186 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4187 stored as char. Eliminates UCS4 truncation and corruption
4188 observed when killing characters with Ctrl-u and yanking them
4189 back with Ctrl-y.
4190
fc4c4fdd
VS
41912013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 Detach optional parts of gfxterm and integrate in with coreboot init.
4194
6570b205
VS
41952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 Move blit and fill dispatcher to appropriate files to decrease export
4198 and relocation overhead.
4199
b8323067
VS
42002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4203 functions.
4204
3cc1878f
VS
42052013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/Makefile.am: Fix compilation problem with some
4208 automake versions.
4209
4b80e43c
VS
42102013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4213
57e0c20c
VS
42142013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4217 automake versions.
4218
4fd42c53
VS
42192013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4222 SSDT.
4223
1e908b34
RS
42242013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4225
4226 * grub-core/partmap/dfly.c: New partition map.
4227
1359e474
VS
42282013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4231 checking.
4232 Reported by: Francesco Lavra.
4233
17806392
AB
42342013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4235
4236 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4237 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4238 false conditions.
4239 * conf/Makefile.common: define dist_grubconf_DATA
4240
cdce14fa
VS
42412013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Progressively skip menu elements on small terminals rather
4244 than crashing.
4245
c8d6cc3c
VS
42462013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4249 to avoid losing last column.
4250
a73b31ce
VS
42512013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * po/exclude.pot: Add missing string "%C".
4254
1202c764
VS
42552013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4258 after the test.
4259
50268344
VS
42602013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * util/grub-install.in: Gettextize "Not found" message.
4263
62b15edf
VS
42642013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Fix distfiles list.
4267 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4268
42692013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4270
4271 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4272 present.
4273 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4274
709ad61b
VS
42752013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4278
d128901a
VS
42792013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4282 attribute since structure is not necessarily aligned.
4283
34b22f5c
AB
42842013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4285
4286 * docs/grub.texi (Device syntax): Clarify description of network
4287 drives.
4288
0f7e980b
VS
42892013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4292 for vasprintf presence.
4293
30b03dc2
VS
42942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * util/grub-install.in: Handle efibootmgr presence check.
4297 Reported by: Leif Lindholm.
4298
0dc11c08
VS
42992013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4302 new strings to translate.
4303
f8024c3f
VS
43042013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4307 yet another string (pun intended) to translate.
4308
b4c1da62
VS
43092013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * po/POTFILES-shell.in: Autogenerate it.
4312
0ef7478b
VS
43132013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4316
8200fa15
VS
43172013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4320 misnomer.
4321
091945b2
AB
43222013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4323
4324 * docs/grub.texi (Network): Add description of net_default_interface,
4325 net_default_ip and net_default_mac. Rewrite variables description
4326 to emphasize that they are per-interface.
4327
0e7b2e32
VS
43282013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 New test: cmdline and cat.
4331
16f7c8f6
VS
43322013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 * grub-core/commands/cat.c: Show UTF-8 characters.
4335
3e912fda
VS
43362013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * conf/Makefile.common: Poison float and double on non-emu.
4339
ee0220bc
VS
43402013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * configure.ac: Don't disable extended registers on emu.
4343
89e0240c
VS
43442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * configure.ac: Don't use extended registers on x86_64.
4347 Reported by: Peter Jones.
4348
e56d9637
VS
43492013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/term/efi/console.c: Fix compile error.
4352
8098f655
VS
43532013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Compressed HFS+ support.
4356
16940e07
VS
43572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4360 pixel".
4361
c5dbc13d
VS
43622013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Menu color test.
4365
011f8ae8
VS
43662013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/tests/setjmp_test.c: New test.
4369
2aa072d7
VS
43702013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 New variables 'net_default_*' to determine MAC/IP of default interface.
4373
43fe02cb
VS
43742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * tests/gettext_strings_test.in: A test to check for strings not
4377 marked for translation.
4378
bed06142
VS
43792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * autogen.sh: Exclude unused libgcrypt files from translation.
4382
fb2666b5
VS
43832013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 Simplify few strings.
4386
d22840ec
VS
43872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 Mark few forgotten strings for translation.
4390
e34092fd
VS
43912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4394 rather than printf.
4395
47cf82b4
VS
43962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4399 rather than printf.
4400 * grub-core/video/readers/tga.c: Likewise.
4401
1eed0e6e
VS
44022013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * tests/priority_queue_unit_test.cc: New test.
4405
c5b7697b
VS
44062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4409 than printf.
4410
5945c2f8
AB
44112013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4412
4413 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4414 variable for one time boot menu entry.
4415
fa292343
B
44162013-05-05 Bean <bean123ch@gmail.com>
4417
4418 * grub-core/commands/testspeed.c: New command testspeed.
4419
310d4214
VS
44202013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 Factor-out human-size printing.
4423
85002bf3
VS
44242013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 Agglomerate more mallocs to speed-up gfxterm.
4427
22b06e96
VS
44282013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Speed-up gfxterm by slightly agglomerating mallocs.
4431
b7c036bc
VS
44322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 More video checks.
4435
92323d1f
VS
44362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 Speed-up gfxterm by saving intermediate results in index+alpha
4439 format.
4440
0fb356a3
VS
44412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4444 test.
4445
44dea3f9
VS
44462013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4449 line of timeout as it may contain the rest of long line.
4450
14af86e4
VS
44512013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/normal/main.c: Fix freed memory dereference.
4454
03f7c8c3
VS
44552013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 Fix several memory leaks.
4458
c686014c
VS
44592013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4462
0788a695
VS
44632013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4466
daf01d61
VS
44672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 Fix test -a and -o precedence.
4470 Reported by: adrian15.
4471
82ae74d7
VS
44722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4475
8cec7bd4
AB
44762013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4477
4478 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4479 and add it as source to functional_test module.
4480
aa73d688
VS
44812013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4484
c104b6f9
VS
44852013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 New series of tests for gfxterm and gfxmenu.
4488
7391c4d5
VS
44892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4492 the theme path relative to $prefix/themes.
4493
cff50118
VS
44942013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4497 Fix order bug.
4498 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4499
7c332bdc
VS
45002013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4503 descriptor.
4504
a4f9a5ff
VS
45052013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4508 grub_gfxmenu_timeout_notifications.
4509 (grub_gfxmenu_view_destroy): Likewise.
4510
b5a2114d
VS
45112013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4514
a8905e8a
VS
45152013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Several fixes to ieee1275 and big-endian video.
4518
813c1622
VS
45192013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Add missing exports on mips.
4522
3f3e7326
VS
45232013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4526 if no unifont is found.
4527 Restore original keyboard.
4528
095accd1
VS
45292013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4532 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4533
50361660
VS
45342013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 First automated video test (running videotest and comparing results)
4537
cd0f6eec
VS
45382013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4541 instead of 2 to have full RGB/CMY test pattern.
4542
3f9634e5
VS
45432013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Add few more tests.
4546
583e5b64
VS
45472013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4550 ARCS. All users updated.
4551
aa7bcb99
VS
45522013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4555
95ef1a54
VS
45562013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4559
46546fc5
VS
45602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4563 Reported by: qwertial.
4564
3476e0ef
VT
45652013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4566
4567 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4568 with syntax "XXX deg"/"XXX °".
4569
96f33fed
VS
45702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 Make PCI init in i386-qemu port more robust.
4573
45742013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4575
4576 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4577 cached view is reused.
4578 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4579 open boot menus.
4580
c53b4e67
VS
45812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Unify more code in grub-install_header.
4584
f7457fb2
VS
45852013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 Add few new tests.
4588
e2f27a8c
VS
45892013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 Enforce disabling of firmware disk drivers when native drivers kick in.
4592
ef9d8cd5
VS
45932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/commands/nativedisk.c: Customize the list of modules on
4596 platform. Don't try to search for disks already using native drivers.
4597
f7bf6c31
VS
45982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4601 platforms.
4602
bdc4add8
VS
46032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4606 handling of variables containing backslash.
4607
e9e46c9a
VS
46082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4611 dereference.
4612 Reported by: qwertial.
4613
0e90dee8
VS
46142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4617
e0aacf24
VS
46182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4621 dereference.
4622 Reported by: qwertial.
4623
3c0003c3
VS
46242013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4627
adb7d667
VS
46282013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4631
7cd0df84
VS
46322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 New command `nativedisk'.
4635
02adbb93
VS
46362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4639 * grub-core/loader/i386/bsd.c: Likewise.
4640
9fb0fd4f
VS
46412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4644
bd69257a
VS
46452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4648 grub_get_unaligned16 rather than shifts.
4649
178c2764
VS
46502013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * grub-core/kern/file.c: Use const char * rather than casting to
4653 non-const.
4654
eadfad24
VS
46552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/commands/probe.c: Add missing grub_device_close.
4658
9f73ebd4
VS
46592013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * INSTALL: Document linguas.sh.
4662
965fa829
VS
46632013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 Remove POTFILES.in and regenerate it in autogen.sh.
4666
d417ddc4
VS
46672013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 Move --directory/--override-directorry to grub-install_header and unify.
4670
f97ec546
VS
46712013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/term/morse.c: Macroify dih and dah.
4674
b2d7470c
PFS
46752013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4676
4677 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4678
141e2a78
VS
46792013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * grub-core/term/ns8250.c: Systematically probe ports by writing
4682 to SR before using them.
4683
1dd70ebd
PFS
46842013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4685
4686 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4687 disks.
4688 (check_sas): Get sas_adress info.
4689
c796a107
VS
46902013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4693 ports.
4694
43168646
LD
46952013-04-27 Leon Drugi <eyak>
4696
4697 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4698 BSS clearing.
4699
e7b8fd08
VS
47002013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 Core compression test.
4703
17f9fd29
VS
47042013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 Implement grub_machine_get_bootlocation for ARC.
4707
dc2a6c8b
VS
47082013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 Improve AHCI detection and command issuing.
4711
f25a2ba6
VS
47122013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 Fix pseries test.
4715
a6393224
VS
47162013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 Make 'make check' work on emu.
4719
db99fbe8
VS
47202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 Replace libcurses with our own vt100 handling for the ease of testing
4723 and decreasing prerequisites.
4724
b24ca7cd
VS
47252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4728
63314aa4
VS
47292013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4732 compile when not needed.
4733
c1b00fff
VS
47342013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * tests/pseries_test.in: New test.
4737
f93e89ef
VS
47382013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 Add test to check that different boot mediums work.
4741
c4b456d3
VS
47422013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4745 ofw limited ISO support.
4746
5fe67f39
VS
47472013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * configure.ac: Fix loongson conditional.
4750
7f63a64f
VS
47512013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 Enable mipsel-arc.
4754
b04b5990
VS
47552013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Add serial on ARC platform.
4758
88d2f302
VS
47592013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4762 commit.
4763
86eb23bc
VS
47642013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * tests/partmap_test.in: Add missing double semicolon.
4767
eec3bb75
VS
47682013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * util/grub-mkrescue.in: Fix loongson filename.
4771
e0810df3
VS
47722013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * util/grub-mkrescue.in: Move all files that don't have a location
4775 set in stone under /boot/grub. Use ISO hard links rather than copies
4776 to save some space.
4777
65a6b30b
VS
47782013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4781 bogus SLOF values.
4782
6aff0107
VS
47832013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 Make check work on mips-arc.
4786
5e013e56
VS
47872013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * util/grub-mkrescue.in: Alias sashARCS as sash.
4790
d1989e2e
VS
47912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4794 it's serial.
4795
1a25e72c
VS
47962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * util/grub-install.in: Fix target fo qemu_mips.
4799 Fix extension on EFI.
4800
a59a9826
VS
48012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4804 in front of chosen entry to mark it even if highlighting is lost.
4805
1a40f80c
VS
48062013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4809 gfxpayload=keep if cbfb is active.
4810
e343549c
VS
48112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4814
45fbd9a2
VS
48152013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Add missing video ids to coreboot and ieee1275 video.
4818
ab1440bd
VS
48192013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * util/grub-mkrescue.in: Add mips-arc support.
4822
cdeb8324
VS
48232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4826
8528c879
VS
48272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 Move mips-arc link address. Previous link address was chosen
4830 in belief that RAM on SGI platforms grows down while in fact it
4831 grows up from an unusual base.
4832
17fca573
VS
48332013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4836 Fix a type which prevented CD-ROM and floppy boot.
4837
d178788e
VS
48382013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Support coreboot framebuffer.
4841
4842 * grub-core/video/i386/coreboot/cbfb.c: New file.
4843
fe4c3e7e
VS
48442013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4847 detecting too small regions.
4848
ec2dd179
VS
48492013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4852
872dac83
VS
48532013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4856 Remove dprintf.
4857 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4858
90ec4b7f
VS
48592013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4862 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4863 * grub-core/loader/powerpc/ieee1275/linux.c
4864 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4865
f32555dd
VS
48662013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4869 Look for /boot-rom as well as /rom/boot-rom.
4870
38649799
VS
48712013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4874 handling when creating text_layer failed.
4875 * grub-core/video/video.c (grub_video_create_render_target):
4876 Set result to 0 on error.
4877 (grub_video_delete_render_target): Do not dereference NULL.
4878
aeace7f7
VS
48792013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4882 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4883 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4884 (grub_linux_load64): Mask out 2 high bits.
4885
4eafa175
AB
48862013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4887
4888 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4889 more place.
4890
daaa64bd
VS
48912013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Add support for pseries and other bootinfo machines to grub-mkrescue.
4894
4895 Tested by: Paulo Flabiano Smorigo.
4896
d0d2daa6
VS
48972013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * util/grub-mkrescue.in: Add GPT for EFI boot.
4900
b193e100
VS
49012013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4904 It improves performance in qemu.
4905
a0f8f3ac
VS
49062013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * build-aux/snippet: Add missing gnulib files.
4909
284df0e2
AB
49102013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4911
4912 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4913
740201f3
AB
49142013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4915
4916 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4917
a7e03923
PJ
49182013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
49192013-04-15 Peter Jones <pjones@redhat.com>
4920
4921 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4922 sectors.
4923 Based on patch by Peter Jones.
4924
25fc51a8
VS
49252013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 Fix DMRAID partition handling.
4928
88017d47
VS
49292013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * tests/grub_cmd_date.in: Skip on sparc64.
4932
fa7d914e
VS
49332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4936 firmware error messages.
4937
cbe57a48
VS
49382013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4941 source and destination differ.
4942
21aecce0
VS
49432013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4946 detection.
4947
25092d29
VS
49482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4951 match config-util.h to avoid warnings and increase compatibility.
4952
79451522 49532013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 49542013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4955
4956 Add option to compress files on install/image creation.
4957
78b7d77b
VS
49582013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * docs/grub-dev.texi: Rearrange menu to match the section order.
4961 Reported by: Bryan Hundven.
4962
cc2fa5ec
VS
49632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4966
b49fe879
VS
49672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 Move GRUB out of system area when using xorriso 1.2.9 or later.
4970
5351da81
VS
49712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * tests/grub_cmd_date.in: Add missing exit 1.
4974
c9d586ea
VS
49752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * tests/partmap_test.in: Skip on sparc64.
4978
3f729741
VS
49792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 Support grub-shell on sparc64.
4982
8ca86b3a
VS
49832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Support mkrescue on sparc64.
4986
aa1af9bb
VS
49872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4990 Needed on OpenBIOS due to incomplete device tree.
4991
ac4fea79
VS
49922013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4995 would be otherwise excluded.
4996
49972013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4998
4999 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
5000 Inline name defines used only once.
5001
fe22b071
VS
50022013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Fix memory leaks in ofnet.
5005 Reported by: Francesco Lavra.
5006
9d21381b
VS
50072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * docs/man/grub-glue-efi.h2m: Add missing file.
5010
07aec23c
VS
50112013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
5014
67ab8353
VS
50152013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 Better support Apple Intel Macs on CD.
5018
ba44ca6d
VS
50192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 Replace stpcpy with grub_stpcpy in tools.
5022
bbdd6305
VS
50232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 Handle Japanese special keys.
5026 Reported by: Hiroyuki YAMAMORI.
5027 Codes supplied by: Hiroyuki YAMAMORI.
5028
8573d302
VS
50292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * util/grub-mkimage.c: Document memdisk implying --prefix.
5032
d70dbab7
VS
50332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
5036 much we can do about it anyway.
5037
51a4c3e3
AN
50382013-04-12 Aleš Nesrsta <starous@volny.cz>
5039
5040 Fix handling of split transfers.
5041
92c8f58d
VS
50422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/net/http.c: Fix bad free.
5045
b7d17a49
VS
50462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5049 than buffer size.
5050
a3d566d4
VS
50512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5054
a936af56
VS
50552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * tests/util/grub-shell.in: Fix it on powerpc.
5058
51212234
VS
50592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Turn off QEMU ACPI-way since new releases don't have shutdown port
5062 anymore.
5063
a21eec9e
VS
50642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * docs/grub.texi: Update coreboot status info.
5067
e3734b84
VS
50682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * tests/grub_cmd_date.in: New test for datetime.
5071
f9d40055
VS
50722013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * tests/partmap_test.in: Fix missing qemudisk setting.
5075
dbc56d8f
VS
50762013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 Support i386-ieee1275 grub-mkrescue and make check on it.
5079
a79b8a15
VS
50802013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5083 feature for it.
5084
48f39bb4
VS
50852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5088 GRUB_CMDLINE_XEN_DEFAULT.
5089 Reported by: Marc Warne (GigaTux) <gigatux>
5090
053cfcdd
VS
50912013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Import new gnulib.
5094
93cd84df
VS
50952013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 Use ACPI shutdown intests as traditional port was removed.
5098
f4b1fa4f
AB
50992013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5100
5101 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5102 distinction.
5103
49818a59
VS
51042013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5107 Fix few warining messages and leaks while on it.
5108
9277a306
AB
51092013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5110
5111 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5112 links under grub-core/lib/libgcrypt-grub/mpi.
5113
d5e2a158
VS
51142013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Fix ia64-efi image generation on big-endian machines. Deduplicate
5117 some code while on it.
5118 Reported by: Leif Lindholm.
5119
18866643
AB
51202013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5121
5122 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5123 as extra_dist.
5124
ca53deb8
AB
51252013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5126
5127 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5128
d4c4b8e1
BH
51292013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5130
5131 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5132 texinfo-5.1.
5133
47043f95
VS
51342013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/normal/term.c: Few more fixes for menu entry editor
5137 rendering.
5138 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5139
a3216068
VS
51402013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/normal/term.c: Few more fixes for menu entry editor
5143 rendering.
5144 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5145
21026747
AB
51462013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5147
5148 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5149 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5150
59624ca8
AB
51512013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5152
5153 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5154 instead of hardcoding grub.mo.
5155
1f44478c
FN
51562013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5157
5158 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5159
eeada7b1
VS
51602013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5163 grub-core/disk/geli.c.
5164
132867de
VS
51652013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * util/grub-mkfont.c: Prefer enum to #define.
5168
de73de17
VS
51692013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5172
1865baa7
VS
51732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5176
ce7d92a9
VS
51772013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5180
52eab656
VS
51812013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5184
98b23b95
VS
51852013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * include/grub/bsdlabel.h: Use enums.
5188
0467a5dd
VS
51892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Move GRUB_CHAR_BIT to types.h.
5192
16cc9f03
AB
51932013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5194
5195 * docs/grub.texi: Document more user commands.
5196
3152aecb
AB
51972013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5198
5199 * docs/grub.texi: Document menuentry --id option.
5200
c506fc30
FL
52012013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5202
5203 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5204
aa428238
VS
52052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Unify file copying setup across different install scripts. Add
5208 options for performing partial install.
5209
efe0cdda
PJ
52102013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
52112013-04-04 Peter Jones <pjones@redhat.com>
5212
5213 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5214
f75835bd
VS
52152013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Use TSC as a possible time source on i386-ieee1275.
5218
2cd5ce6c
VS
52192013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5222 Init err.
5223
c9625630
VS
52242013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * util/grub-setup.c (setup): Handle some corner cases.
5227
be008941
VS
52282013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5231
1a78d573
VS
52322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/commands/verify.c: Save verified file to avoid it being
5235 tampered with after verification was done.
5236
db8ff59f
VS
52372013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5240 reported width by one to compensate for curesor algorithm problem.
5241
91bf46b1
VS
52422013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 Fix screen corruption in menu entry editor and simplify the code
5245 flow while on it.
5246
a7b1d693
AB
52472013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5248
5249 * util/grub-mount.c (fuse_init): Return error if fuse_main
5250 failed.
5251
31df9ad8
FL
52522013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5253
5254 * include/grub/elf.h: Add missing ARM relocation codes and fix
5255 existing ones.
5256
07f392eb
VT
52572013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5258
5259 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5260
9efd73ec 52612013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
52622013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5265 into account when calculating radius.
5266
52672013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5268
5269 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5270
4985ddaa
VT
52712013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5272
5273 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5274
8c3635ff
RS
52752013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5276
5277 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5278 missing closing bracket.
5279
74a35e69
RS
52802013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5281
5282 * INSTALL: Mention xorriso requirement.
5283
40f1c000
AB
52842013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5285
5286 * grub-core/commands/verify.c: Fix hash algorithms values for
5287 the first three hashes - they start with 1, not with 0.
5288
e75fdee4
VS
52892013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5292 Try terminating EFI services several times due to quirks in some
5293 implementations.
5294
33028f4c
CW
52952013-03-26 Colin Watson <cjwatson@ubuntu.com>
5296
5297 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5298 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5299 BankField extended opcodes.
5300 (get_sleep_type): Add minimal scope handling (just enough to
5301 handle setting the scope to the root path).
5302 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5303 * include/grub/acpi.h: Add enumeration values for Event, Device,
5304 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5305
33871a10
VT
53062013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5307
5308 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5309 memory leak.
5310
8990963a
VS
53112013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/disk/ahci.c: Give more time for AHCI request.
5314
daae8f9e
VS
53152013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5318 command.
5319
6a7fb94b
VS
53202013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 Replace the region at 0 from coreboot tables to available in BSD
5323 memory map.
5324
ff99babd
VS
53252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5328 non-BIOS platforms.
5329
30d6b1b2
VS
53302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5333 platforms.
5334
6ccd0b31
VS
53352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5338 handling of multi-device filesystems.
5339
23c9cc04
VS
53402013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5343 platforms.
5344
ce50dbd7
VS
53452013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 Add new 'proc' filesystem framework and put luks_script into it.
5348
d975e8d5
VS
53492013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5352 and qemu.
5353
e73ba5e8
VS
53542013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5357
92750e4c
VS
53582013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 Add ability to generate newc additions on runtime.
5361
0ec45a68
VS
53622013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5365 description.
5366
320abd43
VS
53672013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * po/POTFILES.in: Regenerate.
5370
d7a6506e
VS
53712013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/commands/verify.c (hashes): Add several hashes
5374 from the spec.
5375
8fe05def
VS
53762013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Slight improve in USB-related boot-time checkpoints.
5379
524e2766
VS
53802013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/commands/boottime.c: Fix copyright header.
5383
cc19857a
VS
53842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5387 coreboot tables content. Support for cbmemc.
5388
ef8810e9
VS
53892013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 Fix a conflict between ports structures with 2 controllers of
5392 same kind.
5393
e9dabdfa
VS
53942013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * include/grub/boottime.h: Add missing file.
5397
f6df57d2
VS
53982013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 Initialize USB ports in parallel to speed-up boot.
5401
d745dda7
VS
54022013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Fix USB devices not being detected when requested
5405 due to delayed attach.
5406
e5a2dd7b
VS
54072013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5408
e744219b
VS
5409 Implement boot time analysis framework.
5410
54112013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5414 descriptor to just receive it as argument rather than endpoint
5415 address.
5416
5dd6f587
VS
54172013-03-19 Aleš Nesrsta <starous@volny.cz>
5418
5419 Better estimate the maximum USB transfer size.
5420
2f1071d5
VS
54212013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Resend a packet if we got the wrong buffer in status.
5424
46ecfc49
VS
54252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5428 multiplication rather than division.
5429
ea811130
VS
54302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5433 than divisions.
5434
d2789cf0
VS
54352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5438 operations to have intended shifts and not divisions.
5439
a9c94590
VS
54402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5443 intended shifts rather than division.
5444
84cfe81b
VS
54452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5448 computation for some years before epoch. Avode confusing division
5449 while on it.
5450
21344ef6
VS
54512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 * grub-core/video/i386/pc/vbe.c
5454 (grub_video_vbe_print_adapter_specific_info): Replace division by
5455 shifts.
5456
3f2b4d1a
VS
54572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Adjust types in gdb module to have intended unsigned shifts rather than
5460 signed divisions.
5461
3dac5878
VS
54622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5465 maximum size is 4G - 1 on hfs
5466
5341c0fb
VS
54672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5470
fc3ff2a2
VS
54712013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5474 function.
5475
81455e8e
AB
54762013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5477
5478 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5479 causing gcc error with gcc 4.7.1.
5480
efd4f117
NZ
54812013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5482
5483 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5484 dereference null pointer. While the code is technically correct, gcc
5485 may eliminate a null check if pointer is already dereferenced.
5486
e11645f4
NZ
54872013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5488
5489 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5490 OOM check.
5491 * grub-core/normal/term.c (read_terminal_list): Likewise.
5492
77468368
VS
54932013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 Lift up core size limits on some platforms. Fix potential memory
5496 corruption with big core on small memory systems. Document remaining
5497 limits.
5498
f6b58fe5
VS
54992013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5502 gotoxy to 0,0.
5503
19ce697d
VS
55042013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Remove all trampoline support. Add -Wtrampolines when
5507 present. Remove symbols used for trampolines to make
5508 link fail if trampolines are present.
5509
73b5d90f
VS
55102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5513 append out of its parent.
5514
cb758e96
VS
55152013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5518 parent.
5519
3188131f
VS
55202013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5523 all vars to a macro. All users updated.
5524
e42b2514
VS
55252013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5528 i386-ieee1275.
5529
83e1a1a1
VS
55302013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5533
1d5a880f
VS
55342013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5537
6e4146c4
VS
55382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Move to more hookless approach in IEEE1275 devices handling.
5541
99fcda8a
VS
55422013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/kern/term.c (grub_term_normal_color),
5545 (grub_term_highlight_color): Add back lost defaults.
5546
73bf57e2
VS
55472013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Make elfload not use hooks. Opt for flags and iterators instead.
5550
7f8c105f
VS
55512013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5554 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5555
396d4091
VS
55562013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5559
55602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5563 hook pass-through parameter. All users updated and unnested.
5564
74a27421
VS
55652013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5568 out of its parent.
5569
b46d4213
VS
55702013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/fs/hfs.c: Remove nested functions.
5573
e114c3cc
VS
55742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5577 the context through.
5578 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5579
f9b7d780
VS
55802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * util/grub-editenv.c (list_variables): Move print_var out of its
5583 parent.
5584
ca9c2608
VS
55852013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5588 function.
5589
5d983f5f
VS
55902013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/gentrigtables.c: Make tables const.
5593
3056d3e7
VS
55942013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 Remove nested functions from videoinfo iterators.
5597
e2303774
VS
55982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5601 for 64-bit platforms.
5602
f42e3a2f
VS
56032013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5606 a FOR_CHILDREN macro.
5607
be174e5e
VS
56082013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5611 platform from firmware path.
5612
0789b672
VS
56132013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Enable linux16 on non-BIOS systems for i.a. memtest.
5616
5617 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5618 correctly.
5619 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5620
005a9c32
VS
56212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5624 Fix end of table condition.
5625
ff2b3cd9
VS
56262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5629 out of its parent.
5630
4fc40ff8
VS
56312013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/fs/jfs.c: Remove nested functions.
5634
be42d97a
VS
56352013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * grub-core/fs/minix.c: Remove nested functions.
5638
99373ce4
VS
56392013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/fs/iso9660.c: Remove nested functions.
5642
5aec2afe
VS
56432013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5646 of parent function.
5647
6c69e691
VS
56482013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * util/grub-fstest.c: Remove nested functions.
5651
43c91882
VS
56522013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/loader/machoXX.c: Remove nested functions.
5655
4eb8b756
CW
56562013-02-27 Colin Watson <cjwatson@ubuntu.com>
5657
5658 Remove nested functions from disk and file read hooks.
5659
5660 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5661 (struct grub_disk): Add read_hook_data member.
5662 * include/grub/file.h (struct grub_file): Likewise.
5663 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5664 argument.
5665
5666 Update all callers.
5667
df6da5a5
AB
56682012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5669
5670 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5671 Fix off by one error in enumerating extended partitions.
5672
21aecde5
AB
56732013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5674
5675 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5676 memory leak if device name is not found.
5677
f1a19118
AB
56782013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5679
5680 * grub-core/normal/menu_entry.c (update_screen): remove
5681 unused variable `off' which caused scroll down arrow to be always shown.
5682
958bfd20
AB
56832013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5684
5685 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5686 access to unallocated memory.
5687
b7b78edb
AB
56882013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5689
5690 * Makefile.util.def: Add partmap/msdos.c to common library.
5691 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5692 * grub-core/disk/ldm.c: Check for existence of
5693 GRUB_PC_PARTITION_TYPE_LDM.
5694
28d468d6
VS
56952013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5698 sizes and display sector size.
5699
d55ffb02
VS
57002013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 Implement new command cmosdump.
5703
b5ea6ce0
VS
57042013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5705
5706 Support Openfirmware disks with non-512B sectors.
5707
5708 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5709 size of the disk.
5710 * (grub_ofdisk_get_block_size): New function.
5711 * (grub_ofdisk_prepare): Use the correct block size.
5712 * (grub_ofdisk_read): Likewise.
5713 * (grub_ofdisk_write): Likewise.
5714 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5715 New proto.
5716
cc0e476f
VS
57172013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5720
c5dbdc33
VS
57212013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5724 on first error.
5725
3f078c0f
VS
57262013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5729 freeing it.
5730
66a93674
VS
57312013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Implement USBDebug (full USB stack variant).
5734
c9f0c134
VS
57352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5738 unless they have unexpected values.
5739
cfe1288b
VS
57402013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5743 grub_print_error.
5744
e42b9969
VS
57452013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5748 zero-out of port structure.
5749
cf94fd62
VS
57502013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5753 of extended attributes.
5754
f81ef4b5
AB
57552013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5756
5757 * util/grub-install.in: change misleading comment about
5758 device.map creation
5759
af18fdb4
VS
57602013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5763 when menu highlight color isn't set.
5764
08bcec50
M
57652013-01-27 C. Masloch <pushbx@38.de>
5766
5767 Improve FreeDOS direct loading support compatibility.
5768
5769 * include/grub/i386/relocator.h (grub_relocator16_state):
5770 New member ebp.
5771 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5772 variable.
5773 (grub_relocator16_boot): Handle %ebp.
5774 * grub-core/lib/i386/relocator16.S: Likewise.
5775 * grub-core/loader/i386/pc/freedos.c:
5776 Load BPB to pass kernel which partition to load from.
5777 Check that kernel file is not too large.
5778 Set register dl to BIOS unit number as well.
5779
7782b8a6
CW
57802013-01-22 Colin Watson <cjwatson@ubuntu.com>
5781
5782 * util/grub-reboot.in (usage): Document the need for
5783 GRUB_DEFAULT=saved.
5784 * util/grub-set-default.in (usage): Likewise.
5785 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5786
e661c180
VS
57872013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5790 than defining WORDS_BIGENDIAN manually.
5791
1c22ca9a
VS
57922013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5795 invariants.
5796
d44892fe
CW
57972013-01-21 Colin Watson <cjwatson@ubuntu.com>
5798
5799 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5800 nested.
5801 (blit_comb: add_device_width): Likewise.
5802
5fdbaed1
CW
58032013-01-21 Colin Watson <cjwatson@ubuntu.com>
5804
5805 Remove nested functions from USB iterators.
5806
5807 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5808 (grub_usb_controller_iterate_hook_t): Likewise.
5809 (grub_usb_iterate): Add hook_data argument.
5810 (grub_usb_controller_iterate): Likewise.
5811 (struct grub_usb_controller_dev.iterate): Likewise.
5812
5813 Update all implementations and callers.
5814
4250985a
VS
58152013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5818 margin when not needed.
5819
7d8848f3
VS
58202013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5821
bc136973 5822 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5823
58242013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5825
bc136973
VS
5826 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5827 asterisk.
7d8848f3 5828
ed12a003
CW
58292013-01-21 Colin Watson <cjwatson@ubuntu.com>
5830
5831 Fix powerpc and sparc64 build failures caused by un-nesting memory
5832 map iterators.
5833
6a0db449
CW
58342013-01-21 Colin Watson <cjwatson@ubuntu.com>
5835
5836 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5837 parameter declarations.
5838
ccd86b21
VS
58392013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5842
822b726b
VS
58432013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 Improve spkmomdem reliability by adding a separator between bytes.
5846
115c2cc1
CW
58472013-01-21 Colin Watson <cjwatson@ubuntu.com>
5848
5849 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5850 an Acer registration utility with several sightings in the wild.
5851 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5852
fc524edf
CW
58532013-01-21 Colin Watson <cjwatson@ubuntu.com>
5854
5855 Remove nested functions from filesystem directory iterators.
5856
5857 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5858 (struct grub_fs.dir): Add hook_data argument.
5859
5860 Update all implementations and callers.
5861
53d3e4e3
CW
58622013-01-21 Colin Watson <cjwatson@ubuntu.com>
5863
5864 * docs/grub.texi (Multi-boot manual config): Fix typo for
5865 "recommended".
5866
c821711f
LL
58672013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5868
5869 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5870 until after its use in generate_image.
5871
6a0debbd
CW
58722013-01-20 Colin Watson <cjwatson@ubuntu.com>
5873
5874 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5875 initrd size to addr_min, since the initrd will be allocated after
5876 this address.
5877
f41e08db
AB
58782013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5879
5880 * conf/Makefile.common: Fix autogen rules to pass definition
5881 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5882
77529e0f
LL
58832013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5884
5885 * include/grub/elf.h: Update ARM definitions based on binutils.
5886
b879aa7b
VS
58872013-01-20 Aleš Nesrsta <starous@volny.cz>
5888
5889 Split long USB transfers into short ones.
5890
8eb8284d
AB
58912013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5892
5893 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5894 is interrupted by ESC.
5895
08dad2dc
VS
58962013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * util/grub-script-check.c (main): Uniform the error message.
5899
6c724b85
CW
59002013-01-20 Colin Watson <cjwatson@ubuntu.com>
5901
5902 Remove nested functions from ELF iterators.
5903
25239370
CW
59042013-01-20 Colin Watson <cjwatson@ubuntu.com>
5905
5906 Remove nested functions from device iterators.
5907
5908 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5909 (grub_arc_iterate_devs): Add hook_data argument.
5910 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5911 (struct grub_ata_dev.iterate): Add hook_data argument.
5912 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5913 (grub_device_iterate): Add hook_data argument.
5914 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5915 (struct grub_disk_dev.iterate): Add hook_data argument.
5916 (grub_disk_dev_iterate): Likewise.
5917 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5918 Likewise.
5919 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5920 Likewise.
5921 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5922 type.
5923 (struct grub_partition_map.iterate): Add hook_data argument.
5924 (grub_partition_iterate): Likewise.
5925 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5926 (struct grub_scsi_dev.iterate): Add hook_data argument.
5927
5928 Update all callers.
5929
6c0314d6
CW
59302013-01-20 Colin Watson <cjwatson@ubuntu.com>
5931
5932 Fix typos for "developer" and "development".
5933
600dc5f1
VS
59342013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 Add license header to spkmodem-recv.c.
5937
17334a6b
VS
59382013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Rewrite spkmodem to use PIT for timing. Double the speed.
5941
7d462559
VS
59422013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 Add new command pcidump.
5945
b78d6c32
VS
59462013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 New terminal outputs using serial: morse and spkmodem.
5949
34f71cb8
VS
59502013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Improve bidi handling in entry editor.
5953
4542e71b
VS
59542013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5957 argument to prevent name collision.
5958
09fd6d82
CW
59592013-01-15 Colin Watson <cjwatson@ubuntu.com>
5960
5961 Remove nested functions from script reading and parsing.
5962
5963 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5964 getline_data argument, passed to getline.
5965 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5966 getline_data argument, passed to grub_parser_split_cmdline.
5967 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5968 lexerstate->getline_data to lexerstate->getline.
5969 (grub_script_lexer_init): Add getline_data argument, saved in
5970 lexerstate->getline_data.
5971 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5972 argument, passed to grub_script_parse.
5973 * grub-core/script/script.c (grub_script_parse): Add getline_data
5974 argument, passed to grub_script_lexer_init.
5975 * include/grub/parser.h (grub_parser_split_cmdline): Update
5976 prototype. Update all callers to pass appropriate getline data.
5977 (struct grub_parser.parse_line): Likewise.
5978 (grub_rescue_parse_line): Likewise.
5979 * include/grub/reader.h (grub_reader_getline_t): Add void *
5980 argument.
5981 * include/grub/script_sh.h (struct grub_lexer_param): Add
5982 getline_data member.
5983 (grub_script_parse): Update prototype. Update all callers to pass
5984 appropriate getline data.
5985 (grub_script_lexer_init): Likewise.
5986 (grub_normal_parse_line): Likewise.
5987
5988 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5989 data argument.
5990 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5991 static instead of nested. Rename to ...
5992 (grub_parser_execute_getline): ... this.
5993 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5994 data argument.
5995 * grub-core/normal/main.c (read_config_file: getline): Make static
5996 instead of nested. Rename to ...
5997 (read_config_file_getline): ... this.
5998 (grub_normal_read_line): Add unused data argument.
5999 * grub-core/script/execute.c (grub_script_execute_sourcecode:
6000 getline): Make static instead of nested. Rename to ...
6001 (grub_script_execute_sourcecode_getline): ... this.
6002 * util/grub-script-check.c (main: get_config_line): Make static
6003 instead of nested.
6004
d0d4b8a0
CW
60052013-01-15 Colin Watson <cjwatson@ubuntu.com>
6006
6007 Remove nested functions from memory map iterators.
6008
6009 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
6010 argument, passed to hook.
6011 * grub-core/kern/i386/coreboot/mmap.c
6012 (grub_linuxbios_table_iterate): Likewise.
6013 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
6014 instead of nested.
6015 (grub_machine_mmap_iterate): Add hook_data argument.
6016 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
6017 Add hook_data argument, passed to hook.
6018 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
6019 Likewise.
6020 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6021 Likewise.
6022 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
6023 Likewise.
6024 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
6025 Likewise.
6026 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
6027 Likewise.
6028 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
6029 Likewise.
6030 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
6031 (grub_machine_mmap_iterate): Likewise.
6032 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
6033 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
6034 prototype.
6035 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
6036 Remove NESTED_FUNC_ATTR from here and from all users.
6037 (grub_mmap_iterate): Update prototype.
6038 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6039 pass appropriate hook data.
6040 (grub_machine_mmap_iterate): Likewise.
6041
6042 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6043 static instead of nested.
6044 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6045 Rename to ...
6046 (lsmmap_hook): ... this.
6047 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6048 Likewise.
6049 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6050 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6051 heap_init): Likewise.
6052 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6053 Rename to ...
6054 (mmap_iterate_hook): ... this.
6055 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6056 Likewise.
6057 * grub-core/lib/ieee1275/relocator.c
6058 (grub_relocator_firmware_get_max_events: count): Likewise.
6059 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6060 to ...
6061 (grub_relocator_firmware_fill_events_iter): ... this.
6062 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6063 hook): Likewise. Rename to ...
6064 (grub_relocator_alloc_chunk_align_iter): ... this.
6065 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6066 Rename to ...
6067 (generate_e820_mmap_iter): ... this.
6068 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6069 Rename to ...
6070 (count_hook): ... this.
6071 (grub_linux_boot: hook): Likewise. Rename to ...
6072 (grub_linux_boot_mmap_find): ... this.
6073 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6074 (grub_linux_boot_mmap_fill): ... this.
6075 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6076 hook): Likewise. Rename to ...
6077 (grub_fill_multiboot_mmap_iter): ... this.
6078 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6079 hook): Likewise. Rename to ...
6080 (count_hook): ... this.
6081 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6082 hook): Likewise. Rename to ...
6083 (grub_fill_multiboot_mmap_iter): ... this.
6084 * grub-core/loader/powerpc/ieee1275/linux.c
6085 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6086 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6087 Likewise. Rename to ...
6088 (alloc_phys_choose): ... this.
6089 (determine_phys_base: get_physbase): Likewise.
6090 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6091 find_hook): Likewise.
6092 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6093 (malloc_hook: count_hook): Likewise.
6094 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6095 Likewise. Rename to ...
6096 (lower_hook): ... this.
6097 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6098 (upper_hook): ... this.
6099 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6100 (post64_hook): ... this.
6101 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6102 Likewise. Rename to ...
6103 (lower_hook): ... this.
6104 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6105 (upper_hook): ... this.
6106 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6107 (grub_mmap_iterate: fill_hook): Likewise.
6108 (fill_mask): Pass addr and mask within a single struct.
6109 (grub_cmd_badram: hook): Make static instead of nested. Rename
6110 to ...
6111 (badram_iter): ... this.
6112 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6113 (cutmem_iter): ... this.
6114
22099030
VS
61152013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6118 delimit path in strings using quotes.
6119 * util/getroot.c (grub_guess_root_devices): Likewise.
6120 (grub_make_system_path_relative_to_its_root): Likewise.
6121 * util/grub-probe.c (probe): Likewise.
6122 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6123 (xrealpath): Likewise.
6124
4a9950ec
VS
61252013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 Fix compilation with older compilers.
6128
6129 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6130 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6131 declarations.
6132 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6133 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6134 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6135 identifier with b.
6136 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6137 * include/grub/crypto.h: Add type defines.
6138 * util/import_gcrypth.sed: Remove duplicate type defines.
6139
adcc6020
VS
61402013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 New command list_trusted.
6143
6144 * grub-core/commands/verify.c (grub_cmd_list): New function.
6145
a4528937
CW
61462013-01-13 Colin Watson <cjwatson@ubuntu.com>
6147
6148 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6149 info message.
6150
ca3a7446
CW
61512013-01-13 Colin Watson <cjwatson@ubuntu.com>
6152
6153 Remove nested functions from PCI iterators.
6154
6155 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6156 passed to hook. Update all callers to pass appropriate hook data.
6157 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6158 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6159 Remove NESTED_FUNC_ATTR from here and from all users.
6160 (grub_pci_iterate): Update prototype.
6161 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6162 instead of nested. Rename to ...
6163 (grub_cs5536_find_iter): ... this.
6164 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6165 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6166 Likewise.
6167 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6168 Likewise.
6169 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6170 Likewise.
6171 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6172 Likewise.
6173 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6174 * grub-core/video/radeon_fuloong2e.c
6175 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6176 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6177 find_card): Likewise.
6178 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6179 Likewise.
6180
f8e98fee
VS
61812013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/commands/verify.c: Mark messages for translating.
6184
055b36b6
VS
61852013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6188 fatal.
6189
f7ff879b
VS
61902013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6193 fatal.
6194
61952013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
6196
6197 * autogen.sh: Do not try to delete nonexistant files.
6198 * util/import_gcrypth.sed: Add some missing header removals.
6199
01323d49
CW
62002013-01-12 Colin Watson <cjwatson@ubuntu.com>
6201
6202 Clean up dangling references to grub-setup.
6203 Fixes Ubuntu bug #1082045.
6204
6205 * docs/grub.texi (Images): Refer generally to grub-install rather
6206 than directly to grub-setup.
6207 (Installing GRUB using grub-install): Remove direct reference to
6208 grub-setup.
6209 (Device map) Likewise.
6210 (Invoking grub-install): Likewise.
6211 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6212 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6213 * util/grub-install.in (usage): Likewise.
6214
6215 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6216 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6217 grub-setup.
6218 * configure.ac: Remove grub_setup output variable.
6219
6220 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6221 to grub-bios-setup.
6222 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6223 grub-setup to grub-sparc64-setup.
6224
5e3b8dcb
VS
62252013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Import gcrypt public-key cryptography and implement signature checking.
6228
535714bd
VS
62292013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/fs/ntfs.c: Ue more appropriate types.
6232 * grub-core/fs/ntfscomp.c: Likewise.
6233 * include/grub/ntfs.h: Likewise.
6234
3e4f3566
VS
62352013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Support Apple FAT binaries on non-Apple platforms.
6238
6239 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6240 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6241 Likewise.
6242 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6243 Apple FAT binaries.
6244
4dedb13f
VS
62452013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6248 sector devices.
6249
f8861eaf
CW
62502013-01-07 Colin Watson <cjwatson@ubuntu.com>
6251
6252 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6253 explicitly zeroing elements.
6254 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6255 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6256 of elements in a structure already allocated using grub_zalloc.
6257 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6258
86065b0a
CW
62592013-01-07 Colin Watson <cjwatson@ubuntu.com>
6260
6261 * docs/grub.texi (grub_cpu): New subsection.
6262 (grub_platform): Likewise.
6263
c6f1e92f
VS
62642013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6267
f797ec85
VS
62682013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6271 divisions.
6272
033d0b4b
VS
62732013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6276 * grub-core/fs/ntfscomp.c: Likewise.
6277 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6278 (grub_ntfs_comp): Likewise.
6279
21d1b9a0
VS
62802013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6283 Rename to ...
6284 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6285 of groups_per_block. All users updated.
6286
10ca8645
VS
62872013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6290 grub_error properly.
6291 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6292 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6293
a4c3ed4c
VS
62942013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6297 always in /boot/zfs.
6298 Reported by: Yuta Satoh.
6299
0b716507
YS
63002013-01-03 Yuta Satoh <nigoro>
6301
6302 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6303 ${grub_probe}
6304
00c05e22
VS
63052013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * configure.ac: Extend -Wno-trampolines to host.
6308
dadddb76
VS
63092013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6312 entry->len = 0.
6313
54ce53ca
CW
63142013-01-03 Colin Watson <cjwatson@ubuntu.com>
6315
6316 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6317 (Invoking grub-script-check): Likewise.
6318
8912efca
CW
63192013-01-03 Colin Watson <cjwatson@ubuntu.com>
6320
6321 * docs/grub.texi (Invoking grub-mount): New section.
6322 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6323
c3fc8394
CW
63242013-01-02 Colin Watson <cjwatson@ubuntu.com>
6325
6326 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6327 test failures, so that a failing unit test correctly causes 'make
6328 check' to fail.
6329
45d26abb
CW
63302013-01-02 Colin Watson <cjwatson@ubuntu.com>
6331
6332 Fix failing printf test.
6333
6334 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6335 '$' in the correct order when collecting type information.
6336
971dd2c6
CW
63372013-01-02 Colin Watson <cjwatson@ubuntu.com>
6338
6339 * docs/grub.texi (configfile): Explain environment variable
6340 handling.
6341 (source): New section.
6342 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6343
5c67ea6c
CW
63442012-12-31 Colin Watson <cjwatson@ubuntu.com>
6345
6346 Remove several trivially-unnecessary uses of nested functions.
6347
6348 * grub-core/commands/i386/pc/sendkey.c
6349 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6350 instead of nested.
6351 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6352 Rename to ...
6353 (legacy_file_getline): ... this.
6354 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6355 Likewise.
6356 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6357 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6358 to ...
6359 (probe_dummy_iter): ... this.
6360 * grub-core/kern/i386/coreboot/mmap.c
6361 (grub_linuxbios_table_iterate: check_signature): Likewise.
6362 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6363 check_varstate): Likewise. Mark inline.
6364 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6365 an additional parameter.
6366 (find_long: fnd_long): Likewise. Pass two additional parameters.
6367 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6368 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6369 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6370 Likewise. Rename to ...
6371 (grub_cmos_find_port_iter): ... this.
6372 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6373 Rename to ...
6374 (find_rtc_iter): ... this.
6375
6376 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6377 function directly into the function body, since it is only called
6378 once.
6379
33a68ac6
CW
63802012-12-30 Colin Watson <cjwatson@ubuntu.com>
6381
6382 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6383 __attribute__ ((unused)).
6384 * grub-core/video/bochs.c (find_card): Likewise.
6385 * grub-core/video/cirrus.c (find_card): Likewise.
6386 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6387 * grub-core/video/sis315pro.c (find_card): Likewise.
6388 * grub-core/video/sm712.c (find_card): Likewise.
6389
608b647a
CW
63902012-12-28 Colin Watson <cjwatson@ubuntu.com>
6391
6392 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6393 Fixes Savannah bug #37821.
6394
fd49ceb3
CW
63952012-12-28 Colin Watson <cjwatson@ubuntu.com>
6396
6397 Apply program name transformations at build-time rather than at
6398 run-time. Fixes Debian bug #696465.
6399
6400 * acinclude.m4 (grub_TRANSFORM): New macro.
6401 * configure.ac: Create output variables with transformed names for
6402 most programs.
6403 * util/bash-completion.d/grub-completion.bash.in: Use
6404 pre-transformed variables for program names.
6405 * util/grub-install.in: Likewise.
6406 * util/grub-kbdcomp.in: Likewise.
6407 * util/grub-mkconfig.in: Likewise.
6408 * util/grub-mkconfig_lib.in: Likewise.
6409 * util/grub-mknetdir.in: Likewise.
6410 * util/grub-mkrescue.in: Likewise.
6411 * util/grub-mkstandalone.in: Likewise.
6412 * util/grub-reboot.in: Likewise.
6413 * util/grub-set-default.in: Likewise.
6414 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6415 * tests/util/grub-shell-tester.in: Remove unused assignment.
6416 * tests/util/grub-shell.in: Likewise.
6417 * util/grub.d/00_header.in: Likewise.
6418
7024b3c0
CW
64192012-12-28 Colin Watson <cjwatson@ubuntu.com>
6420
6421 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6422
6423 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6424 HAVE_RAW_DECL_GETS.
6425 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6426
e3501b13
VS
64272012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6430 Reported by: Eriks Latosheks <foresterlv>.
6431
b40c88a9
VS
64322012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * docs/grub.texi (Network): Update instructions on generating netboot
6435 image.
6436
ce96d01c
VS
64372012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6440 around device name if necessarry.
6441
0f596201
PFS
64422012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6443
6444 * util/grub-install.in: Follow the symbolic link parameter added
6445 to the file command.
6446
600d5bdb
AB
64472012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6448
6449 * util/grub-install.in: Remove stale TODO.
6450
64ebd2f4
PFS
64512012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6452
6453 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6454 dynamic allocation for the bootpath buffer.
6455
74b2fe3e
DTB
64562012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6457
6458 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6459 window too small.
6460
969b804f
VS
64612012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6464 argument rather than font name. All users updated.
6465 (grub_gfxterm_set_window): Likewise.
6466
b9f5ebd6
VT
64672012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6468
6469 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6470 from working.
6471
258f43b7
VS
64722012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * util/getroot.c (convert_system_partition_to_system_disk): Support
6475 nbd disks.
6476
cc1ce5f9
VS
64772012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6480 infinite loop on corrupted FS.
6481
e77a16ca
VS
64822012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 Fix big-endian mtime.
6485
6486 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6487 together sec and usec.
6488 (grub_ufs_dir): Use correct byteswapping for UFS time.
6489
d9c48c7b
VS
64902012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 Support big-endian UFS1.
6493
6494 * Makefile.util.def (libgrubmods): Add ufs_be.c
6495 * grub-core/Makefile.core.def (ufs1_be): New module.
6496 * grub-core/fs/ufs_be.c: New file.
6497 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6498 the file.
6499
2f9f40ba
LL
65002012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6501
6502 * include/grub/types.h: Fix functionality unaffecting typo in
6503 GRUB_TARGET_WORDSIZE conditional macro.
6504
48ff0889
PFS
65052012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6506
6507 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6508
03711240
GS
65092012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6510
6511 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6512 that /netbsd appears first (when it exists).
6513
a31b11bd
CJ
65142012-10-12 Christoph Junghans <ottxor@gentoo.org>
6515
6516 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6517 Fixes Savannah bug #37558.
6518
e8a5d5d4
CW
65192012-10-12 Colin Watson <cjwatson@ubuntu.com>
6520
6521 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6522 description of extract_entries_configfile.
6523
65242012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6525
6526 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6527 preferred_address.
6528 (grub_cmd_linux): Likewise.
6529 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6530 preferred_lifetime. Update all users.
6531
288c757d
CW
65322012-09-26 Colin Watson <cjwatson@ubuntu.com>
6533
6534 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6535 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6536
0d35da3f
CW
65372012-09-26 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6540 errors from grub-probe to /dev/null, not stdout.
6541
b78c3127
VS
65422012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6545 sector 1.
6546
473959f0
CW
65472012-09-24 Colin Watson <cjwatson@ubuntu.com>
6548
6549 * util/grub-install.in: Make the error message if $source_dir
6550 doesn't exist more useful.
6551
794c8c33
CW
65522012-09-22 Colin Watson <cjwatson@ubuntu.com>
6553
6554 Fix grub-emu build on FreeBSD.
6555
6556 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6557 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6558 headers on Linux.
6559 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6560 implementation is currently Linux-specific.
6561 * util/getroot.c (exec_pipe): Define only on Linux or when either
6562 libzfs or libnvpair is unavailable.
6563 (find_root_devices_from_poolname): Remove unused path variable.
6564
86d08fdb
CW
65652012-09-19 Colin Watson <cjwatson@ubuntu.com>
6566
6567 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6568 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6569 should fit before end == 63.
6570
735abf54
CW
65712012-09-19 Colin Watson <cjwatson@ubuntu.com>
6572
6573 * util/grub-setup.c (write_rootdev): Remove unused core_img
6574 parameter. Update all callers.
6575 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6576 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6577 GRUB_SETUP_BIOS.
6578
140acd3c
VS
65792012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6582 (grub_add_tab): New function.
6583 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6584 * util/grub.d/10_illumos.in: Likewise.
6585 * util/grub.d/10_kfreebsd.in: Likewise.
6586 * util/grub.d/10_linux.in: Likewise.
6587 * util/grub.d/10_netbsd.in: Likewise.
6588 * util/grub.d/10_windows.in: Likewise.
6589 * util/grub.d/10_xnu.in: Likewise.
6590 * util/grub.d/20_linux_xen.in: Likewise.
6591 * util/grub.d/30_os-prober.in: Likewise.
6592
7ddffdad
VS
65932012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6596 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6597 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6598 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6599 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6600 ieee1275-nocursor.
6601 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6602 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6603
4e092454
VS
66042012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6607 le-conversion.
6608 Reported by: BURETTE, Bernard.
6609
735abf54 66102012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6611
6612 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6613 from comment.
6614
dfd39dbd
CW
66152012-09-14 Colin Watson <cjwatson@ubuntu.com>
6616
6617 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6618 IEEE1275 machines. Fixes powerpc-emu compilation.
6619 * include/grub/terminfo.h: Likewise.
6620
3bfa763c
VS
66212012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6624 a const pointer.
6625 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6626 const pointer.
6627 (efiemu_set_variable): Make vendor_guid a const pointer.
6628
250e475b
VS
66292012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 Don't require grub-mkconfig_lib to generate manpages for programs.
6632
6633 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6634 dependencies, don't add grub-mkconfig_lib.
6635 (program): Pass empty adddeps.
6636 (script): Pass grub-mkconfig_lib as adddeps.
6637
592fd0e4
VS
66382012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6641 * util/getroot.c (grub_find_device): Likewise.
6642 (get_mdadm_uuid): Likewise.
6643 (grub_util_is_imsm): Likewise.
6644 (grub_util_pull_device): Likewise.
6645 * util/grub-probe.c (probe): Likewise.
6646
801a3027
BG
66472012-09-10 Benoit Gschwind <gschwind>
6648
6649 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6650 (devs): Add devpath_8.
6651
c5052c81
PJ
66522012-09-08 Peter Jones <pjones@redhat.com>
6653
6654 * grub-core/Makefile.core.def (efifwsetup): New module.
6655 * grub-core/commands/efi/efifwsetup.c: New file.
6656 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6657 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6658 New define.
6659 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6660
8e832f71
JS
66612012-09-05 Jiri Slaby <jslaby@suse.cz>
6662
6663 * configure.ac: Add SuSe path.
6664
f0f55752
CW
66652012-09-05 Colin Watson <cjwatson@ubuntu.com>
6666
6667 * NEWS: Fix typo.
6668
ecadc4c2
CW
66692012-09-05 Colin Watson <cjwatson@ubuntu.com>
6670
6671 * util/import_gcry.py: Sort cipher_files, to make build system
6672 generation more deterministic.
6673
64498f25
VS
66742012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6677 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6678 (grub_set_datetime): Likewise.
6679
9cc836a2
VS
66802012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6683 warnings.
6684
bcfcea01
VS
66852012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6688
a4099485
VS
66892012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6692
265c162a
CW
66932012-09-04 Colin Watson <cjwatson@ubuntu.com>
6694
6695 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6696 required for checkouts from bzr, but it may be useful for users or
6697 distributors wishing to update translations against a tarball
6698 distribution, and it can be helpful for the tarball to be a superset
6699 of what's in bzr.
6700
3d171e95
CW
67012012-09-04 Colin Watson <cjwatson@ubuntu.com>
6702
6703 * Makefile.am (EXTRA_DIST): Add
6704 grub-core/tests/boot/linux.init-mips.S,
6705 grub-core/tests/boot/linux.init-ppc.S, and
6706 grub-core/tests/boot/linux-ppc.cfg.
6707
f2c2503e
CW
67082012-09-04 Colin Watson <cjwatson@ubuntu.com>
6709
6710 * grub-core/mmap/mips/loongson: Remove empty directory.
6711
67122012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6713
6714 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6715 gone.
6716
ab2163d5
CW
67172012-09-04 Colin Watson <cjwatson@ubuntu.com>
6718
6719 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6720 grub-sparc64-setup.
6721
ce938140
GS
67222012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6723
6724 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6725
529f58a5
GS
67262012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6727
6728 * po/POTFILES.in: Regenerated.
6729
16cf79e9
GS
67302012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6731
6732 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6733 (NetBSD): New subsection.
6734
39b27f1e 67352012-07-22 Ales Nesrsta <starous@volny.cz>
6736
6737 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6738 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6739
a885261b
VS
67402012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6743 * util/grub.d/10_hurd.in: Add missing quoting.
6744 * util/grub.d/10_illumos.in: Likewise.
6745 * util/grub.d/10_kfreebsd.in: Likewise.
6746 * util/grub.d/10_linux.in: Likewise.
6747 * util/grub.d/20_linux_xen.in: Likewise.
6748
7bd29c01
VS
67492012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 New command `lsefi'.
6752
6753 * grub-core/Makefile.core.def (lsefi): New module.
6754 * grub-core/commands/efi/lsefi.c: New file.
6755 * include/grub/efi/api.h: Add more GUIDs.
6756
ac625d8f
VS
67572012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6760 (grub_bsd_elf32_hook): Likewise.
6761 (grub_bsd_elf64_size_hook): Likewise.
6762 (grub_bsd_elf64_hook): Likewise.
6763 (grub_bsd_load_elf): Likewise.
6764
e73bb801
VS
67652012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6768 if hash function is unavailable.
6769 (dec_stream_header): Likewise.
6770
e81db8b5
VS
67712012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6774 filter state.
6775
d187a1c3
VS
67762012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 Fix coreboot compilation.
6779
6780 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6781 (grub_vga_text_init_real): ... this.
6782 (grub_vga_text_fini): Rename to ...
6783 (grub_vga_text_fini_real): ... this.
6784
91a05f64
VS
67852012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6788
6af96df7
VS
67892012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/lib/legacy_parse.c: Support clear and testload.
6792
4d569e12
VS
67932012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6796
073b57bb
VS
67972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6800
a706f4cc
VS
68012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/net/tftp.c (ack): Fix endianness problem.
6804 (tftp_receive): Likewise.
6805 Reported by: Michael Davidsaver.
6806
e7850aa9
VS
68072012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6810
68112012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6814 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6815 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6816
35692881
VS
68172012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6820 efi_mmap_size.
6821 Reported by: Stuart Hayes.
6822
c35fc5bd
VS
68232012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6826
6827 * grub-core/Makefile.core.def (mda_text): New module.
6828 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6829 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6830 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6831 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6832 here.
6833 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6834 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6835 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6836 here.
6837 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6838 to ..
6839 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6840 ... here
6841 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6842 here.
6843 * grub-core/term/i386/vga_common.c: Removed.
6844 * include/grub/i386/vga_common.h: Likewise.
6845 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6846 (grub_vga_cr_bw_read): Likewise.
6847 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6848 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6849 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6850 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6851 grub_vga_cr_read/grub_vga_cr_write.
6852 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6853
5f91f701
VS
68542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * configure.ac: Bump version to 2.00.
6857 * grub-core/normal/main.c (features): Add feature_200_final.
6858
0c4f85f6
VS
68592012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
68602012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6861
6862 * NEWS: Fix unclarity and language mistakes.
6863
f923ad22
VS
68642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6867 additional size to 3 pages.
6868 Reported by: Stuart Hayes.
6869
d22029ba
VS
68702012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * NEWS: Add 2.00 entry.
6873
58eee08f
VS
68742012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6877 put explicit "/" for empty path.
6878 (wildcard_expand): Improve dprintf.
6879
c59bdff7
VS
68802012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6883 it's equal to currnode. This can happen with "" symlink.
6884
5e6a440a
YB
68852012-06-27 Yves Blusseau <blusseau@zetam.org>
6886
6887 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6888 echo shell command by printf command.
6889
73a68bcb
VS
68902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6893 the value returned by firmware is the maximal position, not diumension.
6894 (grub_terminfo_output_state): Use a more sane fallback.
6895
392a603b
VS
68962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6899
42d0867f
VS
69002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6903 frequency to 150 MHz.
6904
489509f4
VS
69052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 Apple fixes.
6908
6909 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6910 __APPLE_
6911 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6912 definition.
6913 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6914
9f3fc883
VS
69152012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Handle slash in HFS label.
6918
6919 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6920 (grub_hfs_dir): Tanslate slash.
6921 (grub_hfs_label): Don't translate slash.
6922
54853fd7
VS
69232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6926 network protocol listing since it introduces problematic dependency on
6927 net module.
6928
4dc02ddf
VS
69292012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6932
c50c867d
VS
69332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 Init video early on yeeloong to avoid being rebooted by watchdog.
6936
6937 * grub-core/Makefile.am (gensm712): New target.
6938 (sm712_start.S): Likewise.
6939 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6940 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6941 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6942 description.
6943 * include/grub/vga.h: Move registry definitions to...
6944 * include/grub/vgaregs.h: ... here.
6945
5f92c8a1
VS
69462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6949 signedness.
6950
e9e6f111
VS
69512012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6954 platforms with firmware disk drivers in the core.
6955
754ad9eb
VS
69562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6959 informative verbose message.
6960 (read_lv): Handle 64-bit segment size.
6961
315654c2
VS
69622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6965
fb022c79
VS
69662012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6969 character but still remove trainling spaces.
6970 (grub_fat_label): Ignore archive flag.
6971
8645f72c
VS
69722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6975 cast between linux_kernel_header and linux_kernel_params.
6976
36498496
VS
69772012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6980 type for size.
6981 (grub_raid6_recover_func_t): Likewise.
6982 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6983 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6984
0b5ea6b8
VS
69852012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6988
650cfcfe
GS
69892012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6990
6991 Fix overflow.
6992
6993 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6994 [__NetBSD__]: Add explicit cast before bitshift.
6995
8a4d6a44
VS
69962012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * configure.ac: Bump to 2.00~rc1.
6999
2fb97ed3
VS
70002012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
7003 half of $a0.
7004
1fa097dc
VS
70052012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
70062012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
7007
7008 * docs/grub.texi: Fix search syntax.
7009 (Multi-boot manual config): Put msdos rather than GPT example.
7010 Grammar corrections.
7011
c890ba78
VS
70122012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
7015
0f92dca7
VS
70162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
7019
3988c4a0
VS
70202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
7023 message on double free. Put the value of magic in case of mismatch.
7024
9e86d4c5
VS
70252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 Speed-up video on yeeloong.
7028
7029 * grub-core/video/sm712.c (framebuffer): Remove render_target and
7030 add cached_ptr.
7031 (grub_video_sm712_video_fini): Unmap cached_ptr.
7032 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
7033 (grub_video_sm712_set_active_render_target): Removed.
7034 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7035 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7036 sync caches.
7037
ed24c312
VS
70382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Avoid flushing the same line multiple times on loongson.
7041
7042 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7043 Step in 32 bytes and not 1 byte.
7044 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7045 Likewise.
7046
d1718e7d
VS
70472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7050 subvolumes.
7051
982f1909
VS
70522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 Implement flow control for http.
7055
7056 * grub-core/net/http.c (parse_line): Handle response 206.
7057 (http_receive): Stall if too many packets are in the queue.
7058 (http_establish): Fix range header.
7059 (http_seek): Fix double free.
7060 (http_close): Likewise.
7061 (http_packets_pulled): New function.
7062 (grub_http_protocol): Set http_seek
7063 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7064 (ack_real): Set window depending on i_stall.
7065 (grub_net_send_tcp_packet): Likewise.
7066 (grub_net_tcp_stall): New function.
7067 (grub_net_tcp_unstall): Likewise.
7068 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7069 (grub_net_tcp_unstall): Likewise.
7070
bd407d6e
VS
70712012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7074
c7564b8e
VS
70752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7078
a3706162
VS
70792012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 * tests/util/grub-shell.in: Fix a typo.
7082
b27069e0
VS
70832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Implement flow control for tftp.
7086
7087 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7088 packets but stop only if stop condition is satisfied.
7089 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7090 `stall' instead of `eof' as stop condition.
7091 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7092 (http_err): Likewise.
7093 * grub-core/net/tftp.c (ack): Replace the first argument with data
7094 instead of socket.
7095 (tftp_receive): Stall if too many packets are in wait queue.
7096 (tftp_packets_pulled): New function.
7097 (grub_tftp_protocol): Set packets_pulled.
7098 * include/grub/net.h (grub_net_packets): New field count.
7099 (grub_net_put_packet): Increment count.
7100 (grub_net_remove_packet): Likewise.
7101 (grub_net_app_protocol): New field `packets_pulled'.
7102 (grub_net): New field `stall'.
7103
6b9cfac6
VS
71042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7107 sync part to handle them.
7108
f35abd81
VS
71092012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7112 * grub-core/net/drivers/ieee1275/ofnet.c
7113 (grub_ieee1275_net_config_real): Likewise.
7114
0e7ec820
VS
71152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7118 the direct route for server/gateway.
7119
9d611a31
VS
71202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7123 IP address to server name since we may not hame the DNS.
7124
418f45ab
VS
71252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7128 freeing random buffer on failure.
7129 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7130
44a0efc1
VS
71312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7134
531e2241
VS
71352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7138 reserved bytes.
7139 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7140 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7141 Handle malloc error correctly.
7142
cde393c9
VS
71432012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7146 blocks.
7147
538478d0
VS
71482012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7151 increment.
7152
9b55efe0
VS
71532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7156 none is explicitly specified.
7157
9eb832c3
VS
71582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7161 while reallocating.
7162
d6b7c7c9
VS
71632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 Respect netmask from bootp/dhcp.
7166
7167 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7168 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7169 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7170 into ...
7171 (grub_net_add_ipv4_local): ... this.
7172 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7173 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7174 (grub_net_add_ipv4_local): New proto.
7175
67caf9eb
VS
71762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7179 determining EFI memory map size.
7180
43657558
VS
71812012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7184
eb6d0dd3
VS
71852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7188 when looking for partition separator.
7189
31230544
VS
71902012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7193 Escape commas.
7194
918a2517
VS
71952012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 Restructure FAT driver to avoid hook in label reading as it hits a
7198 GCC bug.
7199
7200 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7201 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7202 (grub_fat_iterate_dir): Split into ...
7203 (grub_fat_iterate_init): ... this, ...
7204 (grub_fat_iterate_fini): ... this, ...
7205 (grub_fat_iterate_dir_next): ... and this. All users updated.
7206
9f1d654e
VS
72072012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7210 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7211 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7212 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7213 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7214 New fields last_key and last_key_time.
7215 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7216 extended key-esc into extended key-extended key.
7217
52f0f643
VS
72182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 Avoid unnecessary memcpy of whole video buffer.
7221
7222 * grub-core/video/fb/video_fb.c (dirty): New struct.
7223 (framebuffer): Add members current_dirty and previous_dirty.
7224 (dirty): New function.
7225 (grub_video_fb_fill_rect): Update dirty.
7226 (common_blitter): Likewise.
7227 (grub_video_fb_scroll): Likewise.
7228 (doublebuf_blit_update_screen): Copy only dirty part.
7229 (doublebuf_pageflipping_update_screen): Likewise.
7230 (grub_video_fb_doublebuf_blit_init): Init dirty.
7231 (doublebuf_pageflipping_init): Likewise.
7232 (grub_video_fb_setup): Likewise.
7233
e169a180
VS
72342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7237 poll rate.
7238
48556879
VS
72392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 Fix wildcard regexp dot and other special characters handling.
7242 Reported by: Robert Mabee.
7243
7244 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7245 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7246 (split_path): Trigger expansion on '?'.
7247 (unescape): New function.
7248 (wildcard_expand): Unescape parts copied without globbing.
7249 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7250 (grub_script_arglist_to_argv): Don't unescape expansions.
7251
0494408e
VS
72522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * include/grub/net.h (grub_net_card): New member txbufsize.
7255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7256 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7257 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7258 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7259 txbufsize.
7260 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7261 compatible property to check for macs. Set
7262 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7263 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7264 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7265 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7266 (send_card_buffer): Use txbuf.
7267 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7268 nested function out of the parent while on it.
7269
cc35fe8f
VS
72702012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7273 presence check.
7274 (grub_ieee1275_net_config_real): Fix config pointer.
7275
970a0a09
VS
72762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7279 filename parsing to non-block devices.
7280
3e19bf87
VS
72812012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7284
c62d1a0c
VS
72852012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7288 All users updated.
7289
ef76bec3
VS
72902012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7293 UUID search command even if hints probing failed.
7294
72952012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7296
7297 * po/POTFILES.in: Regenerated.
7298
70aaf305
VS
72992012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 Speed-up video on fuloong.
7302
7303 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7304 New function.
7305 (grub_pci_device_unmap_range): Handle non-cached address.
7306 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7307 add direct_ptr.
7308 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7309 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7310 (grub_video_sis315pro_set_active_render_target): Removed.
7311 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7312 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7313 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7314 sync caches.
7315 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7316 New proto.
7317
10400f0b
VS
73182012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * docs/grub.texi (Multi-boot manual config): New section.
7321
ba67e2c6
VS
73222012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 Avoid slow read-back from VRAM.
7325
7326 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7327 Move from here ...
7328 * grub-core/video/fb/video_fb.c
7329 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7330 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7331 (front_target): Remove front_target. Add pages.
7332 (grub_video_fb_init): Skip setting front_pages.
7333 (grub_video_fb_fini): Likewise.
7334 (doublebuf_blit_update_screen): Use pages.
7335 (grub_video_fb_doublebuf_blit_init): Likewise.
7336 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7337 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7338 (grub_video_fb_setup): Prefer doublebuffing.
7339
377c98cb
VS
73402012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7343 gzio.
7344
eac49cff
VS
73452012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 Add loongson tests.
7348
7349 * tests/util/grub-shell.in: Handle loongson.
7350 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7351 drivers.
7352 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7353 Reboot instead of shutdown if REBOOT is defined.
7354
0321415e
VS
73552012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7358 sized ports since unlike on real hardware qemu supports only 32-bit
7359 regs.
7360
3f2bdd8f
VS
73612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7364 * util/grub-mkrescue.in: Handle loongson.
7365
29a049c9
VS
73662012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7369 Set is_part appropriately.
7370 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7371 names. Canonicalize partition without full disk.
7372
4abde346
VS
73732012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 Revert usb-quiesce since it's wrong.
7376
7377 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7378 (grub_ofdisk_init): Don't do quiesce.
7379
61f1d93b
VS
73802012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7383 PowerMac workaround to Xserves as well.
7384 Information supplied by: Benjamin Herrenschmidt.
7385
a09eb541
VS
73862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 Don't assume that beginning address is also the entry point on ppc.
7389
7390 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7391 (grub_linux_boot): Use linux_entry.
7392 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7393 (grub_linux_load64): Likewise.
7394
505b3c9b
VS
73952012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7398
cbe0b4ef
VS
73992012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7402 needlessly lose the console.
7403
3006e981
VS
74042012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7407 space.
7408
4e5a96b0
VS
74092012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7410
7da036bb
VS
7411 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7412 than current grub_get_rtc() not implemented when booted with
7413 coreboot without TSC.
7414
7415 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7416 Add machine/time.h to kernel headers on loongson.
7417 * grub-core/Makefile.core.def (kernel): Remove
7418 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7419 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7420 (grub_get_rtc): Likewise.
7421 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7422 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7423 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7424 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7425 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7426 rather than installing known non-working time source.
7427 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7428 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7429 * include/grub/time.h: Don't include machine/time.h.
7430 * include/grub/efi/time.h: Removed.
7431 * include/grub/i386/efi/time.h: Likewise.
7432 * include/grub/i386/ieee1275/time.h: Likewise.
7433 * include/grub/powerpc/ieee1275/time.h: Likewise.
7434 * include/grub/sparc64/ieee1275/time.h: Likewise.
7435 * include/grub/x86_64/efi/time.h: Likewise.
7436
74372012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7440
7441 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7442 value.
7443 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7444 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7445 with dotless variants when any combining above is present.
7446
5561c22d
VS
74472012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7450 text and not binary.
7451
96f7e60e
VS
74522012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 Stop polling as soon as we have the packet we were waiting for.
7455
7456 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7457 All users updated.
7458 * grub-core/net/arp.c (have_pending): New var.
7459 (pending_req): Likewise.
7460 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7461 stop indicator.
7462 (grub_net_arp_receive): Set have_pending.
7463 * grub-core/net/dns.c (recv_data): New field stop.
7464 (recv_hook): Set stop.
7465 (grub_net_dns_lookup): Init stop and use as stop condition.
7466 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7467 condition.
7468 * grub-core/net/net.c (grub_net_poll_cards): New argument
7469 stop_condition. Stop when it goes true.
7470 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7471 indicator.
7472 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7473
3e747239
VS
74742012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 Keep TX and RX buffers on EFI rather than always allocate new ones.
7477
7478 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7479 card. All users updated.
7480 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7481 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7482 (get_card_packet): Likewise.
7483 (grub_efinet_findcards): Init new fields.
7484
f695e99a
VS
74852012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7488 compilation error on sparc64.
7489
9e5e66d1
VS
74902012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 Use ITC on IA64 rather than broken routine based on daytime.
7493
7494 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7495 ia64.
7496 (grub_get_rtc) [__ia64__]: Likewise.
7497 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7498 (get_itc): New function.
7499 (grub_rtc_get_time_ms): Likewise.
7500 (grub_machine_init): Calibrate ITC.
7501 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7502 Keep only on non-ia64. Don't export since it's broken and used only
7503 if TSC is unavailable.
7504
a1767404
VS
75052012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7508 even if it's used.
7509 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7510 Skip if parent is unused.
7511
34b2bced
VS
75122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7515
5e619f40
VS
75162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 Fix wildcard escaping.
7519
7520 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7521 * grub-core/script/execute.c (wildcard_escape): .. to here.
7522 Don't escape dot.
7523 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7524 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7525 Don't escape dot.
7526 * grub-core/script/execute.c (gettext_append): Always escape.
7527 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7528 * grub-core/script/yylex.l: Don't cut away the escaping.
7529 * tests/grub_script_echo1.in: Add tests with wildcard.
7530
c8ca5855
VS
75312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7534 (ftdi_hw_configure): Likewise.
7535 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7536 define.
7537 (real_config): Handle 1.5 stop bits.
7538 (pl2303_hw_configure): Likewise.
7539
7183452c
VS
75402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * Makefile.am: Add ppc linux bootcheck.
7543 * grub-core/tests/boot/linux-ppc.cfg: New file.
7544 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7545
f57c84cd
VS
75462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * tests/grub_script_expansion.in: Skip network protocols.
7549
ecfc6207
VS
75502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7553
8d03d284
VS
75542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7557 --rom-directory.
7558 Add -graft-points.
7559
61c42af0
VS
75602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 ESCC serial driver for conducting sautomated tests in qemu.
7563 Not tested on real hardware.
7564
7565 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7566 * grub-core/term/ieee1275/escc.c: New file.
7567 * grub-core/Makefile.core.def (escc): New module.
7568
08fd1291
VS
75692012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7572 invalid on error.
7573 (serial_hw_fetch): Don't read invalid handle.
7574 (serial_hw_put): Don't write into invalid handle.
7575
08dafeea
VS
75762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 Add a 1.5 stop bits value.
7579
7580 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7581 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7582 GRUB_SERIAL_STOP_BITS_1_5.
7583
9068fdcf
VS
75842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7587 value rather than let it uninited.
7588
f4d5820f
VS
75892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7590
7591 * grub-core/commands/wildcard.c (+check_file): New function.
7592 (wildcard_expand): Don't expand to non-existing files, expand with
7593 suffix and not attempt to expand if not needed.
7594
3d2de9a7
VS
75952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7598 out of partitions containing other partitions.
7599
c5c81ff9
VS
76002012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7603 on some qemu versions with GRUB.
7604
7605 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7606 define.
7607 (grub_openbsd_bootarg_pcibios): New struct.
7608 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7609 Add PCIINFO.
7610
08a14e0b
VS
76112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * tests/util/grub-shell.in: Trim firmware output on EFI.
7614
cede3ca3
VS
76152012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7618 and coreboot since it's already in kernel.
7619
558d3a60
VS
76202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7623 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7624 to here. New return value start. All users updated.
7625 Recursively scan linear mappings.
7626 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7627 proto.
7628 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7629 Use grub_util_get_dm_node_linear_info.
7630 * util/getroot.c (convert_system_partition_to_system_disk): Use
7631 grub_util_info rather than grub_dprintf.
7632 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7633
60fde14d
VS
76342012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7637
7638 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7639 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7640
24bd8838
VS
76412012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * include/grub/types.h (grub_set_unaligned64): New function.
7644 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7645 (setup): Likewise.
7646
7bc06a49
VS
76472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7650 (grub_ofdisk_fini): Quiesce USB devices.
7651
49cea015
VS
76522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7655 caches.
7656
8dcbe03b
VS
76572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7660
5b258735
VS
76612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * grub-core/disk/pata.c (grub_pata_pio_read)
7664 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7665 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7666
37ba07eb
VS
76672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 Extend automated tests to qemu-mips.
7670
7671 * Makefile.am: reorganise tests and enable qemu-mips.
7672 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7673 * grub-core/tests/boot/linux.init-mips.S: New file.
7674 * tests/partmap_test.in: Handle ata0 disks.
7675 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7676 non-pc i386.
7677
070038f8
VS
76782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7681 ia64.
7682 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7683 quotes while on it.
7684
004be2cd
VS
76852012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7688 (grub_halt): Likewise.
7689 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7690
b1622487
VS
76912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * grub-core/term/serial.c (grub_serial_register)
7694 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7695 the behaviour in line with x86 platforms.
7696
b7b4ab33
VS
76972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7700 (grub_ata_strncpy): Likewise.
7701 (grub_ata_identify): Add missing byteswaps.
7702
5e3535ae
VS
77032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7706 byte-swap.
7707 (screen_read_char): Likewise.
7708 (grub_vga_text_cls): Likewise.
7709
c21b17e6
VS
77102012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7713 filenames.
7714 (make_file_path): Likewise.
7715
bf293dec
VS
77162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7719 machines.
7720 Tested by: Paulo Flabiano Smorigo.
7721 Crucial information about API supplied by: Coleen <Last name unknown>.
7722 Reviewed by: Coleen <Last name unknown>.
7723
81f6ef0e
VS
77242012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * util/grub-mkimage.c: Disable -Wcast-align.
7727
7284143a
VS
77282012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7731 as they are fatal.
7732
b99f3e00
VS
77332012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7736
944f752d
VS
77372012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * util/grub-probe.c (escape_of_path): Fix double free.
7740
6cce6f38
VS
77412012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/commands/videoinfo.c (hook): Show pitch.
7744
1e1eb50e
VS
77452012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7748
1c715b5a
VS
77492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7752 (probe): Add ieee1275 to OFW devices.
7753
007ae52d
VS
77542012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7757
4557a36d
VS
77582012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 Handle IBM OFW path.
7761
7762 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7763 available.
7764 (of_path_of_scsi): Handle vdevice.
7765
efbeefe9
VS
77662012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7769 Allocate in multiples of 16 to avoid adding a few bytes free region the
7770 windows bugs upon.
7771
15a940bb
VS
77722012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7775 Allocate in multiples of 16 to avoid adding a few bytes free region the
7776 windows bugs upon.
7777 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7778
6e5efd60
VS
77792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7782 resolutions.
7783 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7784 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7785
0d3d137e
IS
77862012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7787
7788 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7789
45dbe300
VS
77902012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7793 resulted in \\ at the end of the line.
7794
6d8db947
VS
77952012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7798 (grub_parser_cmdline_state): Likewise.
7799 (grub_parser_split_cmdline): Likewise.
7800
de89d338
VS
78012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7804 /dev/root and /dev/dm-*.
7805
00d41dee
VS
78062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7809 fix partially stale display.
7810
f95d1f11
VS
78112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7814 substraction.
7815
6297e197
VS
78162012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7819 Fix MBR remapping workaround.
7820 (grub_util_biosdisk_read) [__linux__]: Likewise.
7821
8a7ecad3
VS
78222012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7825
2b34f944
VS
78262012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * configure.ac: Bump to beta6.
7829
684aef11
CW
78302012-05-31 Christer Weinigel <christer@weinigel.se>
7831
7832 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7833
05b0bb91
VS
78342012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7837 (grub_cmd_linux): Likewise.
7838
bda36bfa
CW
78392012-05-31 Christer Weinigel <christer@weinigel.se>
7840
7841 Fix EHCI low-speed.
7842
7843 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7844 (GRUB_EHCI_MULT_TWO): Likewise.
7845 (GRUB_EHCI_MULT_THREE): Likewise.
7846 (GRUB_EHCI_CMASK_MASK): New enum value.
7847 (GRUB_EHCI_SMASK_MASK): Likewise.
7848 (GRUB_EHCI_CMASK_OFF): Likewise.
7849 (GRUB_EHCI_SMASK_OFF): Likewise.
7850 (grub_ehci_pci_iter): Enable periodic schedule.
7851 (grub_ehci_parse_notrun): Likewise.
7852 (grub_ehci_restore_hw): Likewise.
7853 (grub_ehci_setup_qh): Set flags for low speed transfers.
7854 (grub_ehci_find_qh): Use periodic list for low speed.
7855 (grub_ehci_setup_transfer): Check periodic queue as well.
7856 (grub_ehci_check_transfer): Likewise.
7857 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7858
e12bcb1c
PFS
78592012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7860
7861 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7862 parameter is used.
7863
bcc75fb3
PJ
78642012-05-31 Peter Jones <pjones@redhat.com>
7865
7866 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7867 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7868 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7869
f19cb95e
VS
78702012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7873 uninited variable. Allocate at least setup_sects.
7874
a4e5ca80
VS
78752012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 Fix handling of EFI with big memory maps.
7878
7879 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7880 (real_mode_mem): Likewise.
7881 (real_mode_target): Likewise.
7882 (real_mode_pages): Likewise.
7883 (prot_mode_pages): Likewise.
7884 (linux_params): New var.
7885 (linux_cmdline): Likewise.
7886 (free_pages): Don't set real mode variables.
7887 (allocate_pages): Don't allocate real mode memory.
7888 (grub_e820_add_region): Remove the limit.
7889 (grub_linux_boot): Allocate and copy real mode memory.
7890 (grub_linux_unload): Free linux_cmdline.
7891 (grub_cmd_linux): Use temporary storage for parameters.
7892 (grub_cmd_initrd): Likewise.
7893 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7894 (linux_kernel_params): Make it 1K big.
7895
ddb73558
VS
78962012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * Makefile.util.def: Remove -Wno-format.
7899 * grub-core/Makefile.core.def: Likewise.
7900
1c4afb60
VS
79012012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * tests/cmp_unit_test.c: Add missing failure message.
7904 * tests/example_unit_test.c: Likewise.
7905 * tests/printf_unit_test.c: Likewise.
7906
941e3a6d
VS
79072012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7910 relaxation of protective MBR requirements.
7911
b105df76
VS
79122012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * configure.ac: Add condition for COND_HOST_XNU.
7915 * Makefile.util.def (10_xnu): New script.
7916 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7917
84e1569e
VS
79182012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7921 objconv bug.
7922
130c0f77
VS
79232012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7926 Binary on other platforms stays identical.
7927
6fd0b143
VS
79282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7931 Apple.
7932
0af1751d
VS
79332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7936
176d5f7d
VS
79372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7940 rather than defining size_t ourselves to avoid conflict.
7941
7de5e20a
VS
79422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7945 initialisation to avoid __bzero reference.
7946
f7143efe
VS
79472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7950 version.
7951 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7952 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7953 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7954 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7955 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7956
e6ad0555
VS
79572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7960 * grub-core/kern/misc.c: Likewise.
7961 * grub-core/loader/i386/xnu.c: Likewise.
7962 * include/grub/i386/tsc.h: Likewise.
7963 * include/grub/symbol.h: Likewise.
7964
4a5a3c4a
VS
79652012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7968 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7969 on older compiler.
7970
037f6d90
VS
79712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7974 Implement Apple flavour.
7975 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7976
f7194551
VS
79772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7980 (memmove) [__APPLE__]: Likewise.
7981 (memcpy) [__APPLE__]: Likewise.
7982 (memset) [__APPLE__]: Likewise.
7983 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7984 (memmove) [__APPLE__]: Likewise.
7985 (memcpy) [__APPLE__]: Likewise.
7986 (memset) [__APPLE__]: Likewise.
7987
85a730ca
VS
79882012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7991 dependency discard.
7992
40e80b94
VS
79932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/normal/main.c (read_config_file): Provide config_file and
7996 config_directory.
7997 * util/grub.d/41_custom.in: Use config_directoy when available.
7998
9da59c32
VS
79992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
8002 (grub_bfs_dir): Likewise.
8003
2787ae53
PJ
80042012-05-27 Peter Jones <pjones@redhat.com>
8005
8006 The old code gives arguments to a printf function which can't work
8007 correctly, and the compiler complains.
8008
8009 * grub-core/tests/example_functional_test.c (example_test): Add
8010 missing text.
8011 * grub-core/tests/lib/test.c (add_failure): Rewrite.
8012 * include/grub/test.h (grub_test_assert_helper): New declaration.
8013 (grub_test_assert): Use grub_test_assert_helper.
8014
526ef13d
VS
80152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
8018 (exfctest): ... this to avoid overlong filenames.
8019 All users updated.
8020
20dd511c
VS
80212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 Handle "." and ".." on squashfs.
8024
8025 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
8026 Make inode numbers into stack.
8027 (grub_squash_read_symlink): Use stack.
8028 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
8029 (make_root_node): Fill stack.
8030 (grub_squash_open): Use stack.
8031
1d80c62a
VS
80322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
8035 freeing.
8036
d336f652
VS
80372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8040 stderr on test calls.
8041
8b43f587
VS
80422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8045
80a3dc3f
VS
80462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8049
47e297d4
VS
80502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8053 "..".
8054
df042ccb
VS
80552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8058 (grub_hfsplus_iterate_dir): Add "." and "..".
8059
fc977f48
VS
80602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8061
8062 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8063 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8064
f3250e5f
VS
80652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8068 (find_path): Handle "." and "..".
8069
fd8ed4c5
VS
80702012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8073 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8074 (grub_affs_iterate_dir): Handle hardlinks.
8075
4ce776d2
MG
80762012-05-26 Matthew Garrett <mjg@redhat.com>
8077
8078 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8079 (grub_efi_console_fini): Likewise.
8080 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8081 (grub_video_gop_fill_mode_info): Rename to ...
8082 (grub_video_gop_fill_real_mode_info): ... this.
8083 (grub_video_gop_fill_mode_info): New function.
8084 (grub_video_gop_setup): Setup double framebuffer.
8085 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8086 Free offscreen.
8087 (grub_video_gop_swap_buffers): Copy framebuffer.
8088 (grub_video_gop_fini): Free offscreen buffer.
8089 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8090 New enum.
8091 (grub_efi_gop_blt_pixel): New struct.
8092
683031ba
VS
80932012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * gentpl.py: Remove error disabling for objconv.
8096
c2deb798
VS
80972012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * configure.ac: Remove -Wunitialized as it's not available on older
8100 compilers.
8101
81022012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
8103
8104 Fix extent overflow comparator.
8105
8106 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8107 (grub_hfsplus_read_block): Set type.
8108 (grub_hfsplus_cmp_extkey): Compare type.
8109
d6b1fd36
VS
81102012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8113
0a9aa0f6
VS
81142012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8117 than 0.
8118
8360e159
VS
81192012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8122 (dejavu_bold_14.pf2): New target.
8123
501b9e4b
VS
81242012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * configure.ac: Fix djvu font detection.
8127
7026b0e2
VS
81282012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8131 ext* instead of ext2.
8132
c2a51ade
VS
81332012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8136 name with \0.
8137
8f803a5d
JU
81382012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8139
8140 * docs/grub-dev.texi: Remove dot from .png.
8141
13c6353f
VS
81422012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8145 protective entry in any slot.
8146 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8147 if protective entry is found in any slot.
8148
8149 Protective entry in non-first slot make no sense but is a widespread
8150 brain damage.
8151
4cf6be1b
VS
81522012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8155
937d1c44
VS
81562012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8159 with old reiserfs.
8160 (grub_reiserfs_open): Don't free root.
8161
021d90ec
VS
81622012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8165 after freeing for safety.
8166
967b2b64
VS
81672012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8170 Reported by: Jordan Uggla.
8171
34274d02
JU
81722012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8173
967b2b64
VS
8174 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8175 actual implementation. Specifically, clarify that the grub menu will
8176 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8177 passed.
34274d02 8178
dcaaae9d
BH
81792012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8180
8181 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8182 of r0.
8183
7086ad52
VS
81842012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 Remove unjustified hard dependency of normal.mod on gfxterm.
8187
8188 * include/grub/term.h (grub_term_output): New member fullscreen.
8189 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8190 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8191 (grub_gfxterm): Set .fullscreen.
8192 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8193 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8194
37ed2c9b
VS
81952012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8198 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 8199 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 8200
a4469c88
VS
82012012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8204
4e461486
VS
82052012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8208 a bad FS.
8209
aa78f5c4
VS
82102012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8213 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8214
197626b5
VS
82152012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8218 (grub_jfs_mount): Fill caseins.
8219 (grub_jfs_find_file): Respect caseins.
8220
8ad3f28c
VS
82212012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8224 through UTF-16.
8225
0c6c324e
VS
82262012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8229 New argument origpath. All users updated.
8230
c6666ba6
VS
82312012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8234 (read_attr): Ensure that we read start of possibly compressed block.
8235
e28e5fe5
VS
82362012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8237
8238 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8239 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8240 All users updated.
8241
5fc23ab2
VS
82422012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8245 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8246 (dejavu.pf2): Replace with ...
8247 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8248 this.
8249
79dbc21c
VS
82502012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * util/grub.d/20_linux_xen.in: Add missing line.
8253
d2fcfb0c
VS
82542012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8257 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8258 (grub_utf16_to_utf8): Likewise.
8259
5560e9d6
VS
82602012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8263 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8264 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8265 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8266 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8267 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8268
82692012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8270
8271 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8272 a bad FS.
8273
5560e9d6 82742012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8275
8276 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8277 (grub_udf_read_symlink): Handle read_string failure.
8278
5eae3175
VS
82792012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8282 comment.
8283
c1ad82db
VS
82842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Fix handling of UDF symlinks.
8287
8288 * grub-core/fs/udf.c (read_string): New argument outbuf.
8289 All users updated.
8290 (grub_ufs_read_symlink): Rename to ...
8291 (grub_udf_read_symlink): ... this. All users updated.
8292 Handle symlinks with more than one component.
8293
33eca6e0
VS
82942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8297 symlinks. Replace leading colon with a slash.
8298
57f4a70b
VS
82992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8302 filename.
8303
38c8ee20
VS
83042012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8307 match in inner node.
8308
2e57f28f
VS
83092012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8312 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8313 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8314 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8315 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8316 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8317 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8318 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8319 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8320
fe8c2f11
VS
83212012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 Use grub-probe and not cmp to check that disk is empty.
8324
8325 * util/grub-install.in: Use grub-probe for zero-check.
8326 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8327 (probe): Handle PRINT_ZERO_CHECK.
8328 (argp_parser): Handle -t zero_check.
8329
83302012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8331
8332 Flush block cache on adding disk to device map.
8333
8334 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8335 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8336 adding.
8337 (read_device_map): Likewise.
8338 (open_device): Flush on opening.
8339
690434e8
VS
83402012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8343 (handle_symlink): Fix off-by-one error.
8344 Canonicalize the target.
8345 (grub_cpio_dir): Canonicalize the name.
8346 Fix memory leak.
8347 Set directory.
8348 (grub_cpio_open): Canonicalize the name.
8349
742d2be6
VS
83502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8353 handling.
8354
3244fe96
VS
83552012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8358 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8359
8aeb1837
VS
83602012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8363 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8364 All users updated.
8aeb1837 8365
9133fd05
VS
83662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8369 counterpart.
8370
6d521c5b
VS
83712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 Fix UFS1 big file support.
8374
8375 * grub-core/fs/ufs.c (INODE): Removed.
8376 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8377 64-bit.
8378 (INODE_MODE): Simplify.
8379 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8380 (grub_ufs_lookup_symlink): Don't use INODE.
8381
21b82e17
VS
83822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8385
8386 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8387 (grub_minix_data): Replace log_block_size with block_size.
8388 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8389 (grub_minix_mount): Fill block_size.
8390
83912012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8392
8393 * configure.ac: Bump to beta5.
8394
f417ed04
VS
83952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Fix wrapped HFS+ handling.
8398
8399 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8400 blocks_start. All users updated.
8401 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8402 wrapping offset.
8403 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8404
607d282b
VS
84052012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 Fix long symlinks on reiserfs.
8408
8409 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8410 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8411 (grub_reiserfs_iterate_dir): Save size for non-directories.
8412 (grub_reiserfs_open): Don't reread stat block as we already know the
8413 size.
8414 (grub_reiserfs_read): Split into...
8415 (grub_reiserfs_read_real): ... and ...
8416 (grub_reiserfs_read): ...this.
8417
ae16024d
VS
84182012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Fix non-indexed JFS.
8421
8422 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8423 (grub_jfs_data): New field namecomponentlen.
8424 (grub_jfs_mount): Fill namecomponentlen.
8425 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8426
eea1e26e
VS
84272012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8430 * tests/grub_script_echo1.in: Add tests.
8431
df760f77
VS
84322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * util/grub-install.in: Ignore empty devicetree directory.
8435
5efb817d
B
84362012-05-08 Bean <bean123ch@gmail.com>
8437
8438 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8439 All users updated.
8440 (free_rsm): Free header as well.
8441 (free_old_fragments): Fix memory leak.
8442 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8443 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8444 (destroy_pq): Likewise.
8445 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8446
668ea6d2
VS
84472012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8450 resulting hash as a precaution.
8451
1739b1fe
VS
84522012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8455 '_' in variable names.
8456 * grub-core/net/net.c (grub_net_network_level_interface_register):
8457 Likewise.
8458
6ae485aa
VS
84592012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 Fix AFFS with non-512B blocks.
8462
8463 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8464 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8465 (grub_affs_data): Replace blocksize with log_blocksize.
8466 (grub_affs_read_block): Fix non-512B blocks.
8467 (grub_affs_read_symlink): Likewise.
8468 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8469 (grub_affs_read): Fix non-512B blocks.
8470 (grub_affs_label): Likewise.
8471 (grub_affs_mtime): Likewise.
8472 (grub_affs_mount): Fix block detection routine.
8473
d20fab84
VS
84742012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 Add filesystem mtime to AFFS.
8477
8478 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8479 (aftime2ctime): New function.
8480 (grub_affs_dir): Use aftime2ctime.
8481 (grub_affs_label): Fix return value.
8482 (grub_affs_mtime): New function.
8483 (grub_affs_fs): Add mtime.
8484
e87b10f5
VS
84852012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8488 UTF-8.
8489
7dceec9b
VS
84902012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8493 UTF-8.
8494
2f48221f
VS
84952012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8498
dacd85cf
VS
84992012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8502 flags.
8503 (FLAGS_CASE_SENSITIVE): New enum value.
8504 (cache_entry): New struct.
8505 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8506 cache_size and cache.
8507 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8508 Add log_blocksize and fshelp_flags.
8509 (grub_sfs_read_extent): Handle non-512 blocks.
8510 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8511 (grub_sfs_read_file): Handle non-512 blocks.
8512 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8513 fshelp_flags.
8514 (grub_sfs_read_symlink): Handle non-512 blocks.
8515 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8516 (grub_sfs_dir): Free cache.
8517 (grub_sfs_close): Likewise.
8518
24e9a854
VS
85192012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8522 filesystems.
8523
62ace64d
VS
85242012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8527
83b2e89c
VS
85282012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8531
75ccaea3
VS
85322012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8535 (grub_sfs_read_extent): Likewise.
8536 (grub_sfs_read_block): Likewise.
8537 (grub_sfs_mount): Likewise.
8538 (grub_sfs_iterate_dir): Likewise.
8539 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8540 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8541
1b8463f2
VS
85422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 Fix errors on compressed NTFS with 512B clusters.
8545
8546 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8547 types.
8548 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8549 not 0.
8550 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8551 Relax check for inline extents.
8552 (ntfscomp): Return correct -1 on error and not 0.
8553
4f8e368f
VS
85542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * util/grub-install.in: Fix handling of prefix containing spaces.
8557
6f5d5ee8
VS
85582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8561 (grub_squash_read_data): Fix offset byte-swapping.
8562
ce41ab7a
VS
85632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8566 per common usage and preffered in several parts of code.
8567 (grub_memcmp): Likewise.
8568 (grub_strncmp): Likewise.
8569 * include/grub/misc.h (grub_strcasecmp): Likewise.
8570 (grub_strncasecmp): Likewise.
8571 * Makefile.util.def (cmp_test): New test.
8572 (grub_script_strcmp): Likewise.
8573 * tests/cmp_unit_test.c: New file.
8574 * tests/grub_script_strcmp.in: Likewise.
8575 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8576
49717bf4
VS
85772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * include/grub/pci.h: Move enums into no-asm part.
8580
0a308f64
VS
85812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8584
1796965f
ST
85852012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8586
8587 * util/getroot.c (find_hurd_root_device): Try to make error message
8588 and comments to translators clearer.
8589
4e9b2819
VS
85902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8593
076aeb50
VS
85942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8597 btrfs.
8598
19424d94
VS
85992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * docs/grub.cfg: Update.
8602
ebb73076
VS
86032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * docs/grub.texi (PXE): Remove not present variables.
8606
9a1b669c
VS
86072012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/net/net.c (defserver_set_env): New function.
8610 (defserver_get_env): Likewise.
8611 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8612
d38bf7d3
VS
86132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8616 entries.
8617
86182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8619
8620 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8621 * grub-core/kern/emu/hostdisk.c: Likewise.
8622
e5e4ca48
ST
86232012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8624
8625 Handle hurd userspace partitions.
8626
8627 * util/getroot.c (find_hurd_root_device): New function.
8628 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8629
56bb5dd5
VS
86302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8633 names.
8634 Reported by: Bastian Blank.
8635
9e8bc27a
VS
86362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8639 crossing page boundary.
8640
aa01499d
VS
86412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 Fix B-tree search in BFS, especially in presence of non-ASCII
8644 characters.
8645
8646 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8647 (find_in_b_tree): Use standard bsearch + btree algorithm.
8648
57006035
VS
86492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8652 and so on.
8653
9d34bb85
MG
86542012-05-03 Matthew Garrett <mjg@redhat.com>
86552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 Suspend broadcom cards in order to stop their DMA.
8658
8659 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8660 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8661 (pci): Don't build on x86 EFI.
8662 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8663 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8664 New function.
8665 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8666 stop_broadcom if running on EFI.
8667 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8668 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8669 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8670 (grub_pci_find_capability): New proto.
8671
01aab997
VS
86722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * docs/grub.texi: Remove dot from the extension as it apparently
8675 doesn't work with some makeinfo versions.
8676
fbd8dca6
VS
86772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8680 with GRUB expectance.
8681
dab797f4
VS
86822012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8685
1516bfb4
VS
86862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8689 zero after directory block since last entry may be not 0-terminated if
8690 it ends on block boundary. Use continue instead of if spanning whole
8691 loop.
8692
a3a0eace
VS
86932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 Support 4K sectors UDF inline files.
8696
8697 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8698 (grub_udf_extended_file_entry): Likewise.
8699 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8700 All users updated.
8701 (get_fshelp_size): New function.
8702 (grub_udf_read_icb): Read whole block.
8703 (grub_udf_iterate_dir): Likewise.
8704 (grub_udf_dir): Likewise.
8705 (grub_udf_open): Likewise.
8706
c82f16c1
VS
87072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8710
59fd2aac
VS
87112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8714 inline symlinks in addition to workaround.
8715
3b4afb4d
VS
87162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8719
f45c794a
VS
87202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8723
f25cecbd
VS
87242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8727
bb9a34e8
VS
87282012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 Fix reiserfs big seek times.
8731
8732 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8733 exact. All users updated.
8734 (grub_reiserfs_read): Use nearest btree search for seeking.
8735 Fix return value on error.
8736
dc478aea
VS
87372012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8740 entries.
8741 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8742 * docs/grub.texi: Update menuentry description.
8743
8db10f47
VS
87442012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8747 crash when embedding onto filesystem.
8748
bcb288ed
VS
87492012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8752 name.
8753
a626fdd7
VS
87542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8757
b2f68477
VS
87582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8761 commit.
8762
ba15b2af
B
87632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
87642012-05-01 Bean <bean123ch@gmail.com>
8765
8766 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8767
a188012e
VS
87682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8771 Special behaviour for len = 0 to read whole file isn't used anywhere and
8772 can cause buffer ovewrflows in several places.
8773
f0a53ed2
VS
87742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8777
5ed554f0
VS
87782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Handle RAIDZ on non-512B sectors.
8781
8782 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8783 max_children_ashift.
8784 (fill_vdev_info_real): Fill max_children_ashift.
8785 (read_device): Use max_children_ashift.
8786
ddc58357
VS
87872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8790
e3282399
VS
87912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8794 disk names.
8795 * docs/grub.texi: Update device.map parts.
8796
ee618bd4
VS
87972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 Don't scan into non-diskfilter devices having diskfilter names.
8800
8801 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8802 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8803 handling.
8804 (scan_disk_hook): New function.
8805
bdf88864
B
88062012-04-29 Bean <bean123ch@gmail.com>
8807
8808 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8809 allocation.
8810
32745f51
MK
88112012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8812
8813 * configure.ac: Detect starfield theme font path
8814 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8815
bc95c8c0
VS
88162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8819 geometry on serial consoles.
8820
147fbcab
VS
88212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8824 because of network consoles.
8825
0f42c889
VS
88262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8829 handling.
8830
4a3594c9
VS
88312012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8834 falls on Q syndrom.
8835
5cb53879
VS
88362012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8839 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8840
b282dfe5
VS
88412012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8844 Allocate at lest 8192 for temporary buffer as required for lzo.
8845
daa59f47
VS
88462012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8849 to cluster_bits, since it's already added in.
8850 (grub_fat_read_data): Likewise.
8851
986748ce
VS
88522012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8855 as long as cluster size is multiple of 512 bytes.
8856
a20f6ad0
VS
88572012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * util/grub-mkrescue.in: Fix locale directory.
8860
385f9abb
VS
88612012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * grub-core/kern/emu/hostdisk.c (map): Make static.
8864
1c557d30
B
88652012-04-23 Bean <bean123ch@gmail.com>
8866
8867 * util/grub-fstest.c (fstest): Add missing break.
8868
524b5d3a
ST
88692012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8870
8871 Fix hurd build.
8872
8873 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8874 not define nr variable.
fe4824e9 8875 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8876 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8877 grub_find_device): Do not define.
524b5d3a 8878
9a06490c
VS
88792012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Fix kfreebsd compile and behaviour.
8882
8883 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8884 format-security.
8885 * util/getroot.c: Fix wait.h include.
8886 (grub_guess_root_devices): Error if grub_find_device fails.
8887 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8888 (grub_util_get_dev_abstraction): Likewise.
8889 (grub_util_pull_device): Likewise.
8890 (grub_util_get_grub_dev): Likewise.
8891 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8892
48143d96
VS
88932012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 Fix and unify wholedisk detection.
8896
8897 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8898 is_part. All users updated.
8899 (device_is_wholedisk): Removed.
8900 (grub_util_biosdisk_get_grub_dev): Use is_part.
8901
ebbd24f3
VS
89022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8905 mode.
8906
56f7aa1e
VS
89072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * configure.ac: Bump to beta4.
8910
9c815e01
VS
89112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8914 --fs-uuid --set UUID syntax.
8915
59e2651a
VS
89162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8919 disunification.
8920
54e03cfc
VS
89212012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8924
81092a75
MK
89252012-04-18 Mads Kiilerich <mads@kiilerich.com>
8926
8927 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8928
f8315e14
MG
89292012-04-18 Mike Gilbert <floppym@gentoo.org>
8930
8931 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8932
1501ac21
B
89332012-04-18 Bean <bean123ch@gmail.com>
8934
8935 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8936 place.
8937
cb7f944e
VS
89382012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8941 users updated.
8942 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8943 corresponding to GRUB partitions.
8944 (grub_util_biosdisk_write): Likewise.
8945
b72d44a1
VS
89462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 Scan mdraid before LVM.
8949
8950 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8951 (grub_diskfilter_register_front): ... this.
8952 (grub_diskfilter_register_back): New function.
8953 All users of grub_diskfilter_register updated.
8954
33d918b8
VS
89552012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * util/grub-install.in: Fix an automatic target detection bug.
8958
c6ca973d
VS
89592012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * util/grub-install.in: New option --efi-directory.
8962
b41be562
VS
89632012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8966 boot services if we have no other choice.
8967
89682012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8971 document it.
8972 * tests/util/grub-shell.in: Update to --directory.
8973
e0595a73
VS
89742012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8977
4ed80652
VS
89782012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8981 (grub_minix_read_file): Likewise.
8982 (grub_minix_read_inode): Likewise.
8983 (grub_minix_find_file): Likewise.
8984 (grub_minix_dir): Likewise.
8985
56008077
VS
89862012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * util/grub-setup.c (setup): Fix partition handling and blocklist
8989 check.
8990
ee520775
VS
89912012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8994 redundant buggy overlap check.
8995
16fc9293
VS
89962012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8999 and grub-mknetdir.
9000
9bab65c4
VS
90012012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
9004 kh.loadflags on pre-2.00 kernels.
9005
3c491b47
VS
90062012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 Terminate UNDI and PXE before launching the payload to avoid problems
9009 with DMA.
9010
9011 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
9012 (grub_loader_flags): ... this. All users updated.
9013 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
9014 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
9015 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
9016 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
9017 function.
9018 (grub_pxe_restore): Likewise.
9019 (fini_hnd): New var.
9020 (GRUB_MOD_INIT): Register shutdown hook.
9021 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
9022 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
9023 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
9024 (grub_loader_set): Rename second argument to flags.
9025
851ffada
VS
90262012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
9029 written bytes.
9030 (grub_get_num_of_utf8_bytes): New function.
9031 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
9032 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
9033 executing it.
9034 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
9035 (grub_ucs4_to_utf8): Change return type.
9036
491c57a8
VS
90372012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9040 warning.
851ffada
VS
9041 * grub-core/fs/bfs.c (hop_level): Likewise.
9042 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 9043
756773df
VS
90442012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/lib/adler32.c: Recode due to license unclearness.
9047
fd556a96
VS
90482012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9051 (test_header): Likewise.
9052
9f9d3f69
VS
90532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 Fix --help formatting.
9056
9057 * util/grub-mkconfig_lib.in (print_option_help): New function.
9058 (grub_fmt): Likewise.
9059 * util/grub-install.in: Use print_option_help and grub_fmt.
9060 * util/grub-kbdcomp.in: Likewise.
9061 * util/grub-mkconfig.in: Likewise.
9062 * util/grub-mknetdir.in: Likewise.
9063 * util/grub-mkrescue.in: Likewise.
9064 * util/grub-mkstandalone.in: Likewise.
9065 * util/grub-reboot.in: Likewise.
9066 * util/grub-set-default.in: Likewise.
9067 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9068
561ec77e
VS
90692012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * linguas.sh: Remove autogenerated *.po.
9072
7ec2b021
VS
90732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * po/README: Move language fetcing to ...
9076 * linguas.sh: ... here.
9077 * po/README: Point to linguas.sh.
9078
a88f3270
VS
90792012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * po/README: Exclude ko.po due to disclaimer problems.
9082
d61357ce
VS
90832012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9086 len = 0.
9087 (grub_gettext_translate_real): Handle 0th string.
9088 (grub_gettext_translate): Ensure that "" isn't translated.
9089
505e41dc
VS
90902012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9093 TRANSLATORS comment.
9094 (grub_diskfilter_print_partmap): Propagate changing of error into
9095 warning.
9096
e44092db
VS
90972012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9100 to uint64_t to prevent overflow.
9101 (grub_diskfilter_lv): Increase start_extent and extent_count
9102 to uint64_t to prevent overflow.
9103
9b83956a
VS
91042012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * configure.ac: Increase version.
9107
da0d5b3f
VS
91082012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9111
9112 * po/Rules-translit: New file.
9113 * po/arabic.sed: Likewise.
9114 * po/cyrillic.sed: Likewise.
9115 * po/greek.sed: Likewise.
9116 * po/hebrew.sed: Likewise.
9117 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9118 * po/Makefile.in.in: Add extra_dist4.
9119
ac66b453
VS
91202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9123
9124 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9125 modify names. Introduce MODE_BIGENDIAN.
9126 * grub-core/fs/minix_be.c: New file.
9127 * grub-core/fs/minix2_be.c: Likewise
9128 * grub-core/fs/minix3_be.c: Likewise.
9129 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9130 minix3_be.
9131 * grub-core/Makefile.core.def (minix_be): New module.
9132 (minix2_be): Likewise.
9133 (minix3_be): Likewise.
9134
91352012-04-01 Felix <email@hamburg.de>
9136
9137 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9138 (devs): Add MBP 2011.
9139
0a2d5a82
VS
91402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9143
d1625889
VS
91442012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * grub-core/normal/cmdline.c (print_completion): New field
9147 prompt_len.
9148 (grub_cmdline_get): Handle width properly.
9149
6d36a236
VS
91502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9153
9576977e
VS
91542012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 9157 after 29th of February.
9576977e 9158
d73ff15d
VS
91592012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 Fix exfat endianness handling.
9162
9163 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9164 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9165 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9166 Byte-swap utf16 when necessary.
9167 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9168
bbb39a45
AB
91692012-03-31 Anton Blanchard <anton@samba.org>
91702012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 Fix btrfs endianness handling.
9173
9174 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9175 (lower_bound): Make root uint64_t. Use root in le.
9176 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9177 (find_path): Fix template key init.
9178 (grub_btrfs_dir): Fix mtime byteswap.
9179 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9180
354e0af7
VS
91812012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9184 recursion_depth. Break infinite resursions. All users updated.
9185
4e75f21c
VS
91862012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9189 after free.
9190 Reported by: Peter Jones.
9191
25581802
AB
91922012-03-31 Anton Blanchard <anton@samba.org>
9193
9194 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9195 8 bit values.
9196
08fbf92e
VS
91972012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * util/grub-install.in: Fix nvram call for PreP.
9200
5d1182a6
VS
92012012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9204 the error when some elements are missing into a warning.
9205
3f8cdd90
VS
92062012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9209
51006716
CW
92102012-03-28 Colin Watson <cjwatson@ubuntu.com>
9211
9212 * docs/grub.texi (Invoking grub-probe): New section.
9213 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9214
e1bd676b
VS
92152012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 Fix tab and wide character handling in editor and menu.
9218
9219 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9220 agglomerate control characters with combining marks.
9221 (bidi_line_wrap): Allow break on tab.
9222 (grub_unicode_get_comb_start): New function.
9223 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9224 and tab correctly.
9225 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9226 with a space.
9227 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9228 fixed_tab_size. All users updated.
9229 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9230 (grub_term_getcharwidth): Handle \t.
9231 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9232 and copy.
9233
22e6a774
VS
92342012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 Handle big-endian mdraid.
9237
9238 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9239 * grub-core/Makefile.core.def (mdraid09_be): New module.
9240 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9241 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9242 * grub-core/disk/mdraid_linux_be.c: New file.
9243
3c0eae66
VS
92442012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9247
b6cf74c9
VS
92482012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9251 missing quotes which caused confusion among translators.
9252
83c93b9c
VS
92532012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * util/grub-mkconfig_lib.in: Fix typo.
9256
ac6fd218
VS
92572012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9260 spaces.
9261 * tests/grub_script_leading_whitespace.in: New file.
9262 * Makefile.util.def (grub_script_leading_whitespace): New test.
9263
ba287dd8
VS
92642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9267 to work.
9268
d2d58d0a
VS
92692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9272 starts with control character.
9273
0382d9bb
VS
92742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9277 overflow.
9278 (grub_gdb_outbuf): Likewise.
9279
d83ff9f9
VS
92802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9283 zero terminator. Fixes a crash.
9284
2282da4a
VS
92852012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9288 beyond 4 GiB.
9289 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9290 images independently of preffered adderss field.
9291
0ae4f0bd
VS
92922012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9295 * grub-core/commands/regexp.c: Likewise.
9296 * grub-core/loader/i386/linux.c: Likewise.
9297 * grub-core/partmap/msdos.c: Likewise.
9298 * grub-core/script/execute.c: Likewise.
9299 * grub-core/term/gfxterm.c: Likewise.
9300
546fbe9b
VS
93012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 Add variable parsing in $"..." and fix several mismatches with bash.
9304
9305 * Makefile.util.def (grub_script_gettext): New test.
9306 * grub-core/script/execute.c (parse_string): New function.
9307 (gettext_append): Likewise.
9308 (grub_script_arglist_to_argv): Use gettext_append.
9309 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9310 * tests/grub_script_gettext.in: New file.
9311
9fdb2d7b
VS
93122012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 Fix handling of leading spaces in scripts.
9315
9316 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9317 spaces.
9318 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9319 other than skipping \r. All users updated.
9320 * tests/grub_script_echo1.in: Add space-related tests.
9321 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9322
1a1ac4f6
VS
93232012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9326
b63d89b6
VS
93272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * configure.ac: Bump up the version to beta2.
9330
17f38c0f
VS
93312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Fix gettext reload bugs (e.g. inability to disable gettext
9334 once enabled).
9335
9336 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9337 main_context and secondary_context. All functions updated.
9338 (grub_gettext_translate): Rename to ...
9339 (grub_gettext_translate_real): ... this. Return NULL on failed
9340 translate.
9341 (grub_gettext_translate): Handle secondary context.
9342 (grub_gettext_delete_list): Close file and zero-out the context.
9343 (grub_mofile_open): Don't call grub_gettext_delete_list.
9344 Don't close file.
9345 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9346 if locale="" to avoid pointless error message.
9347 (grub_gettext_env_write_lang): Update lang even if load fails.
9348 Handle secondary context.
9349 (grub_gettext_reread_prefix): New function.
9350 (read_main): Likewise.
9351 (read_secondary): Likewise.
9352 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9353 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9354 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9355 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9356
8e56f870
VS
93572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * configure.ac: Decrease warning level to avoid spurious warnings and
9360 to be able to compile with GCC 4.2.
9361 * Makefile.util.def: Remove -Wno-error=logical-op.
9362
82f6d455
WB
93632012-03-10 William Bittner <william.bittner@gmail.com>
9364
9365 * util/import_unicode.py: Add missing brackets around string for
9366 python 3 support.
9367
1ecd61a4
VS
93682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 Fix efi chainloader on network root.
9371
9372 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9373 network devices.
9374 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9375 New function.
9376
14361ee8
VS
93772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9380 unused show_text member.
9381 * docs/grub.texi: Document "text" property.
9382
922aabf3
VS
93832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9386 in dprintf.
9387
ec316771
VS
93882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 Fix IMSM handling on Fedora.
9391
9392 * util/getroot.c (grub_util_is_imsm): New function.
9393 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9394
0f021838
VS
93952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * Makefile.am: Strip gold section.
9398 * conf/Makefile.common: Likewise.
9399 * gentpl.py: Likewise.
9400 * grub-core/Makefile.core.def: Likewise.
9401 * grub-core/genmod.sh.in: Likewise.
9402
1039c8eb
VS
94032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9406 * util/grub.d/20_linux_xen.in: Likewise.
9407 Based on Debian patch.
9408
6dd412cd
VS
94092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * util/grub.d/10_linux.in: Fix syntax error resulting in
9412 Richard Laager's patch.
9413 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9414
3fd8bae5
VS
94152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9418 dependencies.
9419
7eea1671
RL
94202012-03-10 Richard Laager <rlaager@wiktel.com>
9421
9422 * util/grub.d/10_linux.in: Fix ZFS root passing.
9423
e8e0566b
VS
94242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9427 * grub-core/commands/xnu_uuid.c: Likewise.
9428 * grub-core/loader/efi/appleloader.c: Likewise.
9429 * grub-core/script/execute.c: Likewise.
9430 * grub-core/script/main.c: Likewise.
9431 * util/grub-mkfont.c: Likewise.
9432
1acc5b1f
VS
94332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * util/grub-mkfont.c (options): Use more appropriate "select" that
9436 "set" for face index.
9437
35d70620
VS
94382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * util/grub-editenv.c (options): Gettextize command summaries.
9441
c9eb96b5
VS
94422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9445 "out of memory" error messagge.
9446
1f493136
VS
94472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9450 of diskfilter for diskfilter on diskfilter support.
9451
6d790129
VS
94522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9455
005f46c9
VS
94562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9459 themes/starfield.
9460
c8f778a0
VS
94612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9464
de1e64eb
VS
94652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9468
c6d54211
VS
94692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9470
9471 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9472 of error message.
9473
dd390777
VS
94742012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9477
5fd1c522
VS
94782012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9481 message.
c6d54211 9482 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9483
fae01f6c
VS
94842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9487 Gettextize.
9488 * util/grub-mount.c (options): Likewise.
9489
292fdaff
VS
94902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9493 gettextize.
9494 * grub-core/commands/search_wrap.c (options): Likewise.
9495
ecdbae77
VS
94962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9499
52bfedfa
VS
95002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9503 size calculation.
9504 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9505 none is known.
9506
55b20e58
VS
95072012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9510 "temporary" since it's used in identifier and is limited in space.
9511
fda9d101
VS
95122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * po/POTFILES.in: Regenerate. Include *.h since they contain
9515 translatable strings as well.
9516
6a0295e2
VS
95172012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9520 byte-swap on big-endian.
9521 Reported by: Lennart Sorensen
9522
807fb77c
VS
95232012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9524
9525 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9526 (allocate_pages): Improve dprintf.
9527 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9528 code32_start. Fill code32_start and kernel_alignment in params.
9529 (grub_cmd_initrd): Use prot_init_space.
9530
61ac50ba
VS
95312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9534
abdd26dd
VS
95352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * util/grub-install.in: Add missing dot at the end of sentence.
9538
6e69da9c
VS
95392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9542 * grub-core/commands/videotest.c: Likewise.
9543 * grub-core/loader/i386/linux.c: Likewise.
9544
4a929343
VS
95452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9548 sentence.
9549 Reported by: Milo Casagrande.
9550
bb51c6c6
VS
95512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9554 * grub-core/commands/gptsync.c: Likewise.
9555 * grub-core/commands/hashsum.c: Likewise.
9556 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9557 * grub-core/commands/legacycfg.c: Likewise.
9558 * grub-core/io/gzio.c: Likewise.
9559 * grub-core/net/net.c: Likewise.
9560 * grub-core/term/gfxterm.c: Likewise.
9561 * grub-core/term/terminfo.c: Likewise.
9562 * grub-core/tests/test_blockarg.c: Likewise.
9563 * grub-core/video/video.c: Likewise.
9564 * util/grub-install.in: Likewise.
9565 * util/grub-mkfont.c: Likewise.
9566
b2b149cb
VS
95672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9570
c7c080ad
VS
95712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9574 Reported by: David Prévot.
c7c080ad 9575
f2e243c0
VS
95762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9579 description.
9580
09963c76
VS
95812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * util/grub-script-check.c (main): Fix a syntax error message which was
9584 unclear.
9585
a50514a8
VS
95862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9589
4650daec
VS
95902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9593 messages.
9594
95952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9596
9597 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9598 without argument.
9599 * util/grub-mount.c (options): Likewise.
9600
bbc5a342
VS
96012012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9604
ef292a87
VS
96052012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/net/http.c: Add TRANSLATORS comments.
9608 * grub-core/normal/cmdline.c: Likewise.
9609 * grub-core/normal/misc.c: Likewise.
9610 * grub-core/partmap/msdos.c: Likewise.
9611 * grub-core/parttool/msdospart.c: Likewise.
9612 * grub-core/script/execute.c: Likewise.
9613 * grub-core/script/main.c: Likewise.
9614 * grub-core/term/terminfo.c: Likewise.
9615 * grub-core/video/bitmap.c: Likewise.
9616 * util/grub-install.in: Likewise.
9617 * util/grub-mkimage.c: Likewise.
9618 * util/grub-mklayout.c: Likewise.
9619 * util/grub-setup.c: Likewise.
9620
0fc19bd0
VS
96212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9624 with similar messages in grub-fstest.
9625
d95862ef
VS
96262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * util/grub-install.in: Unify "option requires an argument" message
9629 with similar messages in other files.
9630 * util/grub-mkconfig.in: Likewise.
9631
b7308f90
VS
96322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/grub-set-default.in: Replace printf with gettext_printf (the
9635 string in in question is already translated from grub-reboot)
9636
559dc587
VS
96372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * configure.ac: Bump up the version to beta1.
9640
1a11761f
VS
96412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9644 case when min_align = 0.
9645
24539abd
VS
96462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9649 and fix a case when line_start overflows.
9650
32bd735b
VS
96512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * util/grub-reboot.in (usage): Mention id posibility.
9654 * util/grub-set-default.in (usage): Likewise.
9655
1a2fd1e6
VS
96562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9659 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9660 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9661 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9662 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9663 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9664 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9665
90eeab76
VS
96662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * grub-core/commands/menuentry.c (options): Remove
9669 GRUB_ARG_OPTION_REPEATABLE.
9670 Reported by: Andreas Vogel
9671
5ad1be82
AV
96722012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9673
9674 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9675
cb055286
HE
96762012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9677
9678 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9679 error.
9680
93b1cd79
VS
96812012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Use sort -V by the idea of Georgi Georgiev.
9684
9685 * util/grub-mkconfig_lib.in (version_sort): New function.
9686 (version_test_numeric): Use version_sort.
9687
0cdc126c
VS
96882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 Use submenus in grub-mkconfig.
9691
9692 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9693 * util/grub-mkconfig_lib.in (grub_quote): New function.
9694 (gettext_printf): Use gettext and not gettext_quoted to fix several
9695 messages.
9696 * util/grub.d/10_hurd.in: Use submenus.
9697 * util/grub.d/10_kfreebsd.in: Likewise.
9698 * util/grub.d/10_linux.in: Likewise.
9699 * util/grub.d/10_netbsd.in: Likewise.
9700 * util/grub.d/20_linux_xen.in: Likewise.
9701 * util/grub.d/30_os-prober.in: Likewise.
9702 * util/grub.d/10_illumos.in: Add missing quoting.
9703 * util/grub.d/10_windows.in: Likewise.
9704
d9bef9bc
VS
97052012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 Fix menu title instability bug.
9708
9709 * grub-core/commands/menuentry.c (options): New option --id.
9710 (grub_normal_add_menu_entry): New argument id. All users updated.
9711 (grub_cmd_menuentry): Handle --id.
9712 (grub_menu_init): Accept unknown arguments.
9713 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9714 feature_menuentry_options.
9715 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9716 saved_entry.
9717 (get_entry_number): Match with id as well.
9718 * include/grub/menu.h (grub_menu_entry): New member id.
9719 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9720 * util/grub.d/00_header.in: Define menuentry_id_option.
9721 * util/grub.d/10_hurd.in: Define id.
9722 * util/grub.d/10_illumos.in: Likewise.
9723 * util/grub.d/10_kfreebsd.in: Likewise.
9724 * util/grub.d/10_linux.in: Likewise.
9725 * util/grub.d/10_netbsd.in: Likewise.
9726 * util/grub.d/10_windows.in: Likewise.
9727 * util/grub.d/20_linux_xen.in: Likewise.
9728 * util/grub.d/30_os-prober.in: Likewise.
9729
97302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9731
9732 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9733 "scope" with "body".
9734
7c8d0ce7
VS
97352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9738 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9739 prot_size and prot_file_size.
9740
49de079b
VS
97412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9744 All users updated. If easily=1 require raid-5/-6 to be full.
9745 (is_node_readable): Likewise.
9746 (scan_devices): Scan incomplete but readable LVs at the end.
9747 (grub_diskfilter_memberlist): Pull missing devices.
9748 (insert_array): Skip scanning until device is complete or scan is
9749 done otherwise.
9750 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9751 check.
9752 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9753 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9754
aff05d45
MG
97552012-03-03 Matthew Garrett <mjg@redhat.com>
97562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 Avoid EFI boot services when loading Linux.
9759
9760 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9761 avoid_efi_bootservices. All users updated.
9762 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9763 argument avoid_efi_bootservices. All users updated.
9764 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9765 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9766 align, min_align, relocatable, prefered_address. All users updated.
9767 Allocate avoiding boot services if kernel is relocatable.
9768 (grub_cmd_linux): Check if kernel is relocatable.
9769 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9770 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9771 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9772 avoid_efi_boot_services.
9773 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9774 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9775 (linux_kernel_params): Likewise.
9776
3935dde2
MG
97772012-03-03 Matthew Garrett <mjg@redhat.com>
97782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 Use EDID on EFI.
9781
9782 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9783 datasize_out.
9784 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9785 modes. Set gop_handle.
9786 (grub_video_gop_get_edid): New function.
9787 (grub_gop_get_preferred_mode): Likewise.
9788 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9789 (grub_video_efi_gop_adapter): Set .get_edid.
9790 * include/grub/efi/edid.h: New file.
9791 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9792
32107ec0
VS
97932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * util/grub-install.in: Load efivars unconditionally.
9796
e70a2c50
VS
97972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * po/Rules-piglatin: Change suffix from .po-update-en to
9800 .po-update-en-piglatin.
9801
8f9cace1
VS
98022012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 Add a pig farm.
9805
9806 * po/piglatin.sed: New file.
9807 * po/en@piglatin.header: Likewise.
9808 * po/Rules-piglatin: Likewise.
9809 * po/README: Add en@piglatin to autogenerated languages.
9810
8f95d002
VS
98112012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9814 "Command for ...".
9815 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9816 "Check" since we don't check anything.
9817 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9818 is 64-bit one.
9819 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9820 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9821 (grub_md_sha512_real): Likewise.
9822
805a8dcc
VS
98232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/commands/gptsync.c: Fix typographic quoting.
9826 * grub-core/commands/ieee1275/suspend.c: Likewise.
9827 * grub-core/commands/parttool.c: Likewise.
9828 * grub-core/commands/search_wrap.c: Likewise.
9829 * grub-core/commands/videoinfo.c: Likewise.
9830 * grub-core/gfxmenu/gui_label.c: Likewise.
9831 * grub-core/hello/hello.c: Likewise.
9832 * grub-core/kern/emu/main.c: Likewise.
9833 * grub-core/net/net.c: Likewise.
9834 * grub-core/normal/menu.c: Likewise.
9835 * grub-core/normal/menu_text.c: Likewise.
9836 * grub-core/normal/misc.c: Likewise.
9837 * util/grub-editenv.c: Likewise.
9838 * util/grub-install.in: Likewise.
9839 * util/grub-kbdcomp.in: Likewise.
9840 * util/grub-mkconfig.in: Likewise.
9841 * util/grub-mknetdir.in: Likewise.
9842 * util/grub-mkrescue.in: Likewise.
9843 * util/grub-mkstandalone.in: Likewise.
9844 * util/grub-reboot.in: Likewise.
9845 * util/grub-set-default.in: Likewise.
9846 * util/grub-setup.c: Likewise.
9847 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9848
40211ab8
VS
98492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9852 * grub-core/commands/keystatus.c: Likewise.
9853 * grub-core/commands/loadenv.c: Likewise.
9854 * grub-core/commands/probe.c: Likewise.
9855 * grub-core/commands/regexp.c: Likewise.
9856 * grub-core/commands/true.c: Likewise.
9857 * grub-core/commands/videoinfo.c: Likewise.
9858 * grub-core/disk/cryptodisk.c: Likewise.
9859 * grub-core/disk/ldm.c: Likewise.
9860 * grub-core/disk/loopback.c: Likewise.
9861 * grub-core/disk/luks.c: Likewise.
9862 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9863 * grub-core/kern/disk.c: Likewise.
9864 * grub-core/kern/emu/hostdisk.c: Likewise.
9865
0c7d99c7
VS
98662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9869 * util/grub-install.in: Add missing quote in the comment.
9870
e7d2559b
VS
98712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9874 * grub-core/commands/lsmmap.c: Likewise.
9875 * grub-core/commands/minicmd.c: Likewise.
9876 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9877 * grub-core/commands/regexp.c: Likewise.
9878 * grub-core/gdb/gdb.c: Likewise.
9879 * grub-core/term/gfxterm.c: Likewise.
9880 * util/grub-mkconfig.in: Likewise.
9881 * util/grub-mkfont.c: Likewise.
9882 * util/grub-mklayout.c: Likewise.
9883 * util/grub-mknetdir.in: Likewise.
9884 * util/grub-mkrescue.in: Likewise.
9885 * util/grub.d/30_os-prober.in: Likewise.
9886
49ce9e50
VS
98872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9890 with "Direct color" and "Packed" with "Packed pixel".
9891 (grub_cmd_videoinfo): Simplify legend.
9892
e4b791fa
VS
98932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9896 absolutely unclear error message.
9897
fd1265cb
VS
98982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * util/grub-mkstandalone.in: Remove confusing leftover print.
9901
8822a8a0
VS
99022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9905 comments.
9906 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9907 (GRUB_MOD_INIT): Likewise.
9908 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9909 VGA mode.
9910 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9911 comments.
9912 * util/grub-install.in (usage): Likewise.
9913 Spell ID in whole letters.
9914 Add missing ending dot.
9915 Quote variables.
9916 * util/grub-reboot.in: Fix capitalisation.
9917 * util/grub-set-default.in: Likewise.
9918
937fd0cc
VS
99192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9922 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9923 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9924 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9925 Disable -Werror for -Wdeprecated-declarations.
9926 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9927 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9928 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9929 (grub_util_get_grub_dev): Make luks handling dependent on
9930 HAVE_DEVICE_MAPPER and not __linux__.
9931 (get_win32_path): Fix format security.
9932 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9933 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9934 Don't try grub_find_zpool_from_dir.
9935 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9936 #ifdef-out paresdir.
9937
1bab1ae3
VS
99382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * util/grub-pe2elf.c (usage): Add missing noreturn.
9941 (write_section_data): Rename name to shname to avoid shadowing.
9942 (write_symbol_table): Rename name to symname to avoid shadowing.
9943 Fix write_reloc_section call.
9944
ef023e42
VS
99452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9948 to ensure that it's after the last byte of .text.
9949
48afcb75
VS
99502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * util/ieee1275/ofpath.c (my_isdigit): New function.
9953 (trailing_digits): Use my_isdigit.
9954 (strip_trailing_digits): Likewise.
9955
88d51eff
VS
99562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9959 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9960
17edc2ba
VS
99612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/kern/i386/pc/startup.S: Define __start.
9964
ad5518d7
VS
99652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9968 strip already transforms he format.
9969
9e95e1bf
VS
99702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9973
9cc3ee5c
VS
99742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * util/grub-install.in: Add missing gettext init.
9977 * util/grub-kbdcomp.in: Likewise.
9978 * util/grub-mkconfig.in: Likewise.
9979 * util/grub-mknetdir.in: Likewise.
9980 * util/grub-mkrescue.in: Likewise.
9981 * util/grub-mkstandalone.in: Likewise.
9982 * util/grub-reboot.in: Likewise.
9983 * util/grub-set-default.in: Likewise.
9984 * util/grub.d/00_header.in: Likewise.
9985 * util/grub.d/10_hurd.in: Likewise.
9986 * util/grub.d/10_windows.in: Likewise.
9987 * util/grub.d/30_os-prober.in: Likewise.
9988 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9989
49e08a06
VS
99902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * po/Rules-swiss: Fix header comment.
9993
3809cb41
AV
99942012-02-29 Andreas Vogel <anvoit>
9995
9996 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9997 resulted in leak of arguments.
9998
fa6ec573
VS
99992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * grub-core/boot/i386/pc/startup_raw.S: Use separate
10002 reed_solomon_size const definition instead of computing it since
10003 Apple assembler doesn't support the later.
10004
22899b9c
VS
100052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * gentpl.py (kernel): Rewrite Apple part.
10008
a132afc3
VS
100092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * include/grub/kernel.h (FOR_MODULES): Check module magic.
10012
9d742bd4
VS
100132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * util/grub-mkimagexx.c (locate_sections): Support non-standard
10016 ELF section gap.
10017 (load_image): Likewise.
10018
f04a9a21
VS
100192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * configure.ac: Fix a typo in previous commit.
10022
46cf439c
VS
100232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 Don't add -Wl,-N on Apple platform.
10026
10027 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
10028 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
10029
c4c48c54
VS
100302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * grub-core/Makefile.core.def (lzma_decompress): Use
10033 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
10034
31a12124
VS
100352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * grub-core/genmod.sh.in: Rewrite the Apple part.
10038
4f3aa1af
VS
100392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10042 comparison.
10043
7bd8b0c7
VS
100442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * acinclude.m4 (grub_CHECK_PIC): New test.
10047 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10048
97304d7c
VS
100492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10052 to avoid the warning.
10053
fb883812
VS
100542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10057 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10058 after. All users updated.
10059
a121c964
VS
100602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 Use the common size routine in hostfs so we can read disks as well.
10063
10064 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10065 (grub_util_get_fd_size): ... this. Return size in bytes.
10066 All users updated.
10067 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10068 grub_util_get_fd_size.
10069
c66d6410
VS
100702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10073 Add blocksize retrieval.
10074
dfc8aeb0
VS
100752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * configure.ac: Restore CFLAGS after efiemu check.
10078
403e25a5
VS
100792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10080
10081 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10082 Apple bug.
10083
382775d1
VS
100842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10087
6fd4e6e4
VS
100882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10091 (grub_cmd_halt): Likewise.
10092
bea359d6
VS
100932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10096 for local arithmetics.
10097 Break %sp init into 2 instructions.
10098 Add 0 byte at the end.
10099
32eb6ee1
VS
101002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10103 before loops.
10104
e8377389
VS
101052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10108 for context.
10109
8cb17de7
VS
101102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * grub-core/disk/ldm.c (make_vg): Init part.name.
10113 (grub_ldm_detect): Silence spurious warning.
10114 (grub_util_is_ldm): Likewise.
10115
595717e6
VS
101162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10119 sane value to avoid a spurious warning.
10120
c4b7e588
VS
101212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10124 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10125
59824957
VS
101262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10129 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10130
70115b99
VS
101312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10132
10133 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10134 hardcoding the relevant info.
10135
56733740
VS
101362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10139 missing const qualifiers.
10140 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10141
43481481
VS
101422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10143
10144 * util/getroot.c [__APPLE__]: Add missing includes.
10145 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10146
3cb38f01
VS
101472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10150
d9dbf11e
VS
101512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10154 avoid conflicts.
10155
0c42a45d
VS
101562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10159
46c34eb0
VS
101602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10163 and grub_file_close call.
10164
99ce1597
VS
101652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 Add LZSS Mach-O support (needed for new xnu kernelcache).
10168
10169 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10170 * grub-core/loader/lzss.c: New file.
10171 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10172 on Mach-O open failure.
10173 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10174 Don't free cmdsXX in uncompressedXX is set.
10175 (grub_macho_file): Init new fields.
10176 New argument is_64bit. All users updated.
10177 Handle compressed. Error out if no suitable architecture is found.
10178 Don't close file.
10179 (grub_macho_open): New argument is_64bit. All users updated.
10180 * grub-core/loader/macho32.c: Add defines for new fields.
10181 * grub-core/loader/macho64.c: Likewise.
10182 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10183 (grub_macho_parse): Handle compressed.
10184 Defer actual processing if compressed.
10185 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10186 "filename". All users updated.
10187 (grub_macho_size): New argument "filename". All users updated.
10188 (grub_macho_get_entry_point): Likewise.
10189 (grub_macho_load): Handle compressed.
10190 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10191 (GRUB_MACHO_LZSS_OFFSET): New define.
10192 (grub_decompress_lzss): New proto.
10193 * include/grub/machoload.h (grub_macho_file): New fields to handle
10194 compressed.
10195 (grub_macho_contains_macho64): Remove proto.
10196 (grub_macho_contains_macho32): Likewise.
10197 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10198
ebd17d6f
VS
101992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10202
2702b4e4
VS
102032012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 Fix make dist.
10206
10207 * Makefile.am (starfield_theme_files): New var.
10208 (starfield_DATA): Use starfield_theme_files.
10209 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10210 Add bootcheck-related files.
10211 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10212 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10213 and font_char_metrics.txt.
10214 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10215 (setjmp): Add lib/ia64/longjmp.S.
10216 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10217 * po/POTFILES.in: Regenerate.
10218 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10219 DISTFILES.common.extra1.
10220 * util/devicemap.c: Removed.
10221 * grub-core/lib/i386/relocator_backward.S: Likewise.
10222 * util/import_gcry.py: Remove unused files. Add extra_dist for
10223 ChangeLog.
10224
cf1adfdf
VS
102252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10228 grub_gettext_delete_list before changing grub_gettext_max to avoid
10229 running out of array bounds.
10230
102312012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10232
10233 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10234 grub_vga_text_init/grub_vga_text_fini.
10235
cf1adfdf 102362012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10237
10238 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10239
541d92e9
VS
102402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * configure.ac: Bump to 2.00~beta0.
10243
7931dddf
VS
102442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10247 missing initialisation.
10248
f1b16fa3
VS
102492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10252
83ddae23
VS
102532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 Support v2 xnu boot arguments.
10256
10257 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10258 New argument fsbfreq_out.
10259 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10260 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10261 be used.
10262 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10263 darwin_version.
10264 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10265 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10266 (grub_xnu_boot_params): Rename to ...
10267 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10268 (grub_xnu_boot_params_v2): New struct.
10269
dc693fe6
VS
102702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10273 zeroing of CRC field before computing CRC.
10274
5a6e39c2
VS
102752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10278 Change order of allocations to decrease fragmentation.
10279
6c21f5d7
VS
102802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10283
cfe456dc
CW
102842012-02-27 Colin Watson <cjwatson@ubuntu.com>
10285
10286 Use write-combining MTRR to speed up video with buggy BIOSes.
10287
10288 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10289 (cpuid): New define.
10290 (rdmsr): Likewise.
10291 (wrmsr): Likewise.
10292 (mtrr_base): Likewise.
10293 (mtrr_mask): Likewise.
10294 (grub_vbe_enable_mtrr_entry): New function.
10295 (grub_vbe_enable_mtrr): Likewise.
10296 (grub_vbe_disable_mtrr): Likewise.
10297 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10298 control off to BIOS.
10299 (grub_video_vbe_init): Fill mtrr.
10300 (grub_video_vbe_fini): Disable mtrr.
10301 (grub_video_vbe_get_info_and_fini): Likewise.
10302 (grub_video_vbe_setup): Enable mtrr.
10303
e3c78337
CW
103042012-02-27 Colin Watson <cjwatson@ubuntu.com>
10305
10306 * include/grub/partition.h (grub_partition_map): Change prototype of
10307 embed to take a maximum value for nsectors.
10308 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10309 * include/grub/fs.h (grub_fs): Likewise.
10310 * grub-core/partmap/msdos.c (embed_signatures): New array.
10311 (pc_partition_map_embed): Check for and avoid sectors matching any
10312 of the signatures in embed_signatures, up to max_nsectors.
10313 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10314 returned sector map to max_nsectors.
10315 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10316 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10317 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10318 * util/grub-setup.c (setup): Allow for the embedding area being
10319 split into multiple blocklists. Tell dest_partmap->embed the
10320 maximum number of sectors we care about.
10321
103222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10325 Specify blocklist_install and reserver_first_sector for all fs.
10326 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10327 blocklists.
10328
984b973f
VS
103292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * util/grub-install.in: Clarify strings.
10332 Fix source dir check.
10333
f122e0d6
RL
103342012-02-27 Richard Laager <rlaager@wiktel.com>
10335
10336 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10337 "zfs" and "fuse.zfs" as synonyms.
10338
071114bb
VS
103392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * configure.ac: Put platform and target_cpu substitutions back since
10342 they are used for directories.
10343
817e6abc
RL
103442012-02-27 Richard Laager <rlaager@wiktel.com>
103452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10348 * util/grub.d/20_linux_xen.in: Likewise.
10349
897b7419
RL
103502012-02-27 Richard Laager <rlaager@wiktel.com>
10351
10352 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10353 with full paths.
10354
a414bd15
RL
103552012-02-27 Richard Laager <rlaager@wiktel.com>
10356
10357 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10358 unescape.
10359
30ac48c4
VS
103602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 Don't use insecure popen in getroot.
10363
10364 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10365 (exec_pipe): ... here.
10366 (find_root_devices_from_poolname): Use exec_pipe.
10367
53f13848
VS
103682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 Remove platform and target_cpu replacement.
10371
10372 * configure.ac: Remove platform and target_cpu substitutions.
10373 * tests/util/grub-shell.in: Use modinfo.
10374 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10375 explicitly.
10376
90cb2803
VS
103772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 Autodetect platform in grub-install but allow override.
10380
10381 * util/grub-install.in: Autodetect platform. Support --target and
10382 --directory. Read platform from modinfo.sh.
10383
b9136427
VS
103842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 Support btrfs multi-volume probe.
10387
10388 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10389 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10390 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10391 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10392 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10393 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10394 grub_find_root_devices_from_btrfs if on btrfs.
10395
c36e5cd1
VS
103962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 Remove any awareness of *.c util files about target.
10399
10400 * Makefile.util.def (grub-setup): Split to ...
10401 (grub-bios-setup): ... and this.
10402 (grub-sparc64-setup): ... and this.
10403 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10404 * docs/man/grub-setup.h2m: Split into ...
10405 * docs/man/grub-sparc64-setup.h2m: ... this.
10406 * docs/man/grub-bios-setup.h2m: ... and this.
10407 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10408 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10409 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10410 (grub_target_addr_t): Remove.
10411 (grub_target_size_t): Remove.
10412 (grub_target_ssize_t): Remove.
10413 * util/grub-install.in: Use new grub-*-setup.
10414 * util/grub-mkimagexx.c (Elf_Word): New define.
10415 (Elf_Half): Likewise.
10416 (Elf_Section): Likewise.
10417 (ELF_ST_TYPE): Likewise.
10418 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10419 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10420
584b2f8a
VS
104212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 Replace grub_target_addr with more appropriate types.
10424
10425 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10426 grub_target_addr with grub_addr.
10427 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10428 grub_target_addr with grub_port.
10429 (grub_cmd_write): Likewise.
10430 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10431 grub_target_addr with grub_addr.
10432 (grub_cmd_write): Likewise.
10433 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10434
5a0dc6fb
VS
104352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10438 const qualifier for vendor_guid.
10439
786aff6e
VS
104402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10443 const qualifier.
10444 (efiemu_memequal): Likewise.
10445 (find_variable): Likewise.
10446
49017b17
VS
104472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 Fix missing console prototype on qemu-mips.
10450
10451 * include/grub/mips/qemu_mips/console.h: New file.
10452
c5988629
MG
104532012-02-27 Matthew Garrett <mjg@redhat.com>
104542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10457 * include/grub/efi/efi.h: Likewise.
10458 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10459 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10460 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10461 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10462 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10463 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10464
e33f8d69
MG
104652012-02-27 Matthew Garrett <mjg@redhat.com>
10466
10467 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10468
fb312cd9
VS
104692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10472 error.
10473
7134247c
VS
104742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * configure.ac: Remove inappropriate use of program_transform_name
10477 on grubdir and bootdir but allow explicit specification of those
10478 variables.
10479
6a313124
VS
104802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * util/grub-mknetdir.in (grub_prefix): Removed.
10483 (subdir): Use @bootdirname@ and @grubdirname@.
10484
2311c5ca
VS
104852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10488
7d5d60f7
VS
104892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * po/POTFILES.in: Regenerated.
10492
8151bc82
VS
104932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 Remove improper use of program_transform_name on pkglibrootdir.
10496
10497 * configure.ac (pkglibrootdir): Removed.
10498 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10499 * util/grub-mkimage.c: Likewise.
10500
b4a6a533
VS
105012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10504 warning.
10505
668f304f
VS
105062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * util/grub-install.in: Use file identifier if no UUID is available
10509 or user explicitly prompted for it.
10510
665f2341
NP
105112012-02-27 Navdeep Parhar <nparhar@gmail.com>
10512
10513 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10514 (freebsd_get_zfs): New function.
10515 (grub_freebsd_boot): Pass zfs UUID.
10516 (grub_cmd_freebsd): Set zfs UUID.
10517
8151bc82 105182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10519
10520 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10521 pkglibrootdir.
10522
e4c498a1
MG
105232012-02-27 Mike Gilbert <floppym@gentoo.org>
10524
10525 Add configure flag to control libzfs integration.
10526
10527 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10528
1e9a9a3f
VS
105292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10532 device.
10533 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10534 small devices.
10535
036985b8
VS
105362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10539 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10540 be used on non-modules.
10541
10542 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10543 Rename to grub_boot_init.
10544 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10545 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10546 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10547 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10548 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10549 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10550 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10551 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10552 includes.
10553 (grub_machine_init): Remove empty inits.
10554 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10555 includes.
10556 (grub_machine_init): Remove empty inits.
10557 * grub-core/term/arc/console.c: Remove explicit proto.
10558 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10559 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10560 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10561 grub_at_keyboard_fini.
10562 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10563 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10564 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10565 grub_gfxterm_fini.
10566 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10567 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10568 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10569 grub_vgatext_fini.
10570 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10571 * grub-core/term/serial.c (GRUB_MOD_INIT)
10572 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10573 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10574 grub_serial_fini.
10575 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10576 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10577 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10578 grub_terminfo_fini.
10579 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10580 (GRUB_MOD_FINI): Likewise.
10581 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10582 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10583 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10584 grub_video_radeon_fuloong2e_fini.
10585 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10586 [LOONGSON]: Rename to grub_video_sis315pro_init.
10587 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10588 grub_video_sis315pro_fini.
10589 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10590 [LOONGSON]: Rename to grub_video_sm712_init.
10591 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10592 grub_video_sm712_fini.
10593 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10594 (grub_at_keyboard_fini): Likewise.
10595 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10596 Don't declare grub_{modname}_init.
10597 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10598 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10599 New proto.
10600 (grub_keylayouts_fini) [!EMU]: Likewise.
10601 * include/grub/serial.h (grub_serial_init) [!EMU]:
10602 New proto.
10603 (grub_serial_fini) [!EMU]: Likewise.
10604 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10605 New proto.
10606 (grub_terminfo_fini) [!EMU]: Likewise.
10607 * include/grub/video.h (grub_font_init) [!EMU]:
10608 New proto.
10609 (grub_font_fini) [!EMU]: Likewise.
10610 (grub_gfxterm_init) [!EMU]: Likewise.
10611 (grub_gfxterm_fini) [!EMU]: Likewise.
10612 (grub_video_sm712_init) [!EMU]: Likewise.
10613 (grub_video_sm712_fini) [!EMU]: Likewise.
10614 (grub_video_sis315pro_init) [!EMU]: Likewise.
10615 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10616 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10617 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10618
d5534665
VS
106192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 Make nand a prefix for nand devices.
10622
10623 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10624
10133b5f
VS
106252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10628 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10629
8e307a62
VS
106302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * include/grub/env.h (grub_env_find): Remove prototype.
10633 * grub-core/kern/env.c (grub_env_find): Make static.
10634 (grub_env_set): Remove useless set.
10635
a4c65f34
VS
106362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/kern/i386/realmode.S: Remove useless align.
10639
d87893d5
VS
106402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * include/grub/dl.h (grub_dl_load_file): Don't export.
10643
50159add
VS
106442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10647 grub_dprintf.
10648
b2582b84
VS
106492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10652 grub_errors.
10653 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10654 not reloading whole superblock but only the part which is really needed.
10655 Remove useless grub_errors.
10656 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10657 grub_errors.
10658
e2a83395
VS
106592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 Don't export grub_get_rtc.
10662
10663 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10664 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10665
e7d2a906
VS
106662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10669
6cf1363b
VS
106702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10673 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10674
eece3349
VS
106752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 Remove prio_list.
10678
10679 * include/grub/list.h (grub_prio_list): Removed.
10680 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10681 GRUB_COMMAND_PRIO_MASK.
10682 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10683 GRUB_COMMAND_FLAG_ACTIVE.
10684 (grub_prio_list_insert): Removed.
10685 (grub_prio_list_remove): Likewise.
10686 (GRUB_AS_PRIO_LIST): Likewise.
10687 (GRUB_AS_PRIO_LIST_P): Likewise.
10688 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10689 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10690 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10691 * grub-core/kern/command.c (grub_register_command_prio): Inline
10692 the prio_list code.
10693 (grub_unregister_command): Likewise.
10694
94f064b4
VS
106952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 Fix interrupt mixup from previous commit.
10698
10699 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10700 (grub_realidt): New var.
10701 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10702 Load idt.
10703 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10704 New declaration.
10705 (grub_relocator16_boot): Set grub_relocator16_idt.
10706 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10707 (LOCAL(realidt)): ... this.
10708 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10709 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10710 (grub_realidt): New variable.
10711
27317084
VS
107122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10715 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10716 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10717 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10718 Gettextize.
10719 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10720 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10721 * po/POTFILES.in: Regenerate.
10722
47b40053
VS
107232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10726 errors.
10727
2b343101
VS
107282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10731 \0.
10732 (add_length): Likewise.
10733
ff27c3dd
LK
107342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
107352012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10736
10737 GDB serial and backtrace support.
10738
10739 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10740 (prot_to_real): Likewise.
10741 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10742 * grub-core/Makefile.core.def (backtrace): New module.
10743 (gdb): Likewise.
10744 * grub-core/gdb/cstub.c: New file.
10745 * grub-core/gdb/gdb.c: Likewise.
10746 * grub-core/gdb/i386/idt.c: Likewise.
10747 * grub-core/gdb/i386/machdep.S: Likewise.
10748 * grub-core/gdb/i386/signal.c: Likewise.
10749 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10750 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10751 * include/grub/backtrace.h: Likewise.
10752 * include/grub/gdb.h: Likewise.
10753 * include/grub/i386/gdb.h: Likewise.
10754
107552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10756
10757 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10758 New function.
10759 (add_length): Likewise.
10760 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10761 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10762 proto.
10763 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10764 __argp_get_display_len.
10765
ff27c3dd 107662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10767
10768 $"..." support in scripts.
10769
10770 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10771 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10772 * grub-core/script/yylex.l: Likewise.
10773 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10774 value.
10775
ff27c3dd 107762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10777
10778 * gentpl.py: Remove obsolete pkglib_DATA handling.
10779
ff27c3dd 107802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10781
10782 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10783 mailing list.
10784
10785 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10786 * util/grub-kbdcomp.in: Likewise.
10787 * util/grub-mkconfig.in: Likewise.
10788 * util/grub-mkconfig_lib.in: Likewise.
10789 * util/grub-mknetdir.in: Likewise.
10790 * util/grub-mkrescue.in: Likewise.
10791 * util/grub-mkstandalone.in: Likewise.
10792 * util/grub-reboot.in: Likewise.
10793 * util/grub-set-default.in: Likewise.
10794 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10795
ff27c3dd 107962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10797
10798 Remove GRUB_PREFIX.
10799
10800 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10801 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10802 used for backward compatibility.
10803
ff27c3dd 108042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10805
10806 Add new all_video module.
10807
10808 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10809 * grub-core/Makefile.core.def (all_video): New module.
10810 * grub-core/genmoddep.awk: Generate dependency of all_video from
10811 video.lst.
10812 * grub-core/lib/fake_module.c: New file.
10813 * grub-core/normal/main.c (features): Add feature_all_video_module.
10814 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10815 don't do explicit search again.
47454da5 10816 insmod all_video in load_video if available.
22c7ce85 10817
ff27c3dd 108182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10819
10820 Another round of string clarification and adding TRANSLATORS comments.
10821
ff27c3dd 108222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10823
10824 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10825
ff27c3dd 108262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10827
10828 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10829 to grub_ssize_t.
10830 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10831 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10832
ff27c3dd 108332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10834
10835 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10836 trailing newline implicitly. All users updated.
10837
ff27c3dd 108382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10839
10840 Implement serial on IEEE1275 and EFI.
10841
10842 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10843 on emu. Mention arc and emu as the only platforms without serial
10844 support.
10845 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10846 ieee1275 platforms.
10847 * grub-core/term/efi/serial.c: New file.
10848 * grub-core/term/ieee1275/serial.c: Likewise.
10849 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10850 specification if no ns8250 driver is available.
10851 (grub_cmd_serial): Likewise.
10852 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10853 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10854 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10855 (grub_efi_parity_type_t): New type.
10856 (grub_efi_stop_bits_t): Likewise.
10857 (grub_efi_serial_io_interface): New struct.
10858 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10859 available for all interfaces.
10860 Add EFI and IEEE1275 fields.
10861 (grub_ofserial_init): New proto.
10862 (grub_efiserial_init): Likeiwse.
10863 * util/grub.d/00_header.in: Don't check for the presence of serial
10864 module.
10865
ff27c3dd 108662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10867
10868 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10869 name as if it was an alias.
10870
114076ef
VS
108712012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * grub-core/commands/lsacpi.c (options): Fix typo.
10874
6a656b0e
VS
108752012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 Convert grub-emu to argp.
10878
10879 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10880 emu.
10881 * util/argp_common.c: Rename to ...
10882 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10883 Add missing includes.
10884 * grub-core/kern/emu/main.c: Convert to argp.
10885 * po/POTFILES.in: Regenerate.
10886 * util/grub-install.in (usage): Make first letter lowcase in messages
10887 for uniformity.
10888 * util/grub-setup.c (options): Likewise.
10889
1e3f8ae8
VS
108902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10893 Put back accidently commented-out code.
10894
ed167a80
VS
108952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10898 loop check using Brent algorithm.
10899 (grub_hfsplus_btree_search): Likewise.
10900
6753c0ec
VS
109012012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * util/grub-install.in: Fix usage of wrong device for PreP install.
10904
4e27343f
VS
109052012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * conf/Makefile.common (CFLAGS_GNULIB): Add
10908 -Wno-unsafe-loop-optimizations.
10909 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10910 on tools.
10911 * grub-core/commands/legacycfg.c: Add pragma to skip
10912 -Wunsafe-loop-optimizations.
10913 (check_password_md5_real): Fix loop counter type.
10914 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10915 reading.
10916 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10917 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10918 loop condition.
10919 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10920 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10921 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10922 condition.
10923 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10924 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10925 avoid possible infinite loops.
10926 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10927 and -Wunsafe-loop-optimizations.
10928 * grub-core/script/yylex.l: Likewise.
10929 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10930 (print_glyphs): Avoid infinite loops.
10931 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10932
697f18b0
GS
109332012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10934
10935 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10936 to avoid infinite loop.
10937 (disp_acpi_rsdt_table): Likewise.
10938
274416e8
VS
109392012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * grub-core/font/font.c (grub_font_load): Add support for default
10942 path for fonts ($prefix/fonts).
10943 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10944 for checking if string is a path.
10945 * grub-core/normal/main.c (features): Add feature_default_font_path.
10946 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10947 * util/grub.d/00_header.in: Use default directory if possible.
10948 * util/grub-install.in: Install unicode.pf2.
10949
b3e08622
VS
109502012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10953 * po/Rules-swiss: New file.
10954 * po/swiss.sed: Likewise.
10955
fe42ce09
VS
109562012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * grub-core/fs/btrfs.c (find_device): Fix typos.
10959 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10960 * util/grub-mkrelpath.c (argp_parser): Likewise.
10961 Reported by: Yuri Chornoivan.
10962
72f1d065
DO
109632012-02-23 Dalet Omega <daletomega@gmail.com>
10964
10965 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10966 for usual informative messages.
10967
c5884973
DO
109682012-02-23 Dalet Omega <daletomega@gmail.com>
10969
10970 Starfield theme.
10971
10972 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10973 * conf/Makefile.common: Define starfielddir.
10974 * configure.ac: Configure starfield.
10975 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10976 * themes/starfield/README: Likewise.
10977 * themes/starfield/blob_w.png: Likewise.
10978 * themes/starfield/boot_menu_c.png: Likewise.
10979 * themes/starfield/boot_menu_e.png: Likewise.
10980 * themes/starfield/boot_menu_n.png: Likewise.
10981 * themes/starfield/boot_menu_ne.png: Likewise.
10982 * themes/starfield/boot_menu_nw.png: Likewise.
10983 * themes/starfield/boot_menu_s.png: Likewise.
10984 * themes/starfield/boot_menu_se.png: Likewise.
10985 * themes/starfield/boot_menu_sw.png: Likewise.
10986 * themes/starfield/boot_menu_w.png: Likewise.
10987 * themes/starfield/slider_c.png: Likewise.
10988 * themes/starfield/slider_n.png: Likewise.
10989 * themes/starfield/slider_s.png: Likewise.
10990 * themes/starfield/src/blob_nw.xcf: Likewise.
10991 * themes/starfield/src/bootmenu/: Likewise.
10992 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10993 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10994 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10995 * themes/starfield/src/slider_c.xcf: Likewise.
10996 * themes/starfield/src/slider_n.xcf: Likewise.
10997 * themes/starfield/src/slider_s.xcf: Likewise.
10998 * themes/starfield/src/terminalbox/: Likewise.
10999 * themes/starfield/src/terminalbox/center.xcf: Likewise.
11000 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
11001 * themes/starfield/src/terminalbox/side.xcf: Likewise.
11002 * themes/starfield/starfield.png: Likewise.
11003 * themes/starfield/terminal_box_c.png: Likewise.
11004 * themes/starfield/terminal_box_e.png: Likewise.
11005 * themes/starfield/terminal_box_n.png: Likewise.
11006 * themes/starfield/terminal_box_ne.png: Likewise.
11007 * themes/starfield/terminal_box_nw.png: Likewise.
11008 * themes/starfield/terminal_box_s.png: Likewise.
11009 * themes/starfield/terminal_box_se.png: Likewise.
11010 * themes/starfield/terminal_box_sw.png: Likewise.
11011 * themes/starfield/terminal_box_w.png: Likewise.
11012 * themes/starfield/theme.txt: Likewise.
11013
17d73325
VS
110142012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * util/grub.d/00_header.in: Add missing export theme.
11017
dbebaf92
VS
110182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
11021 already included.
11022 Reported by: Eren D.
11023
3d68bffb
VS
110242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * conf/Makefile.common (grubdatadir): Removed.
11027 (Makefile.am): Move eveything grubdata to pkgdata.
11028
4b59234d
VS
110292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/commands/acpihalt.c (get_sleep_type):
11032 Remove unused variable.
11033
463dcadc
VS
110342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
11037 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11038 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11039 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11040 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11041 i18n with gettext no-op.
11042 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11043 GRUB_ACPI_OPCODE_STRING_CONST.
11044 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11045 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11046
e5b90c82
VS
110472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * po/POTFILES.in: Regenerate.
11050
2a704ca9
VS
110512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11054 -Wno-error=missing-noreturn.
11055
84f9d341
VS
110562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11059 condition to avoid possibly infinite loops.
11060 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11061 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11062
d46683f9
VS
110632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11066 condition to avoid possibly infinite loops.
11067
c44866b2
VS
110682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11071 on show_error.
11072
96790539
VS
110732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11076
1ba7e295
VS
110772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11080
21ffe8f1
VS
110812012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * util/bin2h.c (usage): Add missing attribute noreturn.
11084
0ccb6b3c
VS
110852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11088 if the size isn't divisible by 512.
11089
b00d7fb6
VS
110902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 Make list_push and list_remove functions rather than inline functions
11093 to decrease size and avoid aliasing violations.
11094
11095 * include/grub/list.h (grub_list_push): Move to ...
11096 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11097 * include/grub/list.h (grub_list_remove): Move to ...
11098 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11099
9d369087
VS
111002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11103 and -Wunused-result.
11104
af0250d9
VS
111052012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11108 Reported by: Seth Goldberg
11109
aad32b14
VS
111102012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11113
ac96441c
ST
111142012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11115
11116 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11117 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11118 command line.
11119 * docs/grub.texi (Simple configuration): Document
11120 GRUB_CMDLINE_GNUMACH.
11121
111222012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
11123
11124 * conf/Makefile.common (platform_SCRIPTS): New variable.
11125 (platform_PROGRAMS): Likewise.
11126 * gentpl.py: Mark *,module and *.image for install.
11127 * grub-core/gdb_grub.in: Add a notice of expected environment.
11128 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11129 (gmodule.pl): Likewise.
11130
ac96441c 111312012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
11132
11133 Replace grub_checkkey with grub_getkey_noblock.
11134
11135 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11136 (grub_getkey_noblock): ... this. All users updated.
11137
ac96441c 111382012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
11139
11140 * grub-core/kern/emu/console.c: Move to ...
11141 * grub-core/term/emu/console.c: ...here.
11142 (grub_ncurses_getkey): Fix return value if no key is detected.
11143
e51b5666
VS
111442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11147 (grub_unit_test_fini): Likewise.
11148 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11149
111502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * include/grub/test.h (GRUB_UNIT_TEST)
11153
d9a62292
VS
111542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11157 Better error handling.
11158 (grub_script_return): Likewise.
11159 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11160
77c9182f
VS
111612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11164 rimplicit redifinition.
11165
edb13cf9
VS
111662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11169 GRUB.
11170
a9e9dc7c
VS
111712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11174 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11175 prompt here.
11176
b4ba8e02
VS
111772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11180 as GRUB_ERR_BUG. Don't malloc if no device is available.
11181
dded5540
VS
111822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11185 Mark calling with invalid term as GRUB_ERR_BUG.
11186
0cf69874
VS
111872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11190 packets rather than raising an error.
11191
59bfe502
VS
111922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11195 in if.
11196
db5fc596
VS
111972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11200 diagnostic to dprintf.
11201 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11202
e4b7f404
VS
112032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11206 device name.
11207
e7b02f9e
VS
112082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11211 (grub_ntfs_iterate_dir): Likewise.
11212
0331e102
VS
112132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 Efiemu stylistic fixes and gettext.
11216
11217 * grub-core/efiemu/i386/loadcore32.c
11218 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11219 * grub-core/efiemu/i386/loadcore64.c
11220 (grub_arch_efiemu_relocate_symbols64): Likewise.
11221 * grub-core/efiemu/i386/pc/cfgtables.c
11222 (grub_machine_efiemu_init_tables): Likewise.
11223 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11224 (grub_efiemu_loadcore_initXX): Add a filename argument.
11225 All users updated.
11226 Improved error message.
11227 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11228 Add a filename argument.
11229 All users updated.
11230 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11231 Reclassify double relocation as GRUB_ERR_BUG.
11232
306fc074
VS
112332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11236 handling.
11237
794d8ef2
VS
112382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11241 on partition.
11242
112432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11244
11245 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11246
794d8ef2 112472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11248
11249 Improve string. Gettextize.
11250
78dde88e
VS
112512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11254 utils.
11255 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11256
4786a90f
VS
112572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11260 [GRUB_UTIL]: New function.
11261 (insert_array) [GRUB_UTIL]: Store partmaps.
11262 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11263 partmaps.
11264 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11265 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11266 (probe_abstraction): Print diskfilter and not raid.
11267 Reported by: Lennart Sorensen
11268
0b6225bd
VS
112692012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11272 * util/grub-mkimagexx.c (MASK3): New define.
11273 (add_value_to_slot_20b): Use MASK3.
11274 (add_value_to_slot_21): Likewise.
11275 (relocate_addresses): Fix format specification.
11276 (load_image): Explicitly init symtab_section.
11277
b055f8f6
VS
112782012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11281 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11282
b77c2fb7
VS
112832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11286 on powerpc.
11287 Reported by: Lennart Sorensen
11288
e3ec28ab
VS
112892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * gentpl.py: Add missing license header.
11292 * docs/grub.texi: Update copyright year.
11293
c8d9ead6
GS
112942012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11295
11296 Source grub-mkconfig_lib from the build directory at build time.
11297 Suggested by: Vladimir Serbinenko.
11298
11299 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11300 * util/grub-install.in: Define pkgdatadir if not already set, and source
11301 grub-mkconfig_lib from there.
11302 * util/grub-kbdcomp.in: Likewise.
11303 * util/grub-mkconfig.in: Likewise.
11304 * util/grub-mknetdir.in: Likewise.
11305 * util/grub-mkrescue.in: Likewise.
11306 * util/grub-mkstandalone.in: Likewise.
11307 * util/grub-reboot.in: Likewise.
11308 * util/grub-set-default.in: Likewise.
11309 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11310
ebcecdf1
VS
113112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 Increase warning level.
11314
11315 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11316 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11317 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11318 (TARGET_CFLAGS): Likewise.
11319 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11320 * grub-core/Makefile.core.def (decompressor_xz): Add
11321 -Wno-unreachable-code.
11322 (normal): Add -Wno-redundant-decls.
11323 (xzio): Add -Wno-unreachable-code.
11324 (lzopio): Add -Wno-redundant-decls -Wno-error.
11325 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11326 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11327 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11328 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11329 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11330 * grub-core/kern/i386/coreboot/init.c: Add exception to
11331 -Wsuggest-attribute=noreturn.
11332 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11333 * grub-core/kern/ia64/dl_helper.c: Likewise.
11334 * grub-core/kern/mips/dl.c: Likewise.
11335 * grub-core/kern/sparc64/dl.c: Likewise.
11336 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11337 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11338 (memcmp): Likewise.
11339 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11340 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11341 * grub-core/loader/mips/linux.c: Likewise.
11342 * grub-core/loader/multiboot_elfxx.c: Likewise.
11343 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11344 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11345 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11346 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11347 fixme.
11348 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11349 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11350 Fix prototype.
11351
37bb97fe
VS
113522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11355 address.
11356
29a3550b
VS
113572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11360 Avoid improper use of strings.
11361 (grub_cmd_legacy_initrdnounzip): Likewise.
11362
dfdffd0d
VS
113632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11366 attribute.
11367 (grub_util_info): Likewise.
11368 (grub_util_error): Likewise.
11369
102fae4a
VS
113702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11373 * util/grub-fstest.c (fstest): Likewise.
11374
7e94d044
VS
113752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11378 (grub_md_sha512_real): Likewise.
11379 (grub_util_get_geli_uuid): Likewise.
11380 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11381 (grub_util_biosdisk_open): Fix format specification.
11382 Respect format security.
11383 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11384 (xrealloc): Likewise.
11385 (xasprintf): Likewise.
11386
5ebd9769
VS
113872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * util/import_gcry.py: Include grub/crypto.h in init.c.
11390
495fc8c1
VS
113912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11394 (generate_image): Make prefix a const char *.
11395 Fix format specifications. Respect format security.
11396 Avoid void * arithmetics.
11397 Avoid shadowing.
11398 (argp_parser): Remove unused variable. Respect format security.
11399 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11400 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11401 (count_funcs): Remove unused variable.
11402 (relocate_addresses): Fix format specification.
11403 Disable x86-64 with elf32. Remove unused variables.
11404 (add_fixup_entry): Avoid shadowing.
11405 (make_reloc_section): Fix format specification.
11406 Use assert.
11407 (locate_sections): Fix format specifications.
11408 (load_image): Avoid shadowing.
11409
043c2ea3
VS
114102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11413 Fix format specifications. Respect format security.
11414 Don't translate already translated grub_errmsg.
11415 (argp_parser): Remove unused variable
11416
3ec65a81
VS
114172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11420
a4d9fe4a
VS
114212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11424 (main): Likewise. Use xmalloc. Respect format security.
11425
15b81d49
VS
114262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11429 a const char *.
11430 (argp_parser): Remove unused variable.
11431
31731fc0
VS
114322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11435 (add_pixel): Make static.
11436 (add_font): Likewise.
11437 (write_string_section): Make name and str a const char *.
11438 (write_be16_section): Make name a const char *.
11439 (print_glyphs): Make static.
11440 (write_font_ascii_bitmap): Likewise.
11441 (write_font_width_spec): Likewise.
11442 (write_font_pf2): Likewise.
11443 (argp_parser): Remove unused variable.
11444 Respect format security.
11445 (main): Avoid shadowing. Respect format security.
11446
0809527b
VS
114472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * util/grub-editenv.c (argp_parser): Make static.
11450 (create_envblk_file): Use xmalloc.
11451 (open_envblk_file): Likewise.
11452 Resepect format security.
11453 (set_variables): Respect format security.
11454
45b0c8b7
VS
114552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * util/getroot.c (grub_find_device): Respect format security.
11458 (get_mdadm_uuid): Remove unused variable.
11459 (grub_util_pull_device): Dont call gettext on already translated
11460 grub_errmsg.
11461 (find_system_device): Remove unused variable.
11462 (grub_util_get_grub_dev): Likewise.
11463 (grub_make_system_path_relative_to_its_root): Respect format security.
11464
1b024b4e
VS
114652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 * util/grub-fstest.c (execute_command): Make first argument
11468 a const char *.
11469 (read_file): Avoid shadowing.
11470 Reuse underlying error message if device open fails.
11471 (cmd_cmp): Respect format security.
11472 (root): Make const char *.
11473 (fstest): Remove args argument and use global copy.
11474 Respect format security.
11475 (argp_parser): Make static.
11476 (main): Make default_root const char *.
11477
5d1d4e28
VS
114782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 * util/grub-mount.c (root): Make const char *.
11481 (execute_command): Make first argument a const char *.
11482 (fuse_init): Respect format security.
11483 (argp_parser): Make static. Remove unused variable.
11484 (main): Make default_root a const char *.
11485 Respect format security.
11486
36eb7379
VS
114872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * util/grub-probe.c (probe): Don't call gettext on already translated
11490 grub_errmsg.
11491 Remove unused variables.
11492 (argp_parser): Remove unused variable.
11493
76fb2ea9
VS
114942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * util/grub-script-check.c (argp_parser): Remove unused variable.
11497 (main): Rename read to curread to avoid shadowing.
11498
56c98584
VS
114992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * util/misc.c (grub_util_write_image_at): Fix format specification.
11502 (grub_util_write_image): Likewise.
11503 (grub_script_execute_argument_to_string): Removed (unused).
11504 (grub_script_execute_menuentry): Likewise.
11505 (grub_putchar): Likewise.
11506
164ebb48
VS
115072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11510 (FUNCTION) [GRUB_UTIL]: Likewise.
11511 (VARIABLE) [GRUB_UTIL]: Likewise.
11512
44318d61
VS
115132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11516 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11517
31a26002
VS
115182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11521 buffer.
11522
115232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11526 (LzmaEnc_SaveState): Removed (unused).
11527 (LzmaEnc_RestoreState): Likewise.
11528 (LzmaEnc_InitPriceTables): Made static.
11529 (LzmaEnc_Construct): Likewise.
11530 (LzmaEnc_FreeLits): Likewise.
11531 (LzmaEnc_Destruct): Likewise.
11532 (LzmaEnc_Init): Likewise.
11533 (LzmaEnc_InitPrices): Likewise.
11534 (LzmaEnc_Finish): Likewise.
11535 (LzmaEnc_PrepareForLzma2): Removed (unused).
11536 (LzmaEnc_MemPrepare): Likewise.
11537 (LzmaEnc_GetNumAvailableBytes): Likewise.
11538 (LzmaEnc_GetCurBuf): Likewise.
11539 (LzmaEnc_CodeOneMemBlock): Likewise.
11540
6fa67967
VS
115412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11544 (grub_util_ldm_embed): Likewise.
11545
9a7428e6
VS
115462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * util/grub-editenv.c (print_var): Rename name to varname to
11549 avoid shadowing.
11550 (main): Rename index to curindex to avoid shadowing.
31a26002 11551 Make filename a const char *.
9a7428e6 11552
4f96abd1
VS
115532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11556 to arg_getline to avoid shadowing.
11557
44d10dad
VS
115582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11561 disk_ to avoid shadowing.
11562
340ba63e
VS
115632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11566 curindex to avoid shadowing.
11567 Make static.
11568 (MatchFinder_GetNumAvailableBytes): Make static.
11569
22965bce
VS
115702012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11573 avoid shadowing.
11574
7b5784d4
VS
115752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11578 argument from encrypt to do_encrypt to avoid shadowing.
11579
6f48ca01
VS
115802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11583 incorrect nesting of #if's.
11584
a4ea2dff
VS
115852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11588 checks which are always false on some platforms.
11589 (grub_cmd_lsacpi): Likewise.
11590 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11591 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11592 Likewise.
11593
def9fc1b
VS
115942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11597 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11598
a67b2a04
VS
115992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11602 re_dfa_t to avoid breaking alignment invariants.
11603 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11604 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11605
44c6828d
VS
116062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11609 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11610
bebe0dd0
VS
116112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11614 Fix declaration.
11615
a9cdb3cf
VS
116162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11619 conserve alignment invariants.
11620 (grub_ehci_ehcc_read16): Likewise.
11621 (grub_ehci_oper_read32): Likewise.
11622 (grub_ehci_oper_write32): Likewise.
11623 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11624 Conserve alignment invariants.
11625
ccc3b1b8
VS
116262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11629 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11630 declarations.
11631
987fbd95
VS
116322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11635 Remove unused variable.
11636
0df363f3
VS
116372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11640 Remove set in if.
11641
b2c0c4a6
VS
116422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11643
11644 * include/grub/net.h: Remove double declarations.
11645
690c531f
VS
116462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 Remove "payload" command in ia64 Linux loader since I couldn't
11649 find any evidence of it being used for anything.
11650 Replace "relocate" command with an environment variable
11651
11652 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11653 fields.
11654 (ia64_boot_payload): Removed.
11655 (last_payload): Likewise.
11656 (RELOCATE_OFF): Likewise.
11657 (RELOCATE_ON): Likewise.
11658 (RELOCATE_FORCE): Likewise.
11659 (relocate): Likewise.
11660 (free_pages): Don't free payloads.
11661 (grub_load_elf64): Use common error messages.
11662 Use "linux_relocate" variable.
11663 Increase the space after boot_params.
11664 (grub_cmd_payload): Removed.
11665 (grub_cmd_relocate): Likewise.
11666 (grub_cmd_fpswa): Improve messages.
11667 (cmd_payload): Removed.
11668 (cmd_relocate): Likewise.
11669 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11670 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11671
01783768
VS
116722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 Convert UHCI to DMA framework.
11675
11676 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11677 (grub_uhci_pci_iter): Fill new members
11678 (grub_alloc_td): Use P2V and V2P functions.
11679 (grub_free_queue): Likewise.
11680 (grub_alloc_qh): Likewise.
11681 (grub_uhci_setup_transfer): Likewise.
11682 (grub_uhci_check_transfer): Likewise.
11683
43206939
VS
116842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11687 Remove assignment in if while on it.
11688
571e140e
VS
116892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 * util/grub-mkstandalone.in: Fix modules directory.
11692
a9d96eeb
VS
116932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11696 on i386-pc target.
11697 (argp_parser): Accept "auto" as compression specification.
11698
e4e37e8d
VS
116992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 Fix `help' with unloaded modules.
11702
11703 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11704 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11705 (grub_dyncmd_dispatcher): Small stylistic fix.
11706 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11707 explicit help is requested.
11708
e1ea3ade
VS
117092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11712 Explicitly init restart while on it.
11713
27556881
VS
117142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11717 uninited variable.
11718
d65f6b36
VS
117192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * util/grub-mknetdir.in: Use . rather than source for POSIX
11722 compatibility.
11723
0a1e473c
VS
117242012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11727
ce6647c8
VS
117282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11731 variable.
11732
66747894
VS
117332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11736 without quotes.
11737
71645f6e
VS
117382012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11739
11740 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11741
0e1c1f61
VS
117422012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11745 iteration of partitions.
11746
9c4b5c13
VS
117472012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 Improve gettext support. Stylistic fixes and error handling fixes while
11750 on it.
11751
215c90cb
VS
117522012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11755 part. Instead setup the correct stack in RM.
11756 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11757 for stack.
11758 * include/grub/i386/relocator_private.h: New file.
11759
b5c1f9bf
VS
117602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11763 argument.
11764 * util/grub-fstest.c (options): Add missing DEVICE part.
11765
b525fd83
VS
117662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 Clarify and unify messages.
11769
11770 * grub-core/commands/hashsum.c (options): Unify messages.
11771 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11772 literal-only message as translatable.
11773 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11774 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11775 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11776 commands.
11777 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11778 key, not the key used to unlock. Clarify what it's used for.
11779 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11780 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11781 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11782 * util/grub-editenv.c (options): Unify "verbose" message.
11783 * util/grub-fstest.c (read_file): Unify error message.
11784 (fstest): Add quotes around commands.
11785 (options): Unify "verbose" message.
11786 * util/grub-install.in: Add quotes around variable name.
11787 * util/grub-kbdcomp.in: Unify error message.
11788 * util/grub-mkfont.c (main): Likewise.
11789 * util/grub-mkrescue.in: Likewise.
11790 * util/grub-mklayout.c (options): Unify "verbose" message.
11791 * util/grub-mkstandalone.in: Unify help and verbose messages.
11792 * util/grub-mount.c (options): Unify "verbose" message.
11793 * util/grub-probe.c (options): Likewise.
11794 * util/grub-script-check.c (options): Likewise.
11795 * util/grub-setup.c (setup): Unify no-terminator message.
11796 (options): Use DEVICE and not DEV.
11797 Unify "verbose" message.
11798 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11799
0ae70393
VS
118002012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 Improve and unify messages.
11803
11804 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11805 name. All users updated.
11806 Print filename in error.
11807 (read_device_map): Print filename in error.
11808 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11809 (grub_util_get_os_disk): Likewise.
11810 (grub_util_biosdisk_get_grub_dev): Likewise.
11811 (grub_util_check_block_device): Likewise.
11812 (grub_util_check_char_device): Likewise.
11813 (grub_make_system_path_relative_to_its_root): Likewise.
11814 * util/grub-editenv.c (create_envblk_file): Likewise.
11815 (open_envblk_file): Likewise.
11816 (write_envblk): Likewise.
11817 * util/grub-fstest.c (cmd_cp): Likewise.
11818 (cmd_cat): Likewise.
11819 (cmd_cmp): Likewise.
11820 * util/grub-menulst2cfg.c (main): Likewise.
11821 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11822 (write_font_width_spec): Likewise.
11823 (write_font_pf2): Likewise.
11824 * util/grub-mkimage.c (generate_image): New argument outname.
11825 All users updated.
11826 Remove unreacheable message.
11827 (options): Unify messages.
11828 (help_filter): Likewise.
11829 * util/grub-mklayout.c (usage): Removed (unused).
11830 (main): Print filename in error.
11831 * util/grub-mkrescue.in: Fix wrong quoting.
11832 * util/grub-setup.c (setup): Print filename in error.
11833 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11834 (check_sas): Likewise.
11835 * util/misc.c (grub_util_get_fp_size): Removed.
11836 (grub_util_get_image_size): Print filename in error.
11837 (grub_util_read_at): Removed.
11838 (grub_util_read_image): Print filename in error.
11839 (grub_util_load_image): Likewise.
11840 (grub_util_write_image_at): New argument filename. All users updated.
11841 Print filename in error.
11842 (grub_util_write_image): New argument filename. All users updated.
11843 Print filename in error.
11844 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11845 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11846
0a96117d
VS
118472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/Makefile.core.def (pxechain): New module.
11850 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11851 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11852 function.
11853 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11854 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11855
aca002f7
VS
118562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11859 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11860 * include/grub/err.h (grub_error_saved): New struct.
11861 (grub_errmsg): Make array size explicit.
11862 * include/grub/misc.h (grub_error_save): New function.
11863 (grub_error_load): Likewise.
11864 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11865 (grub_error_push): Update `errno' member name.
11866 (grub_error_pop): Likewise
11867 * grub-core/net/tftp.c (tftp_data): New member save_err.
11868 (tftp_receive): Save error.
11869 (tftp_open): Restore error.
11870
a51dab13
VS
118712012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11874 to real mode down to execute A20-related code in protected mode as
11875 intended.
11876
eb6e6649
GS
118772012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11878
11879 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11880 NULL when the argument `level' has an unexpected value.
11881
92cd0f6e
VS
118822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 Move platform-dependent files from $prefix to $prefix/$platform.
11885
11886 * config.h.in (GRUB_TARGET_CPU): New definition.
11887 (GRUB_PLATFORM): Likewise.
11888 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11889 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11890 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11891 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11892 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11893 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11894 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11895 * grub-core/normal/term.c (read_terminal_list): Likewise.
11896 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11897 $prefix/locale.
11898 (grub_gettext_init_ext): Likewise.
11899 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11900 grub_platform.
11901 * util/grub-install.in: Update directories.
11902 * util/grub-mknetdir.in: Likewise.
11903 * util/grub-mkrescue.in: Likewise.
11904
db606889
VS
119052012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11908 grub_error framework. All users updated.
11909
c39992a4
VS
119102012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11913 lists (by always binsearching), improve caching (cache strings
11914 used for binsearch, not only results), improve
11915 maintainability (by using more structured binary search) and correct
11916 error handling.
11917
1e5ec32f
VS
119182012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * grub-core/script/execute.c (grub_script_return): Fix warning.
11921
ac576cde
VS
119222012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * grub-core/script/execute.c (grub_script_return): Fix potential
11925 NULL-dereference.
11926 Reported by: Jim Meyering.
11927
498453f6
VS
119282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 * po/POTFILES.in: Regenerate.
11931 * util/grub-install.in: Gettextize the strings missed in first pass.
11932
8be63f2e
VS
119332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * Makefile.util.def (grub-mkdevicemap): Removed.
11936 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11937 * include/grub/util/deviceiter.h: Removed.
11938 * util/deviceiter.c: Likewise.
11939 * util/getroot.c (grub_util_get_os_disk): New function.
11940 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11941 replacement for EFI.
11942 * util/grub-mkdevicemap.c: Removed.
11943 * util/grub-probe.c (probe): Handle PRINT_DISK.
11944 (argp_parser): Handle -t disk.
11945
8e1e4e39
VS
119462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * util/grub-mkfont.c: Migrate to argp.
11949 * util/grub-mklayout.c: Likewise.
11950 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11951 * util/grub-mkrelpath.c: Likewise.
11952 * util/grub-probe.c: Likewise.
11953 * util/grub-script-check.c: Likewise.
11954
4459819a
VS
119552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * util/grub-reboot.in: Add missing datarootdir.
11958 Add missing newline.
11959 * util/grub-set-default.in: Add missing datarootdir.
11960 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11961 * util/grub-mkrescue.in: Likewise.
11962
f65741c7
VS
119632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11966
c1a33466
VS
119672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * util/grub-kbdcomp.in: Add decent help and gettextize.
11970 * docs/man/grub-kbdcomp.h2m: New file.
11971
c76899a0
VS
119722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 Migrate grub-mkimage.c to argp.
11975
11976 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11977 (grub-setup): Likewise.
11978 * util/grub-setup.c (print_version): Move to ...
11979 * util/argp_common.c (print_version): ... here.
11980 * util/grub-setup.c (argp_program_version_hook): Move to ...
11981 * util/argp_common.c (argp_program_version_hook): ... here.
11982 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11983 safety.
11984 * util/grub-mkimage.c (main): Migrate to argp.
11985
57db0757
VS
119862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * util/grub-mkrescue.in: Use same message as
11989 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11990 for better translations.
11991
18534ad9
VS
119922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11995 options with generic grub-mkrescue.in with the goal of future
11996 merge.
11997
c84ba308
VS
119982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/kern/mm.c: Add missing include of i18n.h
12001 * grub-core/lib/relocator.c: Likewise.
12002
347998c2
VS
120032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
12006 error.
12007 (allocate_pages): Check return value.
12008 Replace fatal with error.
12009 (grub_linux_boot): Replace printf with dprintf.
12010 Check find_mmap_size return value.
12011 Replace fatal with error.
12012 Don't call grub_machine_fini.
12013 (grub_load_elf64): Replace printf with dprintf.
12014 (grub_cmd_linux): Likewise.
12015 (grub_cmd_initrd): Likewise.
12016 (grub_cmd_payload): Likewise.
12017
c779226e
VS
120182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
12021 message.
12022 * grub-core/video/radeon_fuloong2e.c
12023 (grub_video_radeon_fuloong2e_setup): Likewise.
12024 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
12025 * grub-core/video/video.c (grub_video_set_mode): Don't override
12026 standard out of memory message.
12027
dc87d45a
GS
120282012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12029
12030 NetBSD disk wedge support.
12031
12032 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
12033 [__NetBSD__]: Handle NetBSD disk wedges.
12034 * util/getroot.c (convert_system_partition_to_system_disk)
12035 [__NetBSD__]: Likewise.
12036
055f856f
MW
120372012-02-03 Mark Wooding <mdw@distorted.org.uk>
12038
12039 * util/grub-mkconfig.in: Use umask rather than chmod to create
12040 grub.cfg.new to avoid insecure grub.cfg.
12041
4a9f8346
VS
120422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/commands/ls.c: Gettextize.
12045 * grub-core/commands/setpci.c: Likewise.
12046 * grub-core/commands/videotest.c: Likewise.
12047 * grub-core/disk/geli.c: Likewise.
12048 * grub-core/kern/mm.c: Likewise.
12049 * grub-core/lib/relocator.c: Likewise.
12050 * grub-core/loader/efi/appleloader.c: Likewise.
12051 * grub-core/loader/i386/xnu.c: Likewise.
12052 * grub-core/loader/ia64/efi/linux.c: Likewise.
12053 * grub-core/loader/xnu.c: Likewise.
12054 * grub-core/net/dns.c: Likewise.
12055 * grub-core/net/net.c: Likewise.
12056 * grub-core/script/lexer.c: Likewise.
12057 * grub-core/script/parser.y: Likewise.
12058 * grub-core/script/yylex.l: Likewise.
12059 * util/getroot.c: Likewise.
12060 * util/grub-setup.c: Likewise.
12061
a646a366
VS
120622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12065 number.
12066
54e2be26
VS
120672012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12070
f7c71e68
VS
120712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12074 macro.
12075 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12076 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12077
a32d5c71
VS
120782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12081 * util/grub-install.in: Gettextize.
12082 * util/grub-mkconfig.in: Likewise.
12083 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12084 if not available.
12085 (grub_warn): Gettextize.
12086 * util/grub-mknetdir.in: Gettextize.
12087 * util/grub-mkrescue.in: Likewise.
12088 * util/grub-mkstandalone.in: Likewise.
12089 * util/grub-reboot.in: Likewise.
12090 * util/grub-set-default.in: Likewise.
12091 * util/grub.d/00_header.in: Likewise.
12092 * util/grub.d/10_hurd.in: Likewise.
12093 * util/grub.d/10_kfreebsd.in: Likewise.
12094 * util/grub.d/10_linux.in: Likewise.
12095 * util/grub.d/10_netbsd.in: Likewise.
12096 * util/grub.d/10_windows.in: Likewise.
12097 * util/grub.d/20_linux_xen.in: Likewise.
12098 * util/grub.d/30_os-prober.in: Likewise.
12099 * po/POTFILES-shell.in: Regenerate.
12100
69edd81a
RL
121012012-02-03 Richard Laager <rlaager@wiktel.com>
12102
12103 * util/grub-mkimage.c (main): Fix format-security warning.
12104 * util/grub-mkrelpath.c (main): Likewise.
12105 * util/grub-probe.c (main): Likewise.
12106
65f08dbf
RL
121072012-02-03 Richard Laager <rlaager@wiktel.com>
12108
12109 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12110 failure.
12111 Put back lost PRINT_DRIVE.
12112
e9084abe
RL
121132012-02-03 Richard Laager <rlaager@wiktel.com>
12114
12115 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12116 (grub_guess_root_devices): Replace strlen with sizeof.
12117 Avoid crash.
12118 (find_root_devices_from_poolname): Remove unused variable.
12119 Handle raidzN.
12120
cf5f7ee7
VS
121212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 Support install on multi-device filesystems.
12124
12125 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12126 (grub_guess_root_devices): ...this. Return char **. All users updated.
12127 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12128 Removed.
12129 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12130 (find_root_devices_from_poolname): ... here.
12131 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12132 Support zfs-fuse.
12133 (grub_guess_root_device): Rename to ...
12134 (grub_guess_root_devices): ... this. Return char **. All users updated.
12135 * util/grub-install.in: Handle multi-device filesystems.
12136 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12137 argument. All users updated.
12138 Handle multi-device filesystems.
12139 Use 'delim' as separator.
12140 Remove device check to allow filesystems on file.
12141 (main): Support -0 argument. Handle multi-device.
12142 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12143 Fix a cross-device check while on it.
12144 (arguments): Remove root_dev.
12145 (argp_parser): Remove -r.
12146 (main): Remove root_dev.
12147
2f53a9ed
VS
121482012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12151
17e1d934
VS
121522012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12155 symbol.
12156 Reported by: NODA, Kai <nodakai>.
12157
d3e3fab5
VS
121582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 Fix ehci on amd64.
12161
12162 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12163 pointers.
12164 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12165 (grub_ehci_setup_qh): Likewise.
12166 (grub_ehci_find_qh): Likewise.
12167 (grub_ehci_transaction): Likewise.
12168 (grub_ehci_setup_transfer): Likewise.
12169 (grub_ehci_check_transfer): Likewise.
12170 (grub_ehci_portstatus): Likewise.
12171 (grub_ehci_detect_dev): Likewise.
12172 (grub_ehci_transfer_controller_data): New field td_last_phys.
12173 (grub_ehci_setup_transfer): Fill td_last_phys.
12174 (grub_ehci_check_transfer): Use td_last_phys.
12175
3008675b
SG
121762012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12177
12178 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12179 if no submenu is present.
12180
fc9b5652
AN
121812012-02-01 Aleš Nesrsta <starous@volny.cz>
12182
12183 CBI support.
12184
12185 * include/grub/usb.h (grub_usbms_protocol_t): New values
12186 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12187 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12188 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12189 (grub_usbms_dev): Add subclass, protocol and intrpt.
12190 Remove in_maxsz and out_maxsz.
12191 (grub_usbms_reset): Rename to ...
12192 (grub_usbms_bo_reset): .. this.
12193 (grub_usbms_cbi_cmd): New function.
12194 (grub_usbms_cbi_reset): Likewise.
12195 (grub_usbms_reset): Likewise.
12196 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12197 (grub_usbms_transfer): Rename to ...
12198 (grub_usbms_transfer_bo): ... this.
12199 (grub_usbms_transfer_cbi): Likewise.
12200 (grub_usbms_transfer): Likewise.
12201
a2b81d53
AN
122022012-02-01 Aleš Nesrsta <starous@volny.cz>
122032012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12204
12205 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12206 the support for the CS5536 modification thereos and few bugfixes.
12207
12208 * grub-core/Makefile.core.def (ehci): New module.
12209 * grub-core/bus/usb/ehci.c: New file.
12210 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12211 port and hubaddr. All users updated.
12212 Save port and hubaddr into dev structure.
12213 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12214 define.
12215 * include/grub/pci.h (grub_dma_phys2virt): New function.
12216 (grub_dma_virt2phys): Likewise.
12217 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12218
b1d51f02
VS
122192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12222 check as some mkfs implementations omit it.
12223
fc694106
VS
122242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12227
6c0920e3
VS
122282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12231 Add new member volname2.
12232 (grub_jfs_label): Use volname2 if available.
12233
d1a46f9a
VS
122342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12237 over last_mounted as seen in image generated by mkfs.nilfs2.
12238 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12239
dec8ed14
VS
122402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12243 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12244 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12245
7397c69b
VS
122462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12249 over the sector.
12250
b3fe42ad
VS
122512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12254 subvolume name (by removing a bogus and useless check).
12255
10476bb0
VS
122562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12259 sizeof while on it.
12260
9c08ad87
VS
122612012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12264 (grub_scsi_read_capacity10): ... this.
12265 (grub_scsi_read_capacity16): New function.
12266 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12267 0xffffffff.
12268 Fix off-by-one error.
12269 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12270 64-bit unsigned.
12271 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12272 (grub_scsi_read_capacity10): ... this.
12273 (grub_scsi_read_capacity_data): Rename to ...
12274 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12275 (grub_scsi_read_capacity16): New struct.
12276 (grub_scsi_read_capacity16_data): Likewise.
12277 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12278 grub_scsi_cmd_read_capacity10.
12279 New command grub_scsi_cmd_read_capacity16.
12280
bc8d0f45
VS
122812012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 SCSI >2TiB support.
12284
12285 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12286 (grub_scsi_write16): Likewise.
12287 (grub_scsi_read): Use read16 when necessary.
12288 (grub_scsi_write): Likewise.
12289 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12290 (grub_scsi_write16): Likewise.
12291 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12292
cc774926
VS
122932012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 SCSI write support (for usbms mainly).
12296
12297 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12298 a const pointer.
12299 (grub_scsi_write): Implement.
12300 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12301
67639fd7
VS
123022012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12305 variable.
12306
9079d3ed
VS
123072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12310
c6a6f204
VS
123112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 * po/POTFILES.in: Regenerate.
12314
ecbf8cd1
VS
123152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12318 with grub_printf to avoid unnecessary fatal failure.
12319
0b3b3b38
VS
123202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12323 (INT_MAX): Likewise.
12324 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12325 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12326 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12327 (strcpy): Likewise.
12328 (strstr): Likewise.
12329 (strchr): Likewise.
12330 (strncpy): Likewise.
12331 (strcat): Likewise.
12332 (strncat): Likewise.
12333 (strcoll): Likewise.
12334 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12335 (GRUB_INT_MAX): Likewise.
12336
db7337a3
VS
123372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12340 unexpected error.
12341 (optimize_utf8): Likewise.
12342 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12343
f37c87e1
VS
123442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 * grub-core/boot/i386/pc/lnxboot.S: Use
12347 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12348 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12349 location.
12350 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12351 definition.
12352 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12353
63fe43f3
VS
123542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12357 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12358 now to avoid double free.
12359 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12360 hostdisk.
12361 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12362 * util/grub-probe.c (escape_of_path): Always return a new copy.
12363 (print_full_name): Escape path.
12364 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12365 Fix hints on abstractions.
12366
ebe2c961
VS
123672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12370 Don't add "root" line if no compatibility hont is available.
12371 Suggested by: Seth Goldberg.
12372
2b5336a2
VS
123732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12376 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12377 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12378 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12379
74310bd8
VS
123802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12383
c30582ba
VS
123842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * util/grub-pe2elf.c (ehdr): Make static.
12387 (shdr): Likewise.
12388 (num_sections): Likewise.
12389 (offset): Likewise.
12390
5f47782c
VS
123912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 Eliminate ofpath limits and possible overflows.
12394
12395 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12396 (OF_PATH_MAX): Removed.
12397 (MAX_DISK_CAT): New const.
12398 (find_obppath): Use allocated rather than preallocated buffer.
12399 Return result. Argument of_path removed. All users updated.
12400 Add missing fdstat.
12401 (xrealpath): New function.
12402 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12403 Allocate rather than use preallocated buffer. All users updated.
12404 (__of_path_common): Use allocated rather than preallocatecd buffer.
12405 Return result. Argument of_path removed. All users updated.
12406 (vendor_is_ATA): Read only needed part form the file.
12407 (check_sas): Allocate depending on contents rather than fixed.
12408 (main) [STANDALONE]: Handle NULL result.
12409
f990cbf9
VS
124102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12413
9c6e84b8
VS
124142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 Cryptodisk write support.
12417
12418 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12419 (grub_cryptodisk_decrypt): Moved logic to ...
12420 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12421 (grub_cryptodisk_write): Implement.
12422 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12423 (grub_util_fd_write): ... this. Make global.
12424 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12425
87cf9744
VS
124262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * include/grub/list.h (grub_list_remove): Don't crash if element is
12429 removed twice.
12430
ca8c0baf
VS
124312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12432
12433 Rename ofconsole to console.
12434
12435 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12436 as sysnonym to console.
12437 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12438 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12439 Rename grub_ofconsole_ to grub_console_. All users updated
12440 (grub_console_term_output): Rename "ofconsole" to "console".
12441 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12442 as "console".
12443
64c8b8f6
VS
124442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12447 handling.
12448 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12449 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12450 GRUB_DISK_DEVICE_FILE_ID.
12451
f6c434d5
VS
124522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12455 and improve performance.
12456
5858b42d
VS
124572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12460 missing ieee1275/ prefix on whole disk.
12461
4ed3c26b
VS
124622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12465 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12466
df71143e
VS
124672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12470
076e7c0f
VS
124712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 Merge common RAID and LVM logic to an abstract diskfilter.
12474 Add LDM support using the same framework.
12475
12476 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12477 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12478 (libgrubmods): Remove grub-core/disk/raid.c and
12479 grub-core/partmap/gpt.c.
12480 * grub-core/Makefile.core.def (ldm): New module.
12481 (raid): Renamed to diskfilter. All users updated.
12482 * grub-core/disk/raid.c: Moved to ...
12483 * grub-core/disk/diskfilter.c: ... here.
12484 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12485 (lv_num): New var.
12486 (find_array): Renamed to ...
12487 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12488 (grub_is_array_readable): Renamed to ...
12489 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12490 (insert_array): New argument id.
12491 (is_node_readable): New function.
12492 (scan_device): Rename to ...
12493 (scan_disk): .. this. Restrict to one disk.
12494 (scan_devices): New function.
12495 (grub_diskfilter_iterate): Support multi-LV.
12496 Skip invisible and nameless LVs.
12497 (grub_diskfilter_memberlist): Support multi-LV.
12498 (grub_diskfilter_read_node): New function.
12499 (grub_raid_read): Most of logic moved to ...
12500 (read_segment): ... here
12501 (read_lv): New function.
12502 (grub_diskfilter_get_vg_by_uuid): New function.
12503 (grub_diskfilter_make_raid): Likewise.
12504 * grub-core/disk/ldm.c: New file.
12505 * grub-core/disk/lvm.c (vg_list): Removed.
12506 (lv_count): Likewise.
12507 (scan_depth): Likewise.
12508 (is_lv_readable): Likewise.
12509 (grub_lvm_getvalue): Advance pointer past the number.
12510 (find_lv): Removed.
12511 (do_lvm_scan): Refactored into ...
12512 (grub_lvm_detect): ... this. Support raid.
12513 (grub_lvm_iterate): Removed.
12514 (grub_lvm_memberlist): Likewise.
12515 (grub_lvm_open): Likewise.
12516 (grub_lvm_close): Likewise.
12517 (read_lv): Likewise.
12518 (read_node): Likewise.
12519 (is_node_readable): Likewise.
12520 (is_lv_readable): Likewise.
12521 (grub_lvm_read): Likewise.
12522 (grub_lvm_write): Likewise.
12523 (grub_lvm_dev): Use diskfilter
12524 (GRUB_MOD_INIT): Likewise.
12525 (GRUB_MOD_FINI): Likewise.
12526 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12527 new interface.
12528 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12529 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12530 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12531 grub_diskfilter_read_node.
12532 Fix a bug with xor.
12533 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12534 grub_diskfilter_read_node.
12535 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12536 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12537 (grub_disk_dev_iterate): Move from here...
12538 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12539 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12540 Make global.
12541 (grub_hostdisk_find_partition_start): Likewise.
12542 (grub_hostdisk_os_dev_to_grub_drive): New function.
12543 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12544 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12545 * util/getroot.c (make_device_name): ... here.
12546 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12547 Move to ...
12548 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12549 * grub-core/kern/emu/hostdisk.c
12550 (convert_system_partition_to_system_disk): Move to ...
12551 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12552 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12553 * util/getroot.c (device_is_wholedisk): ... here.
12554 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12555 * util/getroot.c (find_system_device): ... here.
12556 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12557 Move to ...
12558 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12559 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12560 Move to ...
12561 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12562 Handle LDM.
12563 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12564 Move to ...
12565 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12566 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12567 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12568 DISKFILTER.
12569 * include/grub/raid.h: Renamed to ...
12570 * include/grub/diskfilter.h: ... this.
12571 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12572 (GRUB_RAID_LAYOUT_*): Make into array.
12573 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12574 (grub_diskfilter_vg): New struct.
12575 (grub_diskfilter_pv_id): Likewise.
12576 (grub_raid_member): Removed.
12577 (grub_raid_array): Likewise.
12578 (grub_diskfilter_pv): New struct.
12579 (grub_diskfilter_lv): Likewise.
12580 (grub_diskfilter_segment): Likewise.
12581 (grub_diskfilter_node): Likewise.
12582 (grub_diskfilter_get_vg_by_uuid): New proto.
12583 (grub_raid_register): Inline.
12584 (grub_diskfilter_unregister): Likewise.
12585 (grub_diskfilter_make_raid): New proto.
12586 (grub_diskfilter_vg_register): Likewise.
12587 (grub_diskfilter_read_node): Likewise.
12588 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12589 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12590 (grub_util_is_ldm): Likewise.
12591 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12592 (grub_hostdisk_find_partition_start): Likewise.
12593 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12594 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12595 New definition.
12596 (grub_gpt_partition_map_iterate): New proto.
12597 * include/grub/lvm.h (grub_lvm_vg): Removed.
12598 (grub_lvm_pv): Likewise.
12599 (grub_lvm_lv): Likewise.
12600 (grub_lvm_segment): Likewise.
12601 (grub_lvm_node): Likewise.
12602 * util/getroot.c [...]
12603 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12604 (probe_abstraction): Likewise.
12605 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12606 (main): Remove dead logic.
12607
8a7f9b9c
VS
126082012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 Simplify root device discover and don't fail when trying to open
12611 incorrect devices.
12612
12613 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12614 function.
12615 (get_diskname_from_path): Likewise.
12616 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12617 of iterating.
12618
30545b85
VS
126192012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12622
28ea58cf
VS
126232012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12626 pastthe end.
12627
692dabca
VS
126282012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * util/grub-install.in: Add missing \.
12631 Reported by: gentoofan
12632
f6e4ea70
VS
126332012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12636 (direct_read): Use correct compressed size.
12637 (grub_squash_read_data): Likewise.
12638
126392012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12640
12641 * docs/grub.texi (Platform limitations): New section.
12642 (Platform-specific operations): Likewise.
12643 * docs/grub-dev.texi (Porting): Likewise.
12644
76261110
VS
126452012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 IEEE1275 disk write support.
12648
12649 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12650 const void *.
12651 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12652 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12653 and seek loginc to ...
12654 (grub_ofdisk_prepare): ... here.
12655 (grub_ofdisk_write): Implement.
12656
fc36d603
VS
126572012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 ARC disk write support.
12660
12661 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12662 (reopen): New argument writable. All users updated.
12663 Handle required access mode.
12664 (grub_arcdisk_write): Implement.
12665 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12666 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12667
e06c2e7a
VS
126682012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12671 (read_sblock): Don't attempt to read superblocks outside the disk size.
12672
ff447958
VS
126732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12676 first superblock to find the second one when possible.
12677
9e88df39
VS
126782012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * util/grub-install.in: Fix an ARC bug.
12681 Print a warning if no platform-specific setup is available.
12682
bb26e4ff
VS
126832012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 Use static allocation rather than scratch pointer in reed_solomon.
12686 It decreases its size significantly and avoids a variable in .text.
12687
12688 * grub-core/lib/reed_solomon.c (scratch): Removed.
12689 (chosenstat): New const or static array.
12690 (sigma): Likewise.
12691 (errpot): Likewise.
12692 (errpos): Likewise.
12693 (sy): Likewise.
12694 (mstat): Likewise.
12695 (errvals): Likewise.
12696 (eqstat): Likewise.
12697 (pol_evaluate): Replace x with log_x argument. All users updated.
12698 (syndroms): Removed.
12699 (gauss_solve): Use statically allocated arrays.
12700 (rs_recover): Likewise.
12701 Calculate syndroms directly.
12702 (decode_block): Use statically allocated arrays.
12703 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12704 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12705
2e13ede5
VS
127062012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Eliminate fixed limit on reed solomon decoder length.
12709
12710 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12711 rather than hardcoding the address.
12712 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12713 no_reed_solomon_length.
12714 Move gate_a20 to no-reed-solomon part.
12715 Don't force a particular size of no reed-solomon part.
12716 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12717 Removed.
12718 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12719 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12720
f8a9ab12
VS
127212012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/commands/wildcard.c (match_files): Handle filenames
12724 without explicit device.
12725 (wildcard_expand): Don't add explicit device if not already present.
12726 * tests/grub_script_echo1.in: Add a new expansion test.
12727
87edb894
VS
127282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Replace single-linked with double-linked lists. It results in more
12731 compact and more efficient code.
12732
12733 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12734 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12735 (grub_list_remove): Moved from here ...
12736 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12737 (grub_prio_list_insert): Set prev.
12738 * include/grub/list.h (grub_list): Add prev. All users updated.
12739
48b391e9
VS
127402012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 Handle newer autotools. Add some missing quotes while on it.
12743
12744 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12745 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12746 (pkgdata_DATA): ... here.
12747 * Makefile.util.def (update-grub_lib): Removed.
12748 * conf/Makefile.common (pkglib_DATA): Removed.
12749 (pkglib_SCRIPTS): Likewise.
12750 (pkgdata_DATA): New variable.
12751 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12752 needed.
12753 Add missing quotes.
12754 Remove unused variable while on it.
12755 * tests/util/grub-shell.in: Likewise.
12756 * util/grub-install.in: Likewise.
12757 * util/grub-mkconfig.in: Likewise.
12758 * util/grub-mknetdir.in: Likewise.
12759 * util/grub-mkrescue.in: Likewise.
12760 * util/grub-mkstandalone.in: Likewise.
12761 * util/grub.d/00_header.in: Likewise.
12762 * util/grub.d/10_hurd.in: Likewise.
12763 * util/grub.d/10_illumos.in: Likewise.
12764 * util/grub.d/10_kfreebsd.in: Likewise.
12765 * util/grub.d/10_linux.in: Likewise.
12766 * util/grub.d/10_netbsd.in: Likewise.
12767 * util/grub.d/10_windows.in: Likewise.
12768 * util/grub.d/20_linux_xen.in: Likewise.
12769 * util/grub.d/30_os-prober.in: Likewise.
12770 * util/update-grub_lib.in: Removed.
12771
127722012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12773
12774 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12775 a workaround for intel problem.
12776
66832792
PRP
127772012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
127782012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
127792012-01-23 pfsmorigo
12780
12781 * util/grub-install.in: Support dd'in into PreP partition.
12782 * util/grub-probe.c (probe): Support discovering partition type.
12783 (main): Support -t msdos_parttype.
12784
7816a17e
VS
127852012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12788 infinite recursion using counter.
12789 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12790 init to skip it if the magic check fails.
12791 (dec_stream_header): Init s->crc32.
12792
8f9d3a8c
ZB
127932012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
127942012-01-22 Zachary Bedell <pendorbound@gmail.com>
127952012-01-22 Richard Laager <rlaager@wiktel.com>
12796
12797 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12798 All users updated.
12799 (find_bestub): Determine correct size.
12800 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12801 (scan_disk): Align the size down.
12802 Call check pool before find_bestub to have ashift.
12803
b055dd32
VS
128042012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12807 dprintf in no-malloc zone.
12808
d779e9bd
ML
128092012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12810
12811 * configure.ac: Add back in test for limits.h.
12812
b508af69
VS
128132012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 Support 4K-sector NTFS.
12816
12817 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12818 (grub_ntfs_data): Remove blocksize.
12819 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12820 Remove data argument. All users updated.
12821
dad9c8b5
VS
128222012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12825 being in .text to avoid dprel references.
12826 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12827 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12828 (grub_arch_highmemsize): Likewise.
12829 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12830 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12831 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12832
d43a777e
VS
128332012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12836
12837 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12838 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12839
34e4208f
VS
128402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12843 GRUB_UTIL.
12844 (grub_set_datetime_cmos): Likewise.
12845
3ec0fc1c
VS
128462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 Make XZ compression parameters dependent on target and not host CPU.
12849
12850 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12851 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12852
22489834
VS
128532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12856 set but not used variable.
12857
8502fbca
VS
128582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12861 created when no uuid support is compiled into mkfs.reiser.
12862
76df2068
VS
128632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12866 (utf8_to_macroman): Do the opposite.
12867 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12868
64e3f8f6
VS
128692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * configure.ac: Refise build qemu_mips w/o unifont.
12872
9c271078
VS
128732012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 Eliminate grub_min/grub_max prone to overflow usage.
12876
12877 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12878 (poll_nonroot_hub): Likewise.
12879 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12880 (grub_affs_label): Likewise.
12881 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12882 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12883 (grub_hfs_label): Likewise.
12884 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12885 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12886 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12887 (zap_leaf_array_get): Likewise.
12888 (dnode_get_path): Likewise.
12889 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12890 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12891 * grub-core/script/execute.c (grub_script_break): Likewise.
12892 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12893 grub_max.
12894 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12895 * include/grub/misc.h (grub_min): Removed.
12896 (grub_max): Likewise.
12897
80662dbc
VS
128982012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12899
12900 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12901 direct.inode = 0.
12902
e6da1467
VS
129032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12906
b1ac4cb1
VS
129072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12910
b4bf7c3b
VS
129112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12914 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12915
8ee1101a
VS
129162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12919 rather than a hack for grub_strncasemap.
12920
129212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Support multiple initrds
12924 Note: part of this was accidently committed in r3739.
12925
12926 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12927 initrd.
12928 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12929 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12930 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12931 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12932 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12933
4d1e2bc9
VS
129342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12937 disks with unknown size.
12938 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12939
75b49ebe
VS
129402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 Remove defines pertaining to arbitrary limits not affecting GRUB
12943 anymore.
12944
12945 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12946 (EXT2_MAX_SYMLINKCNT): Likewise.
12947 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12948 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12949 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12950 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12951 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12952 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12953 (DN_MAX_OBJECT_SHIFT): Likewise.
12954 (DN_MAX_OFFSET_SHIFT): Likewise.
12955 (DN_MAX_OBJECT): Likewise.
12956 (DNODES_PER_LEVEL_SHIFT): Likewise.
12957 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12958 (SPA_MAXBLOCKSIZE): Likewise.
12959 (SPA_BLOCKSIZES): Likewise.
12960 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12961 (MZAP_MAX_BLKSZ): Likewise.
12962
74a1dce7
VS
129632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12966 handle NULL appropriately.
12967 Remove MIN.
12968
30c7d3ce
VS
129692012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 Fix efiemu.
12972
12973 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12974 cpu/types.h.
12975 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12976 * configure.ac: Fix efiemu check.
12977
3c76ea0c
VS
129782012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12981 grub_probe.
12982 Reported by: adamwill
12983
7e532280
SG
129842012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12985
12986 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12987
30492374
VS
129882012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 Fix handling of wide characters in gfxterm.
12991
12992 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12993 (clear_char): Likewise.
12994 (paint_char): Skip code == NULL chars.
12995 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12996
e70cb72f
VS
129972012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * grub-core/normal/charset.c: Move comment to right place.
13000
5c827cf9
VS
130012012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
13004 (GRUB_AFFS_FLAG_FFS): Put back where it was.
13005 (grub_affs_mount): Revert the correct version checking.
13006
53603892
VS
130072012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * docs/grub.texi (Unicode): Mention several other unsupported features.
13010
ff094b9b
VS
130112011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13012
13013 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
13014 case statements as compile-time one.
13015 (direct_read): Prevent spurious warnings.
13016 (grub_squash_read_data): Likewise.
13017
c029da8a
VS
130182011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 Various squash4 fixes and LZO and XZ support.
13021
13022 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
13023 Add xzembed source files.
13024 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
13025 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
13026 (grub_squash_inode): New subtype long_dir.
13027 (SQUASH_TYPE_LONG_DIR): New inode type.
13028 (COMPRESSION): New enum.
13029 (XZBUFSIZ): New const.
13030 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
13031 (read_chunk): Use data->decompress.
13032 (zlib_decompress): New function.
13033 (lzo_decompress): Likewise.
13034 (xz_decompress): Likewise.
13035 (squash_mount): Set new data fields.
13036 (grub_squash_iterate_dir): Handle long dir.
13037 (squash_unmount): Free xzdec and xzbuf.
13038 (grub_squash_open): Check ino type.
13039 (direct_read): Stylistic fixes. Use data->decompress.
13040 (grub_squash_read_data): Likewise.
13041 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13042 (get_byte): Likewise.
13043 (grub_zlib_disk_read): Removed.
13044 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13045 (GRUB_POSIX_BOOL_DEFINED): New define.
13046 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13047 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13048 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13049 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13050
7a45a539
VS
130512011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 Don't override more informative errors.
13054
13055 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13056 * grub-core/font/font.c (open_section): Likewise.
13057 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13058 filename. Don't override errors.
13059 (grub_cmd_openbsd_ramdisk): Don't override errors.
13060 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13061 (grub_cmd_initrd): Likewise.
13062 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13063 (grub_cmd_initrd): Likewise.
13064 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13065 (grub_cmd_linux): Likewise.
13066 (grub_cmd_initrd): Likewise.
13067 (grub_cmd_payload): Likewise.
13068 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13069 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13070 (grub_cmd_module): Likewise.
13071 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13072 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13073 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13074 (grub_cmd_xnu_mkext): Likewise.
13075 (grub_cmd_xnu_ramdisk): Likewise.
13076 (grub_xnu_check_os_bundle_required): Likewise.
13077 (grub_xnu_load_kext_from_dir): Likewise.
13078 (grub_cmd_xnu_kextdir): Likewise.
13079 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13080
b2d004db
VS
130812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13084 as 1024 in block size field. Found on one of my test images.
13085 Small optimisation while on it.
13086
ec000eac
VS
130872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13088
13089 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13090 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13091 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13092 performance fixes while on it.
13093 (grub_sfs_close): Fix memory leak while on it.
13094 (grub_sfs_label): Convert Latin1 to UTF-8.
13095
f50e1165
VS
130962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13097
13098 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13099 space to avoid overflows.
13100 (grub_hfs_label): Convert from macroman to UTF-8.
13101
2ae254de
VS
131022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13105
0108f491
VS
131062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13109
f45f5f89
VS
131102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * unicode: Import Unicode 6.0 data.
13113
4d8c4765
VS
131142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13115
63fa8ef9
VS
13116 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13117 outside of range.
13118
131192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
13122
13123 * include/grub/charset.h (grub_getend): New function.
13124 * grub-core/script/function.c (grub_script_function_find): Use
13125 grub_getend.
13126 * grub-core/normal/completion.c (add_completion): Likewise.
13127
f3cb4a4e
VS
131282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13131 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13132 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13133 (GRUB_UNICODE_TAG_END): Likewise.
13134 (GRUB_UNICODE_LAST_VALID): Likewise.
13135
5da8dbc5
VS
131362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13139 len and make it smaller. All users updated.
13140 * util/import_unicode.py: Put length and not end character.
13141 Check length.
13142
8569f13d
VS
131432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 Make better Unicode-compliant and unify some UTF-8 code pathes.
13146
13147 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13148 valid character.
13149 (grub_is_valid_utf8): Use grub_utf8_process.
13150 Check resulting code range.
13151 (grub_utf8_to_ucs4): Use grub_utf8_process.
13152 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13153 valid character.
13154
cc4fddf5
VS
131552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13156
13157 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13158
bbc47747
VS
131592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * docs/grub.texi (Filesystems): Mention AFS.
13162
f63d6bf4
VS
131632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * docs/grub.texi (Filesystems): Clarify restrictions.
13166 (Regexp): Mention non-Unicode regexp behaviour.
13167 (Other): Mention non-Unicode matching behaviour.
13168
74bbf0db
VS
131692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13170
f63d6bf4 13171 Make HFS implementation use MacRoman.
74bbf0db
VS
13172
13173 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13174 (macroman): New const array.
13175 (macroman_to_utf8): New function.
13176 (utf8_to_macroman): Likewise.
13177 (grub_hfs_find_dir): Use utf8_to_macroman.
13178 (grub_hfs_dir): Use macroman_to_utf8.
13179 Set case_insensitive.
13180
4ea0316e
VS
131812011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13184
d3c13cbd
VS
131852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 Integrate hints into autogeneration scripts.
13188
13189 * docs/grub.texi (Filesystems): Add a hostdisk example.
13190 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13191 (grub-probe): Add ofpath.
13192 * gentpl.py: Remove group nosparc64.
13193 * grub-core/commands/search.c (cache_entry): New struct.
13194 (cache): New var.
13195 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13196 * grub-core/commands/search_wrap.c (options): Add platform-specific
13197 hint options.
13198 (grub_cmd_search): Handle platform-specific hints.
13199 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13200 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13201 (grub_util_biosdisk_data): Likewise.
13202 (grub_util_biosdisk_open): Set device_map.
13203 (read_device_map): Handle "" as indication of no map.
13204 Set device_map.
13205 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13206 (grub_util_biosdisk_get_compatibility_hint): New function.
13207 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13208 * include/grub/emu/hostdisk.h
13209 (grub_util_biosdisk_get_compatibility_hint): New proto.
13210 * util/grub-install.in: Don't call grub-mkdevicemap.
13211 Add platform-specific hint to load.cfg.
13212 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13213 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13214 hints. Set root preliminary to compatibility hint, not to OS name.
13215 * util/grub-probe.c (PRINT_*): Add hints.
13216 (print): Make static.
13217 (escape_of_path): New function.
13218 (guess_bios_drive): Likewise.
13219 (guess_efi_drive): Likewise.
13220 (guess_baremetal_drive): Likewise.
13221 (print_full_name): Likewise.
13222 (probe): Handle hints.
13223 (main): Likewise.
13224 * util/ieee1275/devicemap.c: Removed.
13225 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13226 updated.
13227 (grub_util_devname_to_ofpath): Return NULL on failure.
13228
13229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13230 resource leak.
13231 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13232
13233 * po/POTFILES.in: Regenerated.
13234
13235 Allow purely long options
13236
13237 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13238 (SHORT_ARG_USAGE): Likewise.
13239 (grub_arg_show_help): Compare opt with help_options.
13240 (parse_option): Receive opt as argument. If makes big simplificatons.
13241 All users updated
13242
00ce2df3
VS
132432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13246 Restructure to avoid warning.
13247
e77e325f
VS
132482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * util/grub-install.in: Account for possible escaped comma in device
13251 name.
13252
165099ea
VS
132532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13256 channel.
13257
ce4a999d
VS
132582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13261 allocation and zero-setting.
13262 (grub_ieee1275_get_devname): Check that alias is complete.
13263
379586ad
VS
132642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13267 unaligned segments.
13268
9197b0ad
VS
132692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13272 prefix.
13273 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13274 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13275 Add ieee1275 prefix.
13276
edddb7f9
VS
132772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * docs/grub.texi (Filesystems): Update.
13280
a1a8b1b9
VS
132812011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 Support odc, newc and bigendian cpio formats.
13284
13285 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13286 * grub-core/Makefile.core.def (newc): New module.
13287 (odc): Likewise.
13288 (cpio_be): Likewise.
13289 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13290 (MAGIC): Likewise.
13291 (MAGIC2): Likewise.
13292 (head) [MODE_ODC]: Adapt for the format.
13293 (head) [MODE_NEWC]: Likewise.
13294 (head) [!MODE_*]: Write fields of interest as arrays.
13295 (MAGIC_USTAR): Removed.
13296 (read_number) [MODE_NEWC]: Change to hex.
13297 (read_number) [!MODE_*]: Parse binary arrays.
13298 (grub_cpio_find_file): Factor out the code for better structure and
13299 always use read_number.
13300 (grub_cpio_mount): Use MAGIC and MAGIC2.
13301 (grub_cpio_dir): Exit on first hook non-0 return.
13302 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13303 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13304 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13305 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13306 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13307 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13308 * grub-core/fs/newc.c: New file.
13309 * grub-core/fs/odc.c: Likewise.
13310 * grub-core/fs/cpio_be.c: Likewise.
13311
58eba9ee
VS
133122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 Fix handling of tar numbers occupying the whole field.
13315
13316 * grub-core/fs/cpio.c (read_number): New function.
13317 (grub_cpio_find_file): Use read_number instead of strtoull.
13318
a54a0e12
VS
133192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13322 occupying the whole field size.
13323
a6120aca
LA
133242011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13325
13326 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13327
a93964ce
VS
133282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13331
3ea1ca46
SG
133322011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13333
13334 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13335 TARGET_IMG_LDFLAGS.
13336
b87f7ef2
VS
133372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13340 (mountinfo_entry): Increase the field size to take escaping into
13341 account.
13342 (find_root_device_from_libzfs): Add one byte to size of strings for
13343 security.
13344
62092395
VS
133452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13346
13347 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13348 an assert.
13349 * util/grub-setup.c (setup): Likewise.
13350
1f0b1a77
VS
133512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13354 _LzmaDecodeA.
13355
8eba9997
VS
133562011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * docs/grub.texi (Internationalisation): New section.
13359
dd0c91e9
VS
133602011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 * docs/grub.texi (Loopback booting): New section.
13363
133642011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13365
13366 * util/grub-mkstandalone.in: Fix minor typo errors.
13367
198e150a
VS
133682011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13371
13372 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13373 net/icmp.c and net/icmp6.c.
13374 (http): New module.
13375 (priority_queue): Likewise.
13376 * grub-core/io/bufio.c: Rewritten.
13377 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13378 TYPE_WITH_CONFIGFILE_OPTION.
13379 (legacy_commands): Add bootp and dhcp.
13380 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13381 (grub_legacy_parse): Likewise.
13382 * grub-core/lib/priority_queue.c: New file.
13383 * grub-core/net/arp.c: Add missing license header.
13384 (arp_find_entry): Removed.
13385 (arp_find_entry): Likewise.
13386 (grub_net_arp_resolve): Rename to ...
13387 (grub_net_arp_send_request): ...this.
13388 (grub_net_arp_receive): New card argument.
13389 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13390 Set router and DNS server.
13391 (grub_net_configure_by_dhcp_ack): Handle routing information.
13392 (grub_cmd_bootp): Set checksum.
13393 (grub_bootp_init): Remove net_dhcp.
13394 * grub-core/net/dns.c: New file.
13395 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13396 completion.
13397 (get_card_packet): Handle allocation.
13398 (grub_efinet_findcards): Set mtu.
13399 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13400 (get_card_packet): Handle allocation.
13401 (emucard): Set mtu.
13402 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13403 (GRUB_MOD_INIT): Set mtu.
13404 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13405 mtu.
13406 (get_card_packet): Handle allocation.
13407 (grub_ofnet_findcards): Set mtu.
13408 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13409 assert.
13410 (grub_net_recv_ethernet_packet): Handle IPv6.
13411 * grub-core/net/http.c: New file.
13412 * grub-core/net/icmp.c: Likewise.
13413 * grub-core/net/icmp6.c: Likewise.
13414 * grub-core/net/ip.c (ip6addr): New type.
13415 (ip6hdr): Likewise.
13416 (reassemble): Likewise.
13417 (cmp): New function.
13418 (reassembles): New variable.
13419 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13420 (id): New variable.
13421 (send_fragmented): New function.
13422 (grub_net_send_ip_packet): Rename to ...
13423 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13424 Handle non-UDP.
13425 (grub_net_recv_ip_packets): Rename to ...
13426 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13427 (free_rsm): New function.
13428 (free_old_fragments): Likewise.
13429 (grub_net_recv_ip4_packets): New function.
13430 (grub_net_send_ip6_packet): Likewise.
13431 (grub_net_send_ip_packet): Likewise.
13432 (grub_net_recv_ip6_packets): Likewise.
13433 (grub_net_recv_ip_packets): Likewise.
13434 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13435 (LINK_LAYER_CACHE_SIZE): New const.
13436 (link_layer_find_entry): New function.
13437 (grub_net_link_layer_add_address): Likewise.
13438 (grub_net_link_layer_resolve_check): Likewise.
13439 (grub_net_link_layer_resolve): Likewise.
13440 (grub_net_ipv6_get_slaac): Likewise.
13441 (grub_net_ipv6_get_link_local): Likewise.
13442 (grub_cmd_ipv6_autoconf): Likewise.
13443 (parse_ip): Handle one number representation.
13444 (parse_ip6): New functoion.
13445 (match_net): Handle IPv6.
13446 (grub_net_resolve_address): Handle IPv6 and DNS.
13447 (grub_net_resolve_net_address): Handle IPv6.
13448 (route_cmp): New function.
13449 (grub_net_route_address): Find best route.
13450 (grub_net_addr_to_str): Handle IPv6.
13451 (grub_net_addr_cmp): New function.
13452 (grub_net_add_addr): Register local route.
13453 (print_net_address): Handle net address.
13454 (grub_net_poll_cards): Retransmit TCP.
13455 (grub_net_poll_cards_idle_real): Likewise.
13456 (have_ahead): New function.
13457 (grub_net_seek_real): Use underlying seek.
13458 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13459 * grub-core/net/tcp.c: New file.
13460 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13461 (cmp): New function.
13462 (ack): Likewise.
13463 (tftp_receive): Handle unordered input.
13464 (destroy_pq): New function.
13465 (tftp_close): Close pq.
13466 * grub-core/net/udp.c: Put missing license header.
13467 (grub_net_udp_socket): New function.
13468 (udp_socket_register): Likewise.
13469 (grub_net_udp_close): Likewise.
13470 (grub_net_recv_udp_packet): Check checksum.
13471 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13472 * include/grub/misc.h (grub_memchr): New function.
13473 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13474 (grub_net_card_driver): Return buf in recv.
13475 (grub_net_slaac_mac_list): New struct.
13476 (grub_network_level_protocol_id): Add ipv6.
13477 (grub_net_network_level_addr): Likewise.
13478 (grub_net_network_level_net_addr): Likewise.
13479 (grub_net_app_protocol): Add seek.
13480 (grub_net_socket): Removed.
13481 (grub_net_sockets): Likewise.
13482 (grub_net_socket_register): Likewise.
13483 (grub_net_socket_unregister): Likewise.
13484 (FOR_NET_SOCKETS): Likewise.
13485 (grub_net_add_addr): Add const.
13486 (GRUB_NET_BOOTP_*): New enum.
13487 (grub_net_addr_cmp): New proto.
13488 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13489 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13490 (grub_net_hwaddr_to_str): NEw proto.
13491 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13492 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13493 (grub_dns_init): New proto.
13494 (grub_dns_fini): Likewise.
13495 (grub_net_tcp_retransmit): Likewise.
13496 (grub_net_link_layer_add_address): Likewise.
13497 (grub_net_link_layer_resolve_check): Likewise.
13498 (grub_net_link_layer_resolve): Likewise.
13499 (grub_net_dns_lookup): Likewise.
13500 (grub_net_add_dns_server): Likewise.
13501 (grub_net_remove_dns_server): Likewise.
13502 (GRUB_NET_TRIES): New const.
13503 (GRUB_NET_INTERVAL): Likewise.
13504 * include/grub/net/arp.h: Mostly rewritten.
13505 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13506 * include/grub/net/ip.h: Mostly rewritten.
13507 * include/grub/net/netbuff.h: Indent.
13508 * include/grub/net/tcp.h: New file.
13509 * include/grub/net/udp.h: Mostly rewritten.
13510 * include/grub/priority_queue.h: New file.
13511 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13512 (grub_swap_bytes64_compile_time): Likewise.
13513 (grub_cpu_to_be16_compile_time): Likewise.
13514 (grub_cpu_to_be32_compile_time): Likewise.
13515 (grub_cpu_to_be64_compile_time): Likewise.
13516 (grub_be_to_cpu64_compile_time): Likewise.
13517
215c1800
VS
135182011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13521 UINT_TO_PTR with cast.
13522
c17e546c
VS
135232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13526 don't use them.
13527
ff6b18b6
VS
135282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13531 already there.
13532
70ffcc93
VS
135332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13536 confusing ipxe.
13537
e5f4d260
VS
135382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13541 Add missing const attribute.
13542 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13543 Likewise.
13544 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13545 Likewise.
13546
8e54b4b7
VS
135472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13550 misaligned access.
13551 (serpent_setkey): Likewise.
13552 (serpent_encrypt_internal): Likewise.
13553 (serpent_decrypt_internal): Likewise.
13554 (serpent_encrypt): Don't put an alignment-increasing cast.
13555 (serpent_decrypt): Likewise.
13556 (serpent_test): Likewise.
13557
813c0a2b
VS
135582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13561
f2b60fbd
VS
135622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13565
13566 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13567 grub_addr_t casts.
13568 (PTR_TO_UINT64): Likewise.
13569 (PTR_TO_UINT32): Likewise.
13570
5ef5c511
VS
135712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13574 because of stack.
13575 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13576 limit.
13577
c476e6df
VS
135782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13581 text_width > available width a bit more gracefully.
13582
384ad7cc
VS
135832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13586 current address calculation.
13587
96f8caf8
VS
135882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13591 stack.
13592 (encode_block): Likewise.
13593
276b7a8b
VS
135942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13597 certainety.
13598
e3fd394a
VS
135992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13602 non-RS part to avoid RS messing with GDT.
13603 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13604 Increase to suit in realmode routines.
13605
136062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * grub-core/kern/i386/realmode.S: Increase alignment.
13609 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13610
ee9c2e7a
VS
136112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13614 be deterministic.
13615 (syndroms): Compute 0 syndrom.
13616 (rs_recover): Use 0 syndrom.
13617
7a7f7cc9
VS
136182011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13621
a14b16d1
VS
136222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13625 brackets.
13626
9f59e9fc
VS
136272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13628
ca1b552c
VS
13629 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13630 account.
13631 (get_top_pad): Likewise.
13632 (get_right_pad): Likewise.
13633 (get_bottom_pad): Likewise.
13634
136352011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13638
e739d698
VS
136392011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13642 attribute as the structure isn't guaranteed to be properly aligned.
13643 (grub_efi_pci_device_path): Likewise.
13644 (grub_efi_pccard_device_path): Likewise.
13645 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13646 specify the size of `memory_type'.
13647 (grub_efi_vendor_device_path): Likewise.
13648 (grub_efi_controller_device_path): Likewise.
13649 (grub_efi_acpi_device_path): Likewise.
13650 (grub_efi_expanded_acpi_device_path): Likewise.
13651 (grub_efi_atapi_device_path): Likewise.
13652 (grub_efi_scsi_device_path): Likewise.
13653 (grub_efi_fibre_channel_device_path): Likewise.
13654 (grub_efi_1394_device_path): Likewise.
13655 (grub_efi_usb_device_path): Likewise.
13656 (grub_efi_usb_class_device_path): Likewise.
13657 (grub_efi_i2o_device_path): Likewise.
13658 (grub_efi_mac_address_device_path): Likewise.
13659 (grub_efi_ipv4_device_path): Likewise.
13660 (grub_efi_ipv6_device_path): Likewise.
13661 (grub_efi_infiniband_device_path): Likewise.
13662 (grub_efi_uart_device_path): Likewise.
13663 (grub_efi_vendor_messaging_device_path): Likewise.
13664 (grub_efi_hard_drive_device_path): Likewise.
13665 (grub_efi_cdrom_device_path): Likewise.
13666 (grub_efi_vendor_media_device_path): Likewise.
13667 (grub_efi_file_path_device_path): Likewise.
13668 (grub_efi_protocol_device_path): Likewise.
13669 (grub_efi_piwg_device_path): Likewise.
13670 (grub_efi_bios_device_path): Likewise.
13671
cb8f88ea
VS
136722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13675 (grub_ucs4_to_utf8_alloc): Likewise.
13676 (grub_ucs4_to_utf8): Likewise.
13677 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13678 (grub_ucs4_to_utf8_alloc): Likewise.
13679
309e5352
VS
136802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 AFFS never uses unicode.
13683
13684 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13685 (grub_latin1_to_utf8): New inline function.
13686 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13687
e7987e1b
VS
136882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13691 overflow.
13692
efc2616e
VS
136932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13696 (grub_squash_dirent_header): Likewise.
13697 (read_chunk): Don't double swap.
13698 (grub_squash_iterate_dir): Fix swap sizes.
13699
3c349f5a
VS
137002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13703
b453412d
VS
137042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13707 (grub_hfs_iterate_dir): Likewise.
13708
12e9d4d1
VS
137092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 Fix video on platforms where unaligned access is forbidden.
13712 Make several optimisations while on it.
13713
13714 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13715 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13716 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13717 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13718 Disable.
13719 (grub_video_fbblit_replace_16bit_1bit):
13720 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13721 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13722 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13723 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13724 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13725 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13726 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13727 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13728 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13729 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13730 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13731 (grub_video_fbblit_replace_index_RGB888): Likewise.
13732 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13733 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13734 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13735 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13736 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13737 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13738 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13739 Disable.
13740 (grub_video_fbblit_blend_XXX565_1bit):
13741 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13742 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13743 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13744 void *.
13745 * grub-core/video/fb/video_fb.c (common_blitter)
13746 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13747 (grub_video_fb_create_render_target_from_pointer)
13748 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13749 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13750 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13751 definition.
13752 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13753
ace96609
VS
137542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13757 HH22 and HM10 relocations.
13758
fd261d73
VS
137592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13762
e59b7857
VS
137632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13766 allocation succeeded.
13767
9b4baaa4
VS
137682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13771 argument a u8 pointer. All users updated.
13772 Handle unaligned buffers.
13773
dc713193
VS
137742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13777 add_part to workaround compiler bug.
13778
30dd48c2
VS
137792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13782
0c6087a8
VS
137832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13786 Reserve alignment invariants.
13787 (grub_multiboot_load): Likewise.
13788 (retrieve_video_parameters): Likewise.
13789 (grub_multiboot_make_mbi): Likewise.
13790
c2e77777
VS
137912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13794 incorrect pointer.
13795
b70b6d11
VS
137962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13799 (grub_pata_pio_write): Likewise.
13800
02a2bf83
VS
138012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 Add noreturn attributes and remove unreachable code.
13804
13805 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13806 code.
13807 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13808 code. Mark as noreturn.
13809 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13810 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13811 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13812 unreachable code.
13813 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13814 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13815 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13816 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13817 * include/grub/kernel.h (grub_main): Mark as noreturn.
13818 * include/grub/reader.h (grub_rescue_run): Likewise.
13819
2019d09e
VS
138202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13823 redundant declaration.
13824
d1c501ee
VS
138252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13828 redundant declaration.
13829 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13830
61664420
VS
138312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13834 to ensure alignment.
13835 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13836 alignment. Ensure tmp alignment.
13837 (grub_cmd_hdparm): Ensure buf alignment.
13838 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13839 to ensure alignment.
13840 (grub_ata_dumpinfo): Ensure text alignment.
13841 (grub_atapi_identify): Preserve alignment invariant.
13842 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13843
0d51ee20
VS
138442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13847 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13848 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13849 * include/grub/misc.h (grub_reboot)
13850 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13851 (grub_halt) [__mips__]: Likewise.
13852
753ef8c1
VS
138532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13856 Remove redundant declaration.
13857 (grub_mmap_get_post64): Likewise.
13858 (grub_mmap_get_upper): Likewise.
13859 (grub_mmap_get_lower): Likewise.
13860
85c85365
VS
138612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13864 uint32_t * to ensure alignment.
13865 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13866
a23f2cc4
VS
138672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13868
93018f64
VS
13869 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13870 uint16_t * to ensure alignment.
13871 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13872 alignment.
13873
138742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13877 to ensure alignment.
13878 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13879
58acccd6
VS
138802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13883 Handle unaligned pointers.
13884 (u32at): Likewise.
13885 (u64at): Likewise.
13886 (fixup): Use byte access instead of v16at.
13887 (find_attr): Fix imporper usage of v32at.
13888 (read_data): Likewise.
13889 (list_file): Handle byte-swapping and unaligned strings.
13890 (grub_ntfs_label): Likewise.
13891
9b05cad7
VS
138922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13895 as it's not necessarily aligned.
13896
b3950b84
VS
138972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13900 redundant declaration.
13901 (grub_serial_init): Likewise.
13902 (grub_terminfo_init): Likewise.
13903
fcd232b7
VS
139042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13907 function.
13908 (ZAP_HASH_IDX): Likewise.
13909 (ZAP_LEAF_HASH_SHIFT): Likewise.
13910 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13911 (LEAF_HASH): Likewise.
13912 (ZAP_LEAF_NUMCHUNKS): Likewise.
13913 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13914 alignment invariants. Return pointer. All users updated.
13915 (ZAP_LEAF_ENTRY): Make into inline function.
13916 (NBBY): Removed.
13917 (xor): LIkewise.
13918 (xor_out): Use grub_crypto_xor.
13919 (dnode_get_path): Use grub_get_unaligned.
13920 (nvlist_find_value): Likewise.
13921 (grub_zfs_nvlist_lookup_uint64): Likewise.
13922 (grub_zfs_nvlist_lookup_string): Likewise.
13923 (get_nvlist_size): Likewise.
13924 (grub_zfs_open): Likewise.
13925 (fill_fs_info): Likewise.
13926 (grub_zfs_dir): Likewise.
13927 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13928 alignment invariants.
13929 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13930 necessarily aligned.
13931
f138623a
VS
139322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13935
564840dc
VS
139362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13939 arithmetic to conserve alignment invariants.
13940
9b40df20
VS
139412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13944 redundant declaration.
13945 (grub_efiemu_mm_obtain_request): Likewise.
13946 (grub_efiemu_prepare): Likewise.
13947
d1c930f9
VS
139482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13951 to match types.
13952
4c5f3056
VS
139532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13956 case of aunaligned recptr.
13957 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13958 alignment.
13959 (grub_hfsplus_btree_search): Handle unaligned index.
13960
728cba91
VS
139612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13964 to get freetag and skip.
13965
eb561f31
VS
139662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13969 array.
13970 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13971 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13972
20993fbb
VS
139732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13976 name for checksum and fix allocation algorithm.
13977
1f313b94
VS
139782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * include/grub/types.h (grub_properly_aligned_t): New type.
13981 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13982 (grub_get_unaligned16): Add explicit casts.
13983 (grub_get_unaligned32): Likewise.
13984 (grub_get_unaligned64): Likewise.
13985 (grub_set_unaligned16): New function.
13986 (grub_set_unaligned32): Likewise.
13987
47ae27ec
VS
139882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13991
78c2cd1c
VS
139922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13995 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13996 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13997
53072f9b
VS
139982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
14001 conditionals.
14002
055dc239
VS
140032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
14006 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
14007
496bd074
VS
140082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14009
14010 Unify and improve RAID and crypto xor.
14011
14012 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
14013 changed to grub_crypto_xor
14014 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
14015 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
14016 Use bigger types when possible.
14017
ef6e4335
VS
140182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 * grub-core/disk/raid.c (scan_devices): Fix condition.
14021
5d048bf2
VS
140222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
14025 Make name a const ptr.
14026
ee533335
VS
140272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
14030 first argument a const pointer.
14031 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
14032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
14033 proto.
14034 (grub_children_iterate): Likewise.
14035 (grub_machine_mmap_iterate): Remove redundant declaration.
14036
cc8f3668
VS
140372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14040 (grub_cmd_acpi) [!x86]: Disable EBDA.
14041
c5fc563a
VS
140422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 Enable UTF8 in gnulib regexp.
14045
14046 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14047 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14048 (isupper): Use grub_isupper.
14049 (isascii): New inline function.
14050 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14051 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14052 * grub-core/normal/charset.c (grub_utf8_process): New function.
14053 (grub_utf8_to_utf16): Use grub_utf8_process.
14054 (grub_encode_utf8_character): New function.
14055 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14056 * include/grub/charset.h (grub_utf8_process): New declaration.
14057 (grub_encode_utf8_character): Likewise.
14058 * include/grub/misc.h (grub_islower): New inline function.
14059 (grub_isupper): Likewise.
14060 (grub_strchrsub): Moved down to fix the definitions.
14061
0af2346f
VS
140622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14065 specification.
14066
74dbd244
VS
140672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 * include/grub/loader.h (grub_loader_register_preboot_hook):
14070 Use struct preboot * and not void * for handle. All users updated.
14071 (grub_loader_unregister_preboot_hook): Likewise.
14072
1bc8f60d
VS
140732011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14076 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14077 UTF-16-BE. All users updated.
14078 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14079 (grub_hfsplus_iterate_dir): Likewise.
14080 (grub_hfsplus_label): Likewise.
14081
48d6e456
VS
140822011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14085
bf3a3857
VS
140862011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 Add missing const qualifiers.
14089
14090 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14091 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14092 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14093 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14094 (grub_lvm_check_flag): Likewise.
14095 * grub-core/efiemu/i386/coredetect.c
14096 (grub_efiemu_get_default_core_name): Likewise
14097 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14098 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14099 * grub-core/fs/ntfs.c (fixup): Likewise.
14100 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14101 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14102 (fzap_lookup): Likewise.
14103 (zap_lookup): Likewise.
14104 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14105 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14106 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14107 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14108 (grub_freebsd_add_meta_module): Likewise.
14109 (grub_cmd_freebsd_module): Likewise.
14110 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14111 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14112 (grub_xnu_writetree_get_size): Likewise.
14113 (grub_xnu_writetree_toheap_real): Likewise.
14114 (grub_xnu_find_key): Likewise.
14115 (grub_xnu_create_key): Likewise.
14116 (grub_xnu_create_value): Likewise.
14117 (grub_xnu_register_memory): Likewise.
14118 (grub_xnu_check_os_bundle_required): Likewise.
14119 (grub_xnu_scan_dir_for_kexts): Likewise.
14120 (grub_xnu_load_kext_from_dir): Likewise.
14121 * grub-core/normal/color.c (color_list): Likewise.
14122 * grub-core/normal/completion.c (current_word): Likewise.
14123 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14124 * grub-core/term/serial.c (grub_serial_find): Likewise.
14125 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14126 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14127 Likewise.
14128 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14129 (grub_freebsd_add_meta_module): Likewise.
14130 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14131 * include/grub/net.h (grub_net_card_driver): Likewise.
14132 (grub_net_card): Likewise.
14133 (grub_net_app_protocol): Likewise.
14134 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14135 * include/grub/serial.h (grub_serial_find): Likewise.
14136 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14137 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14138 (grub_xnu_create_value): Likewise.
14139 (grub_xnu_find_key): Likewise.
14140 (grub_xnu_scan_dir_for_kexts): Likewise.
14141 (grub_xnu_load_kext_from_dir): Likewise.
14142
14143 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14144 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14145 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14146 Moved from here ...
14147 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14148
112b4837
CW
141492011-11-28 Colin Watson <cjwatson@ubuntu.com>
14150
14151 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14152
49e891ac
VS
141532011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14156 (read_device): Fix size calculation.
14157
fd258e5c
RM
141582011-11-25 Robert Millan <rmh@gnu.org>
14159
14160 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14161 (find_root_device_from_libzfs): Add zpool output parser to be used
14162 as fallback when libzfs isn't available.
14163
78845dc2
SG
141642011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14165
14166 * po/Makefile.in.in: Add missing escape-continuation.
14167
adac5211
VS
141682011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14171
10b64f1c
VS
141722011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14175
bb416954
VS
141762011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14179
bdfe9eeb
VS
141802011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14183
581ffa8a
VS
141842011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * grub-core/lib/adler32.c: Add missing license specification.
14187 * grub-core/lib/crc64.c: Likewise.
14188 * grub-core/loader/i386/pc/plan9.c: Likewise.
14189 * grub-core/partmap/plan.c: Likewise.
14190
2536cf64
LK
141912011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14192
14193 Add facility to debug GRUB with gdb under qemu.
14194
14195 * grub-core/gdb_grub.in: New file.
14196 * grub-core/gmodule.pl.in: Likewise.
14197 * grub-core/Makefile.core.def (gmodule.pl): New script.
14198 (gdb_grub): Likewise.
14199
bc108a4a
VS
142002011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 * util/grub-mount.c (argp_parser): Accept relative pathes.
14203 * util/grub-fstest.c (argp_parser): Likewise.
14204
111c1778
VS
142052011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 Plan9 support.
14208
14209 * Makefile.util.def (libgrubmods): Add
14210 grub-core/partmap/plan.c.
14211 * docs/grub.texi: Notice Plan9 support.
14212 * grub-core/Makefile.core.def (plan9): New module.
14213 (part_plan): Likewise.
14214 * grub-core/loader/i386/pc/plan9.c: New file.
14215 * grub-core/partmap/plan.c: Likewise.
14216 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14217 define.
14218 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14219 * include/grub/mm.h (grub_extend_alloc): New inline function.
14220
c30be3b6
VS
142212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 Make Reed-Solomon faster by using power of generator representation of
14224 GF(256)*.
14225
14226 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14227 (gf_double_t): Likewise.
14228 (gf_invert): Removed.
14229 (gf_powx): New array.
14230 (gf_powx_inv): Likewise.
14231 (scratch): Move higher.
14232 (gf_reduce): Removed.
14233 (gf_mul): Use powx.
14234 (gf_invert): Likewise.
14235 (init_inverts): Replaced with ...
14236 (init_powx): ...this. All users updated.
14237 (pol_evaluate): Replace multiplications with additions.
14238 (rs_encode): Likewise.
14239 (gauss_eliminate): Call gf_invert.
14240 (grub_reed_solomon_add_redundancy): Call init_powx.
14241 (grub_reed_solomon_recover): Call init_powx unconditionally.
14242
fa5aeffc
VS
142432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14246
a346b81c
VS
142472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14250 disk->partiton for safety.
14251
d89ee414
VS
142522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14255 Fix a memory leak.
14256 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14257
91ee7b6d
VS
142582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14261
91e5a33d
VS
142622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14265
9edd7be2
VS
142662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 Fix spaces handling in proc/self/mountinfo.
14269
14270 * util/getroot.c (unescape): New function.
14271 (grub_find_root_device_from_mountinfo): Use unescape.
14272
ba102053
VS
142732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 Support ZFS embedding.
14276
14277 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14278 (grub_zfs_fs): Register grub_zfs_embed.
14279
aa94b870
VS
142802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 Fix MIPS compilation.
14283
14284 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14285 * include/grub/offsets.h: Rename decompressor fields from
14286 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14287 * util/grub-mkimage.c (image_targets): Use new names.
14288
5fbdac14
VS
142892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14290
14291 Defer multiboot device parsing until we're in compressed part.
14292
14293 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14294 bsd_part. setdevice has fallen into disuse.
14295 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14296 (bsd_part): Likewise.
14297 (boot_dev): New variable.
14298 (multiboot_trampoline): Don't parse multiboot device.
14299 Pass multiboot device in %edx.
14300 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14301 grub_boot_device.
14302 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14303 Likewise.
14304 * grub-core/kern/i386/pc/startup.S: Save edx.
14305 (grub_boot_drive): Removed.
14306 (grub_install_dos_part): Likewise.
14307 (grub_install_bsd_part): Likewise.
14308 (grub_boot_device): New variable.
14309 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14310 (grub_install_bsd_part): Likewise.
14311 (grub_boot_drive): Likewise.
14312 (grub_boot_device): New variable.
14313 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14314 Removed.
14315 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14316 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14317 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14318 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14319 * util/grub-install.in: Remove redundant condition.
14320
691cbb58
VS
143212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 Fix bug introduced by previous commit.
14324
14325 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14326
60240b8b
VS
143272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Use decompressors framework on i386-pc. It increases core size
14330 by 46 bytes but improves compatibility and maintainability.
14331
14332 * grub-core/Makefile.core.def (lzma_decompress): New image.
14333 (kernel): Add i386_pc_ldflags.
14334 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14335 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14336 to real_to_prot, prot_to_real and device info.
14337 * include/grub/offsets.h: Renamed decompressor offsets.
14338 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14339 (image_target_desc): Remove raw_size and rename decompressor fields.
14340 (compress_kernel): Handle lzma.
14341 (generate_image): Handle decompressors on i386-pc.
14342
e9d3421c
VS
143432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14344
14345 * configure.ac: Add -fno-asynchronous-unwind-tables.
14346
2b23074a
VS
143472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 Move assembly code to C by using intwrap. It increases core size
14350 by 88 bytes but improves compatibility and maintainability.
14351
14352 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14353 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14354 ... here. Translated to C.
14355 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14356 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14357 ... here. Translated to C.
14358 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14359 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14360 ... here. Translated to C.
14361 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14362 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14363 ... here. Translated to C.
14364 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14365 * grub-core/term/i386/pc/console.c (grub_console_cls):
14366 ... here. Translated to C.
14367 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14368 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14369 ... here. Translated to C.
14370 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14371 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14372 Translated to C.
14373 * grub-core/term/i386/pc/console.c (int10_9): New function.
14374 (grub_console_putchar): Likewise.
14375 * include/grub/i386/pc/console.h: Removed the not anymore shared
14376 functions.
14377
678f4b67
VS
143782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 Move grub_chainloader_real_boot out of the kernel.
14381
14382 * grub-core/Makefile.am: Remove machine/loader.h.
14383 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14384 Removed.
14385 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14386 variable.
14387 (grub_relocator16_keep_a20_enabled): Likewise.
14388 (grub_relocator16_boot): Fill new variables.
14389 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14390 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14391 relocator.
14392 (grub_chainloader_unload): Likewise.
14393 (grub_chainloader_cmd): Likewise.
14394 * include/grub/i386/pc/loader.h: Removed.
14395 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14396 and esi. All initialisers updated.
14397
4626edf6
VS
143982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
143992011-11-12 Colin Watson <cjwatson@ubuntu.com>
14400
14401 * Makefile.util.def (grub-mount): New util.
14402 * .bzrignore: Add grub-mount.
14403 * configure.ac: Check for fuse and enable grub-mount if available.
14404 * docs/man/grub-mount.h2m: New file.
14405 * util/grub-mount.c: Likewise.
14406
10f0117b
VS
144072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/commands/efi/fixvideo.c: Gettextize.
14410 * grub-core/commands/hashsum.c: Likewise.
14411 * grub-core/commands/i386/cmostest.c: Likewise.
14412 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14413 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14414 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14415 * grub-core/commands/lsmmap.c: Likewise.
14416 * grub-core/commands/menuentry.c: Likewise.
14417 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14418 * grub-core/commands/setpci.c: Likewise.
14419 * grub-core/loader/i386/bsd.c: Likewise.
14420 * grub-core/loader/i386/linux.c: Likewise.
14421 * util/getroot.c: Likewise.
14422 * util/grub-editenv.c: Likewise.
14423 * util/grub-fstest.c: Likewise.
14424 * util/grub-mkfont.c: Likewise.
14425 * util/grub-mkimage.c: Likewise.
14426 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14427 * util/grub-pe2elf.c: Likewise.
14428 * util/grub-probe.c: Likewise.
14429 * util/grub-setup.c: Likewise.
14430 * util/ieee1275/ofpath.c: Likewise.
14431 * util/misc.c: Likewise.
14432 * util/raid.c: Likewise.
14433
566f779b
RM
144342011-11-11 Robert Millan <rmh@gnu.org>
14435
14436 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14437 __attribute__((unused)) from `os_dev', which *is* being used.
14438
b50787de
VS
144392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14442 forgotten define.
14443 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14444 GRUB_IA64_DL_GOT_ALIGN.
14445 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14446 GRUB_IA64_DL_TRAMP_ALIGN.
14447
119d11c8
VS
144482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 Replace grub_fatal with normal errors in i386 linux loader.
14451
14452 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14453 (allocate_pages): Check find_efi_mmap_size return value.
14454 (grub_e820_add_region): Return error.
14455 (grub_linux_boot): Check mmap return value.
14456
6e0632e2
VS
144572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * grub-core/commands/acpihalt.c: Gettextized.
14460 * grub-core/commands/cacheinfo.c: Likewise.
14461 * grub-core/commands/cmp.c: Likewise.
14462 * grub-core/commands/efi/loadbios.c: Likewise.
14463 * grub-core/commands/gptsync.c: Likewise.
14464 * grub-core/commands/ieee1275/suspend.c: Likewise.
14465 * grub-core/commands/legacycfg.c: Likewise.
14466 * grub-core/commands/memrw.c: Likewise.
14467 * grub-core/commands/minicmd.c: Likewise.
14468 * grub-core/commands/parttool.c: Likewise.
14469 * grub-core/commands/time.c: Likewise.
14470 * grub-core/commands/videoinfo.c: Likewise.
14471 * grub-core/disk/geli.c: Likewise.
14472 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14473 * grub-core/disk/luks.c: Likewise.
14474 * grub-core/disk/lvm.c: Likewise.
14475 * grub-core/font/font_cmd.c: Likewise.
14476 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14477 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14478 * grub-core/gfxmenu/view.c: Likewise.
14479 * grub-core/kern/emu/hostdisk.c: Likewise.
14480 * grub-core/kern/emu/main.c: Likewise.
14481 * grub-core/kern/emu/misc.c: Likewise.
14482 * grub-core/kern/emu/mm.c: Likewise.
14483 * grub-core/kern/mips/arc/init.c: Likewise.
14484 * grub-core/kern/mips/loongson/init.c: Likewise.
14485 * grub-core/kern/partition.c: Likewise.
14486 * grub-core/lib/i386/halt.c: Likewise.
14487 * grub-core/lib/mips/arc/reboot.c: Likewise.
14488 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14489 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14490 * grub-core/loader/i386/xnu.c: Likewise.
14491 * grub-core/loader/multiboot.c: Likewise.
14492 * grub-core/net/bootp.c: Likewise.
14493 * grub-core/net/net.c: Likewise.
14494 * grub-core/normal/term.c: Likewise.
14495 * grub-core/partmap/bsdlabel.c: Likewise.
14496 * grub-core/parttool/msdospart.c: Likewise.
14497 * grub-core/term/gfxterm.c: Likewise.
14498 * grub-core/term/terminfo.c: Likewise.
14499 * grub-core/video/i386/pc/vbe.c: Likewise.
14500 * util/grub-menulst2cfg.c: Likewise.
14501 * util/grub-mkdevicemap.c: Likewise.
14502 * util/grub-mklayout.c: Likewise.
14503 * util/grub-mkrelpath.c: Likewise.
14504 * util/grub-script-check.c: Likewise.
14505 * util/ieee1275/grub-ofpathname.c: Likewise.
14506 * util/resolve.c: Likewise.
14507
073aa7a9
VS
145082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 Support %1$d syntax.
14511
14512 * tests/printf_unit_test.c: New file.
14513 * Makefile.util.def (printf_test): New test.
14514 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14515
c76b5417
VS
145162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14519 fix.
14520
df067ad1
VS
145212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14524 dprintf.
14525 * grub-core/font/font.c (grub_font_load): Likewise.
14526
5b289bc5
VS
145272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * util/grub-macho2img.c: Add comment concerning gettext.
14530 * grub-core/lib/legacy_parse.c: Likewise.
14531
c1860f87
VS
145322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14535 (grub_xvasprintf): Likewise.
14536
d35d0d37
VS
145372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Add const keyword to grub_env_get and gettextize week days.
14540
14541 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14542 (grub_read_hook_datetime): Return const char *.
14543 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14544 updated.
14545 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14546 Mark for gettext.
14547 (grub_get_weekday_name): Return const char *. Call gettext.
14548 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14549 char * and len as the argument. All users updated.
14550 (grub_script_argv_split_append): Receive const char *.
14551 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14552 * include/grub/env.h (grub_env_get): Likewise.
14553 (grub_env_read_hook_t): Return const char *.
14554 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14555 (grub_script_argv_split_append): Likewise.
14556
9aed8a71
VS
145572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14560
067fdf00
VS
145612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14564 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14565
a8bd9d39
VS
145662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14569 Fix prototype.
14570
f7ce5baf
VS
145712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 Fix mips compilation.
14574
14575 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14576 normal decoder.
14577 (hashes): Use in embed decoder as well (for sizes).
14578 (dec_stream_header): Fix embed decompressor logic.
14579 (dec_stream_footer): Likewise.
14580
9bb182f3
VS
145812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14584 an error and not a fatal on unrecognised relocation types.
14585
63a9e6f6
VS
145862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14589 Issue error rather than printf on unknown arguments.
14590
4c458569
VS
145912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14592
14593 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14594 Make buf a const.
14595
e2d22baf
VS
145962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14597
14598 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14599 Fix module name.
14600
53dc8590
VS
146012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14604 leftover debug printf.
14605
6c189294
VS
146062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14609
f7688369
VS
146102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14613 A stylistic fix.
14614
11a775a3
VS
146152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14618
33f784e8
SL
146192011-11-10 Shea Levy <slevy@tieronedesign.com>
14620
14621 Allow all modules to perform serial IO
14622
14623 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14624 * include/grub/serial.h (grub_serial_port_configure): New inline
14625 function.
14626 (grub_serial_port_fetch): Likewise.
14627 (grub_serial_port_put): Likewise.
14628 (grub_serial_port_fini): Likewise.
14629 (grub_serial_find): New proto.
14630
f6276525
VS
146312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 Put symlink at the end of the node and fix a potential
14634 memory corruption.
14635
14636 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14637 Make symlink into an array.
14638 (set_rockridge): Set have_symlink and alloc_dirents.
14639 (grub_iso9660_read_symlink): Use new layout.
14640 (grub_iso9660_iterate_dir): Fix memory corruption.
14641 Use new layout.
14642 (grub_iso9660_dir): Set have_symlink.
14643 (grub_iso9660_open): Likewise.
14644
c3591189
VS
146452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 Remove local keyword.
14648
14649 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14650 (version_test_gt): Likewise.
14651 (version_find_latest): Likewise.
14652 (gettext_printf): Likewise.
14653 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14654
cb544caa
VS
146552011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14658
45bd824d
VS
146592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 Fix ZFS memory and resource leaks.
14662
14663 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14664 All users updated.
14665 Free type on exit.
14666 (fill_vdev_info): New parameter inserted. All users updated.
14667 (check_pool_label): Likewise.
14668 (scan_disk): Likewise.
14669 (scan_devices): Close non-inserted disks.
14670 (fzap_iterate): Free l.
14671 (unmount_device): Free children descripto memory.
14672
ad9a2f44
VS
146732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14676 argument (access out of bounds).
14677
6b68db81
VS
146782011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14681 >= 6 drives.
14682
28840fda
VS
146832011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14686 Fix declaration.
14687
8a5a3a5b
VS
146882011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14689
14690 Fix several memory leaks.
14691
14692 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14693 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14694 (grub_cpio_dir): Likewise.
14695 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14696 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14697 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14698 (grub_romfs_label): Likewise.
14699 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14700 (squash_unmount): New function.
14701 (grub_squash_dir): Fix memory leak.
14702 (grub_squash_open): Likewise.
14703 (grub_squash_read): Likewise.
14704 (grub_squash_mtime): Likewise.
14705 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14706 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14707 * util/grub-fstest.c (fstest): Likewise.
14708
57b01250
VS
147092011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14710
14711 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14712 avoid accessing beyond the array.
14713
19e81ba7
VS
147142011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14717
52b656c0
VS
147182011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14719
14720 Several AFFS fixes.
14721
14722 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14723 (GRUB_AFFS_FLAG_FFS): Removed.
14724 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14725 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14726 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14727 (grub_fshelp_node): Make block 32-bit.
14728 Add block_cache and last_block_cache.
14729 (grub_affs_read_block): Fill and use block cache.
14730 (grub_affs_read_file): Removed.
14731 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14732 boot block.
14733 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14734 safety.
14735 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14736 space.
14737 (grub_affs_close): Free block cache.
14738 (grub_affs_read): Use grub_fshelp_read_file directly.
14739
438a746a
VS
147402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14743 with no error set.
14744
49a45021
VS
147452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14748 used variable.
14749 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14750 Likewise.
14751
3ae17eb8
VS
147522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14755
14756 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14757 byteswap when needed.
14758
27610c38
VS
147592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 Fix FreeBSD compilation.
14762
14763 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14764 to avoid circular dependency.
14765 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14766 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14767 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14768
4a19b601
VS
147692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 Fix ZFS crypto error types.
14772
14773 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14774 (grub_gcm_decrypt): Likewise.
14775 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14776 from PBKDF2.
14777
958ee221
VS
147782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 Illumos support.
14781
14782 * Makefile.util.def (10_illumos): New script.
14783 * configure.ac: Set COND_HOST_ILLUMOS.
14784 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14785 Support Illumos calls.
14786 (find_partition_start) [__sun__]: Likewise.
14787 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14788 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14789 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14790 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14791 device.
14792 * util/grub-probe.c (probe) [__sun__]: Do character check.
14793 * util/grub.d/10_illumos.in: New file.
14794
cac14fb6
VS
147952011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 Support escaped commas in hostdisk.
14798
14799 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14800 (find_grub_drive): Use unescape_cmp.
14801 (make_device_name): Escape commas.
14802
78e08dc3
VS
148032011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14806
9f421dd1
VS
148072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14810 variable.
14811
ed64e9e2
VS
148122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 Support trampoline jumps on powerpc.
14815
14816 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14817 __ia64__ path.
14818 (grub_dl_load_segments): Set mod->sz.
14819 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14820 segments.
14821 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14822 (jump): Likewise.
14823 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14824 function.
14825 (trampoline): New struct.
14826 (trampoline_template): New const.
14827 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14828 * include/grub/dl.h (grub_dl): Add sz element.
14829 [__powerpc__]: Follow __ia64__.
14830 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14831 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14832 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14833 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14834
3084ede4
VS
148352011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 ZFS crypto support.
14838
14839 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14840 * grub-core/Makefile.core.def (zfscrypt): New module.
14841 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14842 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14843 it. All users updated.
14844 (grub_zfs_decrypt): New var.
14845 (grub_zfs_load_key): Likewise.
14846 (zio_checksum_functions): Add SHA256+MAC.
14847 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14848 (zio_read): Handle encrypted blocks.
14849 (zap_verify): Remove incorrect check.
14850 (fzap_iterate): Handle non-standard fzap.
14851 (zap_iterate): Likewise.
14852 (zap_iterate_u64): New function.
14853 (dnode_get_fullpath): Load keys.
14854 * grub-core/fs/zfs/zfscrypt.c: New file.
14855 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14856 (grub_crypto_ecb_encrypt): Make input const.
14857 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14858 (grub_crypto_ecb_encrypt): Make input const.
14859 (GRUB_CIPHER_AES): New macro.
14860 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14861 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14862 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14863 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14864 prefix. All users updated.
14865 (grub_zfs_add_key): New proto.
14866 (grub_zfs_decrypt): Likewise.
14867 (grub_zfs_load_key): Likewise.
14868 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14869 * util/grub-fstest.c (options): Add -K option.
14870 (argp_parser): Likewise.
14871
b632b404
VS
148722011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 Support zle compression on ZFS.
14875
14876 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14877 (decomp_table): Add zle.
14878 * include/grub/zfs/zio.h (zio_compress): Add zle.
14879
c7ba4f69
VS
148802011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 Support BtrFS embedding.
14883
14884 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14885 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14886 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14887 * util/grub-setup.c (setup): Use fs embedding if available.
14888 Add additional sanity check.
14889
455377d9
VS
148902011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * util/grub-install.in: Fix condition for config_opt.
14893
c2fd16ca
VS
148942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 Support third redundancy strip on raidz3.
14897
14898 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14899 Return error on singularity. All users updated.
14900 (read_device): Don't stop on 3rd failure on raidz3.
14901
8622923b
VS
149022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 Support case-insensitive ZFS subvolumes.
14905
14906 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14907 All users updated.
14908 (zap_hash): Likewise.
14909 (name_cmp): New function.
14910 (zap_leaf_array_equal): New parameter case_insensitive.
14911 All users updated.
14912 (zap_leaf_lookup): Likewise.
14913 (fzap_lookup): Likewise.
14914 (zap_lookup): Likewise.
14915 (dnode_get_path): New parameter case_insensitive. Retrieve case
14916 sensitiviness of a volume. All users updated.
14917 (dnode_get_fullpath): New parameter case_insensitive.
14918 All users updated.
14919 (grub_zfs_dir): Set info.case_insensitiveness.
14920
95f2e860
VS
149212011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 Support second redundancy strip on raidz(2,3).
14924
14925 * grub-core/fs/zfs/zfs.c (powx): New array.
14926 (powx_inv): Likewise.
14927 (poly): New const.
14928 (xor_out): New function.
14929 (gf_mul): Likewise.
14930 (recovery): Likewise.
14931 (read_device): Use second redundancy strip.
14932
11ee4389
VS
149332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 Use a power of generator representation of GF(256) multiplication group
14936 to save space time and complexity.
14937
14938 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14939 (raid6_table2): Likewise.
14940 (powx): New array.
14941 (powx_inv): Likewise.
14942 (poly): New const.
14943 (grub_raid_block_mul): Replace with ...
14944 (grub_raid_block_mulx): ...this.
14945 (grub_raid6_init_table): Rewritten.
14946 (grub_raid6_recover): Use power of generator representation.
14947
09e2763f
VS
149482011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14951 for the right device.
14952
8bec9a28
VS
149532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14956 expected by grub-mkimage and it's more clear since there is no implicit
14957 padding.
14958
dbd3a32e
VS
149592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14960
14961 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14962 disk.
14963 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14964
182c872a
PMH
149652011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14966
14967 * util/grub-mkrescue.in: Fix handling xorriso option.
14968
1e51cabd
VS
149692011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14972 NULL.
14973
9cc3581d 149742011-11-03 crocket <crockabiscuit@gmail.com>
14975
14976 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14977
158dc1ea
VS
149782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 XZ CRC64 and SHA256 support.
14981
14982 * Makefile.util.def (libgrubmods): Add crc64.c.
14983 * grub-core/Makefile.core.def (crc64): New module.
14984 * grub-core/lib/crc64.c: New file.
14985 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14986 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14987 Fix the type.
14988 (MAX_HASH_SIZE): New define.
14989 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14990 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14991 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14992 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14993 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14994 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14995 Handle non-crc32 hashes.
14996 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14997 (dec_stream_header): Handle non-crc32 hashes.
14998 (dec_stream_footer): Likewise.
14999 (dec_block_header): Likewise.
15000 (dec_main): Likewise.
15001 (xz_dec_init): Likewise.
15002 (xz_dec_reset): Likewise.
15003 (xz_dec_end): Likewise.
15004 * util/import_gcry.py: Add CRC64 line.
15005
9d9b3d2f
VS
150062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
15009 as well.
15010
7d0ac931
VS
150112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 Make reiserfs label retrieval similar to other *_label functions.
15014
15015 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
15016 (REISERFS_MAX_LABEL_LENGTH): Removed.
15017 (REISERFS_LABEL_OFFSET): Likewise.
15018 (grub_reiserfs_label): Rewritten.
15019
150202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
15023 field.
15024
cf5ba824
VS
150252011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
15028
17744004
VS
150292011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
15032 drive failure on both raidz and raidz2.
15033
aca5aefc
VS
150342011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 Fix RAIDZ(2) for >= 5 devices.
15037
15038 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15039 asize argument. All users updated.
15040
ce8ca56e
VS
150412011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 Fix RAIDZ(2).
15044
15045 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15046 (fill_vdev_info_real): Set ashift.
15047 (read_device): Rewrite RAIDZ part based on reverse engineering.
15048
7c01e783
VS
150492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15052 don't report potentially unavialiable fields in debug output.
15053 (find_path): Fix double-free and memory leak.
15054
ce109e84
VS
150552011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 Read label on UFS1.
15058
15059 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15060 (grub_ufs_fs): Always set .label.
15061
87661123
VS
150622011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 Use shifts in UFS.
15065
15066 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15067 (grub_ufs_data): New field log2_blksz.
15068 (grub_ufs_read_file): Use shifts.
15069 (grub_ufs_mount): Check block size and logarithm it.
15070
46bc1dc2
VS
150712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15074 long symlinks.
15075
19ee2987
VS
150762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 Handle symlinks and long names on tar and cpio.
15079
15080 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15081 (ATTR_FILE): Likewise.
15082 (ATTR_DIR): Likewise.
15083 (ATTR_LNK): Likewise.
15084 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15085 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15086 L and K entries.
15087 (grub_cpio_mount): Zero-fill data.
15088 (handle_symlink): New function.
46bc1dc2
VS
15089 (grub_cpio_dir): Handle symlinks.
15090 (grub_cpio_open): Likewise.
15091 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 15092
c83a08d8
VS
150932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 Fix iso9660 filename limitations and fix memory leaks.
15096
15097 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15098 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15099
45cdd3ea
VS
151002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 Fix JFS file name length limitations.
15103
15104 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15105 (grub_jfs_diropen): Fix maximum filename length.
15106 (grub_jfs_getent): Fix filename length.
15107 (grub_jfs_lookup_symlink): Fix size checks.
15108
94ef05c2
VS
151092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15112 string.
15113
785ab8c7
VS
151142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15115
eb0b6b45
VS
15116 Leverage BFS implementation to read AFS.
15117
15118 * Makefile.util.def (libgrubmods): Add afs.c.
15119 * grub-core/Makefile.core.def (afs): New module
15120 * grub-core/fs/afs.c: New file.
15121 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15122
151232011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 15126
c4a1628f
VS
151272011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 * grub-core/fs/bfs.c: Run indent.
15130
5825b379
VS
151312011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 BFS implementation based on the specification.
15134
15135 * grub-core/fs/bfs.c: New file.
15136 * Makefile.util.def (libgrubmods): Add bfs.c.
15137 * grub-core/Makefile.core.def (bfs): New module.
15138
42b2a706
VS
151392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * util/grub-fstest.c (cmd_cp): Clarify error message.
15142 (cmd_cmp): Likewise.
15143
61b99bfc
YB
151442011-10-30 Yves Blusseau <blusseau@zetam.org>
15145
15146 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15147 and befs_be.
15148
faba3d16
VS
151492011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15150
15151 Remove afs and befs because of copyright problem.
15152
15153 * grub-core/fs/afs.c: Removed.
15154 * grub-core/fs/afs_be.c: Removed.
15155 * grub-core/fs/befs.c: Removed.
15156 * grub-core/fs/befs_be.c: Removed.
15157 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15158 * grub-core/Makefile.core.def (afs): Removed.
15159 (afs_be): Likewise.
15160 (befs): Likewise.
15161 (befs_be): Likewise.
15162
c39224b0
VS
151632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 Prefer rockridge over Joliet.
15166
15167 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15168 to ...
15169 (set_rockridge): ... here.
15170 (grub_iso9660_mount): Check rockridge on the primary label when
15171 discovering. Ignore Joliet if Rockridge is present.
15172
e551115a
VS
151732011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 Use shifts in nilfs2.
15176
15177 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15178 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15179 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15180 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15181 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15182 (grub_nilfs2_entries_per_block): Replaced with ...
15183 (grub_nilfs2_log_entries_per_block_log): ... this.
15184 (grub_nilfs2_blocks_per_group): Replaced with ...
15185 (grub_nilfs2_blocks_per_group_log): ... this.
15186 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15187 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15188 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15189 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15190 (grub_nilfs2_palloc_entry_offset): Replaced ...
15191 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15192 (grub_nilfs2_dat_translate): Use shifts.
15193 (grub_nilfs2_read_inode): Likewise.
15194 (GRUB_MOD_INIT): Ensure that logs are correct.
15195
564dd58c
VS
151962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 Use shifts in minix filesystem.
15199
15200 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15201 (GRUB_MINIX_ZONE2SECT): Likewise.
15202 (grub_minix_data): Replace block_size with log_block_size.
15203 (grub_minix_read_file): Use shifts.
15204 (grub_minix_mount): Check block size and take a logarithm.
15205
ed9ba06d
VS
152062011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 Use shifts in squash4.
15209
15210 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15211 (squash_mount): Check block size and take logarithm.
15212 (direct_read): Use shifts.
15213
ad03fe76
VS
152142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 Correct befs block counting logic.
15217
15218 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15219 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15220 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15221 (grub_afs_read_inode): Use block_shift.
15222 (RANGE_SHIFT): New definition.
15223 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15224 unexpected conditions, use shifts and appropriate types.
15225 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15226
6563f63d
VS
152272011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * grub-core/disk/raid.c (scan_devices): Check partition.
15230 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15231
5b1ae25f
VS
152322011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 Support BFS (befs) UUID.
15235
15236 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15237 (grub_afs_small_data_element_header): New struct.
15238 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15239 (grub_afs_read_attribute) [MODE_BFS]: New function.
15240 (grub_afs_iterate_dir): Allocate for complete inode.
15241 (grub_afs_mount): Likewise.
15242 (grub_afs_uuid) [MODE_BFS]: New function.
15243 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15244
f8d82408
VS
152452011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15248 (zfs_unmount): Fix memory leak.
15249
5773fb64
VS
152502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 Support NTFS reparse points.
15253
15254 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15255 (symlink_descriptor): New struct.
15256 (grub_ntfs_read_symlink): New function.
15257 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15258 (grub_ntfs_open): Likewise.
15259
91c3fdde
VS
152602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15263
3be82e10
VS
152642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 fstest xnu_uuid subcommand.
15267
15268 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15269 grub-core/commands/xnu_uuid.c.
15270 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15271 (fstest): Handle xnu_uuid.
15272 (options): Document xnu_uuid.
15273 (argp_parser): Parse xnu_uuid.
15274
8e32442e
VS
152752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15278 -l argument. Add newline at the end if printing.
15279 (GRUB_MOD_INIT): Document -l.
15280
52a05075
VS
152812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15284
1869edb5
VS
152852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 ZFS multi-device and version 33 support.
15288
15289 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15290 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15291 (grub_zfs_data): Add multidev-ice-related fields.
15292 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15293 (dva_get_offset): Make dva const.
15294 (zfs_fetch_nvlist): New function.
15295 (fill_vdev_info_real): Likewise.
15296 (fill_vdev_info): Likewise.
15297 (check_pool_label): Likewise.
15298 (scan_disk): Likewise.
15299 (scan_devices): Likewise.
15300 (read_device): Likewise.
15301 (read_dva): Likewise.
15302 (zio_read_gang): Use read_dva.
15303 (zio_read_data): Likewise.
15304 (zap_leaf_lookup): Add missing endian conversion.
15305 (zap_verify): Add missing endian conversion. All users updated.
15306 (fzap_lookup): Likewise.
15307 (fzap_iterate): Likewise.
15308 (dnode_get_path): Handle SA bonus.
15309 (nvlist_find_value): Make input const. All users updated.
15310 (unmount_device): New function.
15311 (zfs_unmount): Use unmount_device.
15312 (zfs_mount): Use scan_disk.
15313 (zfs_mtime): New function.
15314 (grub_zfs_open): Handle system attributes.
15315 (fill_fs_info): Likewise.
15316 (grub_zfs_dir): Likewise.
15317 (grub_zfs_fs): Add mtime.
15318 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15319 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15320 (SA_MTIME_OFFSET): Likewise.
15321 (SA_SYMLINK_OFFSET): Likewise.
15322 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15323 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15324 (fstest): Support zfsinfo.
15325 (argp_parser): Likewise.
15326
186b4028
VS
153272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15330 error.
15331
153322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15333
15334 ZFS fixes.
15335
15336 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15337 sharing the same block. Iterate over correct number of indices.
15338 (dnode_get_path): Handle symlinks correctly.
15339
c0584900
VS
153402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15343
67e2bd71
VS
153442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 Read label on HFS+.
15347
15348 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15349 (grub_hfsplus_btree_search): Fix types.
15350 (grub_hfsplus_label): Implement.
15351
e9cc6b7b
VS
153522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15355
19832ddb
VS
153562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15359
66b40850
VS
153602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 Fix symlink handling on iso9660.
15363
15364 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15365 All users updated.
15366 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15367 (grub_iso9660_read_symlink): Moved most of code ...
15368 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15369
db821363
VS
153702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15373 Use union to avoid breaking strict-aliasing rules.
15374
e1211949
VS
153752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Support multi-extent iso files.
15378
15379 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15380 Add node.
15381 (grub_fshelp_node): Revamp. All users updated.
15382 (FLAG_*): New enum.
15383 (read_node): New function.
15384 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15385 All users updated.
15386 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15387 (get_node_size): New function.
15388 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15389 entries.
15390 Fix memory leak on . and ..
15391 (grub_iso9660_read): Use read_node.
15392 (grub_iso9660_close): Free node.
15393
d4888031
VS
153942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 Fix tar 4G limit and handle paths containing dot.
15397
15398 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15399 (canonicalize): New function.
15400 (grub_cpio_find_file): Use canonicalize. Store offs in
15401 grub_disk_addr_t.
15402 (grub_cpio_dir): Use grub_disk_addr_t.
15403 (grub_cpio_open): Likewise.
15404
9f12e664
VS
154052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15408
15409 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15410 unused flags.
15411 (grub_squash_inode): Add long_file and block_size.
15412 (grub_squash_cache_inode): New struct.
15413 (grub_squash_dirent): Make types into enum.
15414 (SQUASH_TYPE_LONG_REGULAR): New type.
15415 (grub_squash_frag_desc): Add field size.
15416 (SQUASH_BLOCK_FLAGS): New enum.
15417 (grub_squash_data): Use grub_squash_cache_inode.
15418 (grub_fshelp_node): Make ino_chunk 64-bit.
15419 (read_chunk): Minor argument change. All users updated.
15420 (squash_mount): Use correct le_to_cpu.
15421 (grub_squash_open): Handle LONG_REGULAR.
15422 (direct_read): New function.
15423 (grub_squash_read_data): Handle blocks correctly.
15424
9f326fba
VS
154252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15428
f4d9b64b
VS
154292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15430
15431 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15432
5bbd28b8
VS
154332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15434
15435 Fix 2G limit on ZFS.
15436
15437 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15438 types.
15439 (uberblock_verify): Likewise.
15440 (dmu_read): Likewise.
15441 (grub_zfs_read): Likewise. Remove invalid cast.
15442
68c72069
VS
154432011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15446 (grub_jfs_blkno): Fix incorrect shift.
15447 (grub_jfs_read_file): Use more appropriate types.
15448
6e536dc8
VS
154492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15450
15451 Support triple indirect on minix2 and minix3.
15452
15453 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15454 Declare triple_indir_zone.
15455 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15456 indirect.
15457
e0864e7a
VS
154582011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 Minix FS fixes.
15461
15462 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15463 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15464 Rename ctime to mtime. All users updated.
15465 (grub_minix_get_file_block): Fix types and double indirect computations.
15466
89481cab
VS
154672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15470 if no label is found.
15471 (grub_fat_iterate_dir): Fix file size type.
15472 (grub_fat_iterate_dir): Likewise.
15473
f646e143
VS
154742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15477 save some space.
15478 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15479 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15480
534d769e
VS
154812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15484
e084ba18
VS
154852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * util/import_gcry.py: Accept space between # and include.
15488
3471ecdf
VS
154892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15492
124df5f6
VS
154932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15496
15497 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15498 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15499 yylex_strncpy.
15500 * grub-core/script/yylex.l: Add fine-grained #pragma.
15501
4defb8d5
VS
155022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15505 New inline function.
15506 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15507 Likewise.
15508 (memset) [GRUB_UTIL]: Likewise.
15509 (memcmp) [GRUB_UTIL]: Likewise.
15510
4e94ae65
VS
155112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15514 inline function rather than a define.
15515
18c575e5
VS
155162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 * util/grub-setup.c: Add missing include.
15519
f8bc22a8
VS
155202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * util/ieee1275/grub-ofpathname.c: Add missing include.
15523
3ce69fc9
VS
155242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15527 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15528 Likewise.
15529
d1e293bb
VS
155302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15533 grub_memcmp usage.
15534
7a5c54a4
VS
155352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 * util/grub-install.in: Add datarootdir as per automake manual
15538 suggestion.
15539 * util/grub-mknetdir.in: Likewise.
15540
155412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15542
15543 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15544 suggestion.
15545 * util/grub.d/10_kfreebsd.in: Likewise.
15546 * util/grub.d/10_linux.in: Likewise.
15547 * util/grub.d/10_netbsd.in: Likewise.
15548 * util/grub.d/10_windows.in: Likewise.
15549 * util/grub.d/20_linux_xen.in: Likewise.
15550
766f7d08
VS
155512011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 Remove redundant grub_kernel_image_size.
15554
15555 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15556 _edata and _start.
15557 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15558 the small code. It moves it only by few bytes but simplifies the code.
15559 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15560 _start.
15561 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15562 (grub_kernel_image_size): Removed.
15563 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15564 (grub_kernel_image_size): Removed.
15565 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15566 compiled with Apple toolchain.
15567 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15568 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15569 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15570 (grub_total_module_size): Likewise.
15571 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15572 Removed.
15573 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15574 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15575 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15576 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15577 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15578 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15579 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15580 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15581 Removed.
15582 (grub_total_module_size): Removed.
15583 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15584 (image_targets): Likewise.
15585 Set .compressed_size to no field on sparc.
15586 (generate_image): Remove kernel_image_size handling.
15587
fcf1d672
SJ
155882011-10-19 Szymon Janc <szymon@janc.net.pl>
15589
15590 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15591 NULL pointer dereference.
15592
de9c615e
VS
155932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15594
15595 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15596 done with a dedicated section.
15597
15598 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15599 Ensure the correct position of boot_path.
15600 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15601 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15602 other fields.
15603 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15604 * include/grub/boot.h: Removed. All references removed.
15605 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15606 Removed.
15607 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15608
e55599dc
VS
156092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15612 name.
15613
36dd20ad
VS
156142011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15617
f8f72eb8
VS
156182011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15621 Don't add the bogus brackets.
15622
a374751b
VS
156232011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 ExFAT support.
15626
15627 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15628 * grub-core/Makefile.core.def (exfat): New module.
15629 * grub-core/fs/exfat.c: New file.
15630 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15631 (GRUB_FAT_ATTR_*): Make into an enum.
15632 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15633 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15634 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15635 (GRUB_FAT_MAXFILE): Removed.
15636 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15637 (grub_current_fat_bpb_t): New type.
15638 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15639 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15640 (grub_fat_dir_node_t): New type.
15641 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15642 (fat_log2) [MODE_EXFAT]: Removed.
15643 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15644 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15645 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15646 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15647 (grub_fat_label) [MODE_EXFAT]: New function.
15648 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15649 reserved_first_sector to 0.
15650
544c2487
VS
156512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15652
15653 Move grub_reboot out of the kernel.
15654
15655 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15656 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15657 * grub-core/lib/efi/reboot.c: ... here.
15658 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15659 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15660 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15661 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15662 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15663 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15664 * grub-core/lib/ieee1275/reboot.c: ... here.
15665 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15666 * grub-core/lib/mips/arc/reboot.c: ... here.
15667 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15668 * grub-core/lib/mips/loongson/reboot.c: ...here.
15669 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15670 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15671 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15672 * include/grub/i386/reboot.h: New file.
15673 * include/grub/mips/loongson/ec.h: Fix includes.
15674 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15675 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15676 * grub-core/lib/i386/reboot.c: New file.
15677
a97501d2
VS
156782011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 Make grub_prefix into module to fix the arbitrary limit and save
15681 some space.
15682
15683 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15684 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15685 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15686 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15687 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15688 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15689 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15690 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15691 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15692 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15693 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15694 * include/grub/ia64/efi/kernel.h: Removed.
15695 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15696 (grub_prefix): Removed.
15697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15698 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15699 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15700 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15701 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15702 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15703 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15704 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15705 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15706 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15707 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15708 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15709 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15710 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15711 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15712 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15713 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15714 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15715 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15716 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15717 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15718 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15719 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15720 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15721 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15722 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15723 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15724 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15725 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15726 from module.
15727 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15728 prefix_end.
15729 (image_targets): Likewise.
15730 (generate_image): Put prefix as a module.
15731
39705fad
VS
157322011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 Replace grub_module_iterate with FOR_MODULES.
15735
15736 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15737 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15738 (grub_efi_modules_addr): ...this.
15739 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15740 (grub_efi_init): Set grub_modbase.
15741 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15742 (grub_modbase): New variable.
15743 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15744 (grub_modbase): New variable.
15745 (grub_machine_init): Set grub_modbase.
15746 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15747 (grub_modbase): New variable.
15748 (grub_machine_init): Set grub_modbase.
15749 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15750 (grub_modbase): New variable.
15751 (grub_machine_init): Set grub_modbase.
15752 * grub-core/kern/main.c (grub_module_iterate): Remove.
15753 (grub_modules_get_end): Use grub_modbase.
15754 (grub_load_modules): Use FOR_MODULES.
15755 (grub_load_config): Likewise.
15756 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15757 (grub_modbase): New variable.
15758 (grub_machine_init): Set grub_modbase.
15759 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15760 (grub_modbase): New variable.
15761 (grub_machine_init): Set grub_modbase.
15762 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15763 Removed.
15764 (grub_modbase): New variable.
15765 (grub_machine_init): Set grub_modbase.
15766 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15767 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15768 (grub_module_iterate): Likewise.
15769 (grub_modbase): New variable declaration.
15770 (FOR_MODULES): New macro.
15771
2afb7f6c
VS
157722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15775 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15776
366e34fa
VS
157772011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 Fix few obvious type discrepancies.
15780
15781 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15782 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15783 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15784 variable.
15785 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15786 and connected types.
15787 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15788 offset.
15789 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15790 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15791 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15792 and connected types.
15793
177b960e
VS
157942011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 Fix python 3.x incompatibilities.
15797
15798 * gentpl.py: Put brackets around print strings.
15799 * util/import_gcry.py: Open explicitly as utf-8.
15800 Use in instead of has_key.
15801
3b619ae1
VS
158022011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15805 (GRUB_XFS_INO_AGBITS): Make into inline function.
15806 (GRUB_XFS_INO_INOINAG): Likewise.
15807 (GRUB_XFS_INO_AG): Likewise.
15808 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15809 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15810 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15811 (GRUB_XFS_EXTENT_SIZE): Likewise.
15812 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15813 (GRUB_XFS_NEXT_DIRENT): Likewise.
15814 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15815 (grub_xfs_read_file): Fix offset type.
15816
8bcebcb8
RM
158172011-10-15 Robert Millan <rmh@gnu.org>
15818
15819 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15820
0017e5ef
RM
158212011-10-15 Robert Millan <rmh@gnu.org>
15822
15823 Fix build problem on FreeBSD and GNU/kFreeBSD.
15824
15825 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15826
d8919552
VS
158272011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15830
15831 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15832 types.
15833 (grub_hfsplus_btree_recoffset): Likewise.
15834 (grub_hfsplus_btree_recptr): Likewise.
15835 (grub_hfsplus_find_block): Likewise.
15836 (grub_hfsplus_btree_search): Likewise.
15837 (grub_hfsplus_read_block): Likewise.
15838 (grub_hfsplus_read_file): Likewise.
15839 (grub_hfsplus_mount): Likewise.
15840 (grub_hfsplus_btree_iterate_node): Likewise.
15841 (grub_hfsplus_btree_search): Likewise.
15842 (grub_hfsplus_iterate_dir): Likewise.
15843 (grub_hfsplus_read): A small code simplification.
15844
c81296b6
VS
158452011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * grub-core/kern/emu/hostdisk.c
15848 (convert_system_partition_to_system_disk): Don't assume that children
15849 of mapper nodes are mapper nodes.
15850
0eb8ffb1
VS
158512011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15854 * include/grub/misc.h (grub_isxdigit): New function.
15855 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15856 switched to grub_isxdigit.
15857 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15858 number starting with a letter.
15859
a98f4a08
RM
158602011-10-09 Robert Millan <rmh@gnu.org>
15861
15862 LVM support for FreeBSD and GNU/kFreeBSD.
15863
15864 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15865 GNU/kFreeBSD.
15866 (LVM_DEV_MAPPER_STRING): Move from here ...
15867 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15868 * util/getroot.c: Include `<grub/util/lvm.h>'.
15869 (grub_util_get_dev_abstraction): Enable
15870 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15871 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15872 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15873 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15874 support it.
15875 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15876 GNU/kFreeBSD.
15877 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15878 when LVM abstraction is required for ${GRUB_DEVICE}.
15879
050e8e90
SJ
158802011-10-06 Szymon Janc <szymon@janc.net.pl>
15881
15882 Add support for LZO compression in GRUB:
15883 - import of minilzo library,
15884 - LZO decompression for btrfs,
15885 - lzop files decompression.
15886
15887 * grub-core/io/lzopio.c: New file.
15888 * grub-core/lib/adler32.c: Likewise.
15889 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15890 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15891 * grub-core/lib/minilzo/minilzo.c: Likewise.
15892 * grub-core/lib/minilzo/minilzo.h: Likewise.
15893 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15894 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15895 grub-core/lib/minilzo/minilzo.c to common.
15896 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15897 cflags in cppflags.
15898 * grub-core/Makefile.core.def (btrfs): Likewise.
15899 * grub-core/Makefile.core.def (lzopio): New module.
15900 (adler32): Likewise.
15901 * grub-core/fs/btrfs.c: Include minilzo.h.
15902 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15903 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15904 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15905 (grub_btrfs_lzo_decompress): New function.
15906 (grub_btrfs_extent_read): Add support for LZO compression type.
15907 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15908 (GRUB_USHRT_MAX): Likewise.
15909 (GRUB_UINT_MAX): Likewise.
15910 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15911 (UINT_MAX): Likewise.
15912 (CHAR_BIT): Likewise.
15913 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15914 grub-core/lib/posix_wrap/limits.h
15915 (UCHAR_MAX): Likewise.
15916 * include/grub/file.h (grub_file_filter_id): New compression filter
15917 GRUB_FILE_FILTER_LZOPIO.
15918 * include/grub/file.h (grub_file_filter_id): Set
15919 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15920 * include/grub/types.h (grub_get_unaligned16): New function.
15921 (grub_get_unaligned32): Likewise.
15922 (grub_get_unaligned64): Likewise.
15923 * util/import_gcry.py (cryptolist): Add adler32.
15924
0eb8ffb1
VS
159252011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15928 in perspective decreases the complexity of build system and fixes
15929 compilation right now.
15930
ce79cc99 159312011-10-01 Ales Nesrsta <starous@volny.cz>
15932
15933 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15934 (fixed problem related to using UHCI with coreboot).
15935
8667a314
BC
159362011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15937
15938 * gentpl.py: Use Autogen macros so that the output template file
15939 (Makefile.tpl) size is reduced.
15940
fc5efcc0
MK
159412011-09-29 Mads Kiilerich <mads@kiilerich.com>
15942
15943 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15944 extra_dist.
15945
d1ab689d
ML
159462011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15947
15948 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15949 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15950
c05de032
ML
159512011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15952
15953 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15954 _fullpath.
15955
cca7ccd8
ML
159562011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15957
15958 Remove extra declaration of sleep for mingw32.
15959
15960 * util/misc.c (sleep) [__MINGW32__]: Removed.
15961 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15962
e0b0dc83
GS
159632011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15964
15965 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15966 type and packname.
15967 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15968 Resurrected.
15969 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15970 (grub_netbsd_btinfo_bootwedge): New struct.
15971 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15972 New function.
15973 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15974
91a1a164
TH
159752011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15976
15977 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15978 loader.
15979
2ded951e
AB
159802011-09-28 Andreas Born <futur.andy@googlemail.com>
15981
15982 Fix incorrect identifiers in bash-completion.
15983
15984 * util/bash-completion.d/grub-completion.bash.in
15985 (_grub_mkpasswd-pbkdf2): Rename to ...
15986 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15987 (_grub_script-check): Rename to ...
15988 (_grub_script_check): ... this. All users updated.
15989
69915030
VS
159902011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15993 Return 0 if disk isn't biosdisk.
15994
20fd15f9
GS
159952011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15996
15997 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15998 on NetBSD.
15999 * Makefile.util.def (grub-fstest): Likewise.
16000
1a7d7db9
GS
160012011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
16002
16003 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
16004 Get sector size from disk label.
16005
2221ab6c
CW
160062011-09-05 Colin Watson <cjwatson@ubuntu.com>
16007
16008 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
16009 */README* as well as README*.
16010 Reported by: Axel Beckert.
16011
ca51c4a0
VS
160122011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
16015 case of less than 256 MiB of RAM.
16016
ab80f326
VS
160172011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * grub-core/commands/wildcard.c (make_regex): Handle @.
16020
4155e697
VS
160212011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
16022
16023 * util/grub-install.in: Move cryptodisk logic to appropriate place.
16024
ab178c08
SJ
160252011-08-21 Szymon Janc <szymon@janc.net.pl>
16026
16027 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
16028 AC_LANG_CONFTEST macros.
16029
7dc3c686
SJ
160302011-08-20 Szymon Janc <szymon@janc.net.pl>
16031
16032 Add grub-fstest option to uncompress data for commands.
16033
16034 * util/grub-fstest.c (uncompress): New var.
16035 (options): New option -u.
16036
fe8d4a7b
SJ
160372011-08-20 Szymon Janc <szymon@janc.net.pl>
16038
16039 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16040 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16041
a5219af1
SJ
160422011-08-20 Szymon Janc <szymon@janc.net.pl>
16043
16044 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16045 file type was not recognized correctly (not gzip or corrupted).
16046
f87abff5
VS
160472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16050 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16051
d94497ea
VS
160522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16055 loongson.
16056 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16057 video_radeon_fuloong2e.
16058 * grub-core/video/radeon_fuloong2e.c: New file.
16059 * include/grub/video.h (grub_video_id_t): Add new ID
16060 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16061
0d1fd011
VS
160622011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16065 define.
16066 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16067 that PRID matches the detected subplatform and reset the subplatform
16068 if it doesn't.
16069
84beb0ee
VS
160702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16073
1227c133
VS
160742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 Fix PCI iterating on functions >= 4.
16077
16078 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16079 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16080 Removed.
16081 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16082 (grub_pci_read): Fix bitmask.
16083 (grub_pci_read_word): Likewise.
16084 (grub_pci_read_byte): Likewise.
16085 (grub_pci_write): Likewise.
16086 (grub_pci_write_word): Likewise.
16087 (grub_pci_write_byte): Likewise.
16088
9594c689
VS
160892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16092 can still be specified in TARGET_CFLAGS)
16093
14a2562c
VS
160942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16097
16098 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16099 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16100 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16101 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16102 (FULOONG): Rename to ...
16103 (FULOONG2F): ... this. All users updated.
16104 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16105 (machtype_fuloong2f_str): ... this.
16106 (machtype_fuloong2e_str): New string.
16107 Check for machtype_fuloong2e_str.
16108 * grub-core/loader/mips/linux.c (loongson_machtypes)
16109 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16110 * grub-core/term/serial.c (loongson_defserial)
16111 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16112 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16113 loongson_defserial.
16114 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16115 Rename to ...
16116 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16117 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16118 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16119 to IMAGE_FULOONG2F_FLASH. All users updated.
16120 (image_targets): Rename images.
16121 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16122
b526cbb6
SJ
161232011-08-19 Szymon Janc <szymon@janc.net.pl>
16124
16125 Make enable of disk cache statistics code configurable.
16126
16127 * configure.ac: --enable-cache-stats added.
16128 * config.h.in (DISK_CACHE_STATS): New define.
16129 * grub-core/Makefile.core.def (cacheinfo): New command.
16130 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16131 * grub-core/commands/cacheinfo.c: New file.
16132 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16133 moved to cacheinfo.c.
16134 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16135 debug code.
16136 * include/grub/disk.h: Likewise.
16137
fb739ccd
SJ
161382011-08-19 Szymon Janc <szymon@janc.net.pl>
16139
16140 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16141 * grub-core/Makefile.am: Likewise.
16142
2bba8cfd
VS
161432011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16146 non-zero pull.
16147
43526629
VS
161482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16151 All users updated.
16152 (grub_jfs_lookup_symlink): Use correct starting inode.
16153
5c144cc8
VS
161542011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * util/grub-setup.c (main): Add missing gcry initialisation.
16157
b1257f65
VS
161582011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 Don't accept text modes on EFI when booting Linux.
16161
16162 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16163 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16164
828bc390
ML
161652011-08-15 Mario Limonciello <mario_limonciello@dell.com>
161662011-08-15 Colin Watson <cjwatson@ubuntu.com>
16167
16168 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16169 use of "/path/.." as in grub-install for EFI as well as handling
16170 symlinks correctly.
16171 Fixes Debian bug #637768.
16172
5f60ccac
CW
161732011-08-15 Colin Watson <cjwatson@ubuntu.com>
16174
16175 * util/grub-probe.c: Remove duplicate #include.
16176
6dc212f9
RM
161772011-08-10 Robert Millan <rmh@gnu.org>
16178
16179 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16180
16181 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16182 function.
16183 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16184 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16185
66816d85
RM
161862011-08-03 Robert Millan <rmh@gnu.org>
16187
16188 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16189 la_array as packed.
16190 Reported by: Zachary Bedell
16191
20168fca
CW
161922011-07-26 Colin Watson <cjwatson@ubuntu.com>
16193
16194 * configure.ac: The Loongson port requires grub-mkfont due to its
16195 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16196 be built.
16197
303b6246
CW
161982011-07-26 Colin Watson <cjwatson@ubuntu.com>
16199
16200 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16201 processing arguments (otherwise help2man fails when GRUB has not yet
16202 been installed).
16203
6795300e
VS
162042011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16205
41aa28ea
VS
16206 New script grub-mkstandalone.
16207
16208 * Makefile.util.def (grub-mkstandalone): New script.
16209 * docs/man/grub-mkstandalone.h2m: New file.
16210 * util/grub-mkstandalone.in: Likewise.
16211
162122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 Support ATA disks with 4K sectors.
6795300e
VS
16215
16216 * include/grub/ata.h (grub_ata): New member log_sector_size.
16217 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16218 (grub_ata_identify): Read sector size.
16219 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16220
92227597
VS
162212011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * util/grub-install.in: Don't use uhci outside of x86.
16224
c77069f5
VS
162252011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 * util/grub-mkrescue.in: Add missing quotes.
16228
162292011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16230
16231 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16232 dereference.
16233
583168a2
VS
162342011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16237
6be1c01f
VS
162382011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * include/grub/video.h: add missing EXPORT_FUND on
16241 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16242
a1167439
VS
162432011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * include/grub/mips/kernel.h: Fix define conflict.
16246
bf66054f
VS
162472011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16250 all four ways.
16251
8fc4fa45
CW
162522011-07-21 Colin Watson <cjwatson@ubuntu.com>
16253
16254 Preferred resolution detection for VBE.
16255
16256 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16257 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16258 the Flat Panel extension, in line with the X.org VESA driver.
16259 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16260 New function.
16261 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16262 (grub_vbe_bios_read_edid): Likewise.
16263 (grub_vbe_get_preferred_mode): Likewise.
16264 (grub_video_vbe_setup): When the mode is "auto", try to get the
16265 preferred mode from VBE, and use the largest mode that is no larger
16266 than the preferred mode (some BIOSes expose a preferred mode that is
16267 not in their mode list!). If this fails, fall back to 640x480 as a
16268 safe conservative choice.
16269 (grub_video_vbe_get_edid): New function.
16270 (grub_video_vbe_adapter): Add get_edid.
16271 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16272 (struct grub_video_adapter): Add get_edid.
16273 (grub_video_edid_checksum): Add prototype.
16274 (grub_video_edid_preferred_mode): Likewise.
16275 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16276 structure.
16277
16278 * grub-core/commands/videoinfo.c (print_edid): New function.
16279 (grub_cmd_videoinfo): Print EDID if available.
16280
16281 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16282 is more appropriate on a wider range of platforms than 640x480.
16283 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16284 documentation.
16285
ca5572a9
VS
162862011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16289
e4bcf625
VS
162902011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * po/POTFILES.in: Regenerate.
16293
c4edd548
VS
162942011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16297 incorrect memory usage.
16298
16a2bab0
VS
162992011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 * util/grub-install.in: Source grub-mkconfig_lib.
16302
2e418de6
VS
163032011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 Remove getroot.c from core on emu platform.
16306
16307 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16308 kern/emu/raid.c.
16309 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16310 useless.
16311 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16312 * util/getroot.c (get_win32_path): ... here.
16313 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16314 * util/getroot.c (fini_libzfs): ... here.
16315 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16316 * util/getroot.c (grub_get_libzfs_handle): ... here.
16317 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16318 Moved from here...
16319 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16320 * grub-core/kern/emu/misc.c
16321 (grub_make_system_path_relative_to_its_root): Moved from here...
16322 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16323 * grub-core/kern/emu/getroot.c: Moved from here ...
16324 * util/getroot.c: ... here. All users updated.
16325 * grub-core/kern/emu/raid.c: Moved from here ...
16326 * util/raid.c: ... here. All users updated.
16327
def9832a
VS
163282011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 * po/POTFILES.in: Regenerate.
16331
cd8fe79a
VS
163322011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 Fix compilation on GNU/Linux.
16335
16336 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16337 Disable geli.
16338 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16339 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16340 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16341
a251b719
VS
163422011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
163432011-07-07 Michael Gorven <michael@gorven.za.net>
163442011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16345
16346 LUKS and GELI support.
16347
16348 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16349 grub-core/disk/luks.c, grub-core/disk/geli.c,
16350 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16351 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16352 grub-core/lib/arg.c.
16353 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16354 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16355 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16356 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16357 (grub-bin2h): Add libgcry.a.
16358 (grub-mkimage): Likewise.
16359 (grub-mkrelpath): Likewise.
16360 (grub-script-check): Likewise.
16361 (grub-editenv): Likewise.
16362 (grub-mkpasswd-pbkdf2): Likewise.
16363 (grub-pe2elf): Likewise.
16364 (grub-fstest): Likewise.
16365 (grub-mkfont): Likewise.
16366 (grub-mkdevicemap): Likewise.
16367 (grub-probe): Likewise.
16368 (grub-ofpath): Likewise.
16369 (grub-mklayout): Likewise.
16370 (example_unit_test): Likewise.
16371 (grub-menulst2cfg): Likewise.
16372 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16373 * grub-core/Makefile.core.def (cryptodisk): New module.
16374 (luks): Likewise.
16375 (geli): Likewise.
16376 * grub-core/disk/AFSplitter.c: New file.
16377 * grub-core/disk/cryptodisk.c: Likewise.
16378 * grub-core/disk/geli.c: Likewise.
16379 * grub-core/disk/luks.c: Likewise.
16380 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16381 grub_util_is_lvm.
16382 (grub_util_get_dm_abstraction): New function.
16383 (grub_util_follow_gpart_up): Likewise.
16384 (grub_util_get_geom_abstraction): Likewise.
16385 (grub_util_get_dev_abstraction): Use new functions.
16386 (grub_util_pull_device): Pull GELI and LUKS.
16387 (grub_util_get_grub_dev): Handle LUKS and GELI.
16388 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16389 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16390 (follow_geom_up): Removed.
16391 (grub_util_fd_seek): New function.
16392 (open_device): Use grub_util_fd_seek.
16393 (nread): Rename to ..
16394 (grub_util_fd_read): ... this. All users updated.
16395 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16396 (grub_crypto_cbc_decrypt): Likewise.
16397 (grub_crypto_hmac_write): Likewise.
16398 (grub_crypto_hmac_buffer): Likewise.
16399 (grub_password_get): Extend to util.
16400 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16401 New member modname.
16402 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16403 * include/grub/cryptodisk.h: New file.
16404 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16405 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16406 LUKS and GELI.
16407 (grub_util_follow_gpart_up): New proto.
16408 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16409 (grub_util_fd_read): Likewise.
16410 (grub_cryptodisk_cheat_mount): Likewise.
16411 (grub_util_cryptodisk_print_uuid): Likewise.
16412 (grub_util_get_fd_sectors): Likewise.
16413 * util/grub-fstest.c (mount_crypt): New var.
16414 (fstest): Mount crypto if requested.
16415 (options): New option -C.
16416 (argp_parser): Parse -C.
16417 (main): Init and fini gcry.
16418 * util/grub-install.in: Support cryptodisk install.
16419 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16420 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16421 cryptodisk.
16422 (prepare_grub_to_access_device): Likewise.
16423 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16424 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16425 (probe_cryptodisk_uuid): New function.
16426 (probe_abstraction): Likewise.
16427 (probe): Use new functions.
16428 * util/import_gcry.py: Create Makefile.utilgcry.def.
16429 Add modname member.
16430
9bfdcbbc
VS
164312011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Lazy device scanning.
16434
16435 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16436 (grub-setup): Remove util/raid.c.
16437 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16438 * grub-core/disk/lvm.c (scan_depth): New variable.
16439 (grub_lvm_iterate): Rescan if necessary.
16440 (find_lv): New function based on grub_lvm_open.
16441 (grub_lvm_open): Use find_lv. Rescan on error.
16442 (is_node_readable): New function.
16443 (is_lv_readable): Likewise.
16444 (grub_lvm_scan_device): Skip already found disks.
16445 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16446 Stop if searched device is found and readable.
16447 * grub-core/disk/raid.c (inscnt): New variable.
16448 (scan_depth): Likewise.
16449 (scan_devices): New function based on grub_raid_register. Abort if
16450 looked for device is found.
16451 (grub_raid_iterate): Rescan if needed.
16452 (find_array): NEw function based on -grub_raid_open.
16453 (grub_raid_open): Use find_array and rescan.
16454 (insert_array): Set became_readable_at.
16455 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16456 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16457 New function.
16458 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16459 (grub_util_pull_device): New function.
16460 (grub_util_get_grub_dev): Call grub_util_pull_device.
16461 * util/raid.c: Moved to ..
16462 * grub-core/kern/emu/raid.c: ... here.
16463 (grub_util_raid_getmembers): New parameter "bootable".
16464 All users updated. Support 1.x.
16465 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16466 All users updated.
16467 * include/grub/disk.h (grub_disk_pull_t): New enum.
16468 (grub_disk_dev): Change iterate prototype.
16469 All users updated.
16470 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16471 New proto.
16472 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16473 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16474 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16475 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16476 All users updated.
16477 * include/grub/util/raid.h: Removed.
16478
1c358e59
VS
164792011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16480
16481 * po/POTFILES.in: Regenerate.
16482
abee94ed
VS
164832011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 Unify sparc init with other ieee1275.
16486
16487 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16488 instead of kern/sparc64/ieee1275/init.c.
16489 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16490 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16491 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16492 grub/machine/kernel.h.
16493 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16494 (grub_claim_heap) [__sparc__]: Use sparc version.
16495 (grub_machine_init): Moved args parsing to
16496 (grub_parse_cmdline): ...this.
16497 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16498 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16499 New definition.
16500 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16501
16502 Move BOOTP to separate file.
16503
16504 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16505 * grub-core/net/net.c: Move all BOOTP functions to
16506 * grub-core/net/bootp.c: ... here.
16507
16508 Use frame interface on PXE.
16509
16510 * grub-core/Makefile.core.def (pxecmd): Removed.
16511 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16512 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16513 * grub-core/i386/pc/pxe.c: Moved from here ...
16514 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16515 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16516 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16517
16518 EFI network support.
16519
16520 * grub-core/Makefile.core.def (efinet): New module.
16521 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16522 here...
16523 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16524 All users updated.
16525 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16526 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16527 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16528 * grub-core/net/drivers/efi/efinet.c: New file.
16529 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16530 (grub_efi_net_config): New extern var.
16531
16532 Various cleanups and bugfixes.
16533
16534 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16535 error.
16536 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16537 disk declared as partition.
16538 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16539 leak on failure.
16540 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16541 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16542 (grub_debug_zalloc): Likewise.
16543 (grub_debug_realloc): Likewise.
16544 (grub_debug_memalign): Likewise.
16545 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16546 Check that target is IPv4.
16547 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16548 local-mac-address as fallback.
16549 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16550 memory leak.
16551 * grub-core/net/ip.c (ipchksum): Rename to ...
16552 (grub_net_ip_chksum): ... this. All users updated.
16553 (grub_net_recv_ip_packets): Special handling for DHCP.
16554 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16555
16556 Unify prefix handling
16557
16558 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16559 (grub_machine_get_bootlocation): ... this.
16560 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16561 (grub_machine_get_bootlocation): ... this.
16562 (grub_prefix): New variable.
16563 (prefix): Removed.
16564 (root_dev): New variable.
16565 (dir): Likewise.
16566 (main): Use new variables.
16567 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16568 Revamped into ...
16569 (grub_machine_get_bootlocation): ... this.
16570 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16571 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16572 (grub_machine_get_bootlocation): ... this.
16573 (grub_machine_set_prefix): Removed.
16574 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16575 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16576 Revamped into ...
16577 (grub_machine_get_bootlocation): ... this.
16578 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16579 (grub_set_prefix_and_root): ... this. All users updated.
16580 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16581 Revamped into ...
16582 (grub_machine_get_bootlocation): ... this.
16583 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16584 (grub_machine_get_bootlocation): New proto.
16585 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16586
16587 Less intrusive and more reliable seek on network implementation.
16588
16589 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16590 (grub_file_seek): Don't call grub_file_net_seek.
16591 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16592 (grub_net_fs_read_real): .. this.
16593 (grub_net_seek_real): Use net->offset.
16594 (grub_net_fs_read): Seek if necessary.
16595
16596 Unify IEEE1275 netwotk config with the other platforms.
16597
16598 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16599 New variable.
16600 (grub_machine_get_bootlocation): Support network.
16601 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16602 Support type and device parsing.
16603 (grub_ieee1275_get_device_type): New function.
16604 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16605 into ...
16606 (grub_ieee1275_net_config_real): ... this.
16607 (grub_ofnet_probecards): Removed.
16608 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16609 * include/grub/ieee1275/ofnet.h: Removed.
16610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16611 extern var.
16612 (grub_ieee1275_get_device_type): New function.
16613
16614 Unify network device closing across platforms and make more robust.
16615
16616 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16617 grub_grubnet_fini.
16618 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16619 already.
16620 * grub-core/net/net.c (grub_net_network_level_interface_register):
16621 Update num_ifaces.
16622 (grub_net_card_unregister): Close all interfaces.
16623 (receive_packets): Don't poll if no iterfaces are registered.
16624 Open if necessary.
16625 (grub_net_fini_hw): New function.
16626 (grub_net_restore_hw): Likewise.
16627 (fini_hnd): New variable.
16628 (GRUB_MOD_INIT): Register preboot hook.
16629 (GRUB_MOD_FINI): Run and unregister preboot hook.
16630
16631 Poll network cards when idle.
16632
16633 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16634 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16635 * grub-core/net/net.c (receive_packets): Save last poll time.
16636 (grub_net_poll_cards_idle_real): New function.
16637 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16638 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16639 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16640
16641 Rename ofnet interfaces.
16642
16643 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16644 (grub_ofnet_findcards): Use ofnet_%s names.
16645
16646 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16647
16648 Cleanup socket opening.
16649
16650 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16651 (grub_net_fs_close): Likewise.
16652 (grub_net_fs_read_real): Use eof member.
16653 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16654 (+grub_net_udp_close): New inline function.
16655
16656 * include/grub/net/tftp.h: Moved to the top of ...
16657 * grub-core/net/tftp.c: ... here.
16658 * include/grub/net/ip.h: Moved mostly to the top of ...
16659 * grub-core/net/ip.c: ... here.
16660 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16661 * grub-core/net/ethernet.c: ... here.
16662
16663 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16664
16665 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16666 FS name.
16667
16668 * include/grub/net/ip.h (ipv4_ini): Removed.
16669 (ipv4_fini): Likewise.
16670
16671 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16672 (grub_net_send_ip_packets): Likewise.
16673
cf1337aa
VS
166742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16677 grub_read_cmos prototype.
16678
93c06ff9
VS
166792011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 VGA text support in qemu-mips
16682
16683 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16684 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16685 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16686 text.
16687 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16688 * grub-core/kern/vga_init.c: ... this.
16689 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16690 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16691 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16692 Adjust.
16693 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16694 GRUB_MACHINE_PCI_IO_BASE.
16695
748ccabe
VS
166962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 MIPS qemu flash support.
16699
16700 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16701 magic.
16702 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16703 (grub_machine_init): Probe memory if its size isn't known.
16704 * util/grub-mkimage.c (image_targets): Add flash targets.
16705 (generate_image): Handle flash targets.
16706
d7345994
VS
167072011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 MIPS qemu at_keyboard support.
16710
16711 * gentpl.py (videoinkernel): Add qemu-mips.
16712 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16713 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16714 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16715 modules.
16716 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16717 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16718 * grub-core/term/serial.c (grub_serial_register)
16719 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16720
a07a81b3
VS
167212011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 CMOS support on sparc.
16724
16725 * gentpl.py (cmos): Add powerpc and sparc.
16726 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16727 powerpc and sparc.
16728 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16729 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16730 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16731 grub_set_datetime_cmos.
16732 * grub-core/lib/ieee1275/cmos.c: New file.
16733 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16734 (find_rtc): Set no_ieee1275_rtc on error.
16735 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16736 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16737 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16738 fail. Move value to argument. All users updated
16739 (grub_cmos_write): Likewise.
16740 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16741 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16742 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16743 grub_get_datetime_cmos and grub_set_datetime_cmos.
16744
77546584
GS
167452011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16746
16747 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16748 sourcing grub-mkconfig_lib.
16749 * util/update-grub_lib.in: Likewise.
16750 * util/grub.d/00_header.in: Likewise.
16751 * util/grub.d/10_hurd.in: Likewise.
16752 * util/grub.d/10_kfreebsd.in: Likewise.
16753 * util/grub.d/10_linux.in: Likewise.
16754 * util/grub.d/10_netbsd.in: Likewise.
16755 * util/grub.d/10_windows.in: Likewise.
16756 * util/grub.d/20_linux_xen.in: Likewise.
16757 * util/grub.d/30_os-prober.in: Likewise.
16758
54894791
CW
167592011-06-28 Colin Watson <cjwatson@ubuntu.com>
16760
16761 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16762 default_bg_color rather than black.
16763 (grub_gfxterm_fullscreen): Likewise.
16764 (grub_gfxterm_background_color_cmd): Save new background color in
16765 default_bg_color.
16766
8d5d8444
VS
167672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16768
16769 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16770
5afeb5bd
VS
167712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16774 mismerge.
16775
ba7df45e
VS
167762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 Chainloading on coreboot support.
16779
16780 * grub-core/Makefile.core.def (chain): Add coreboot.
16781 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16782
d0b526b2
VS
167832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16786 if it happens.
16787
5ff1d945
VS
167882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 Implement time command.
16791
16792 * grub-core/Makefile.core.def (time): New module.
16793 * grub-core/commands/time.c: New file.
16794 * grub-core/script/parser.y: Remove "time" keyword.
16795 * grub-core/script/yylex.l: Likewise.
16796
5ebaad7e
VS
167972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16800
bdea3798
VS
168012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16804 when handling leftovers.
16805
b28c5655
VS
168062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16809 so that help2man doesn't fail.
16810
b6f945dc
VS
168112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16814 type in pointers on sparc64.
16815 (get_card_packet): Likewise.
16816
f9b75e8a
CW
168172011-06-27 Colin Watson <cjwatson@ubuntu.com>
16818
16819 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16820 with `*'.
16821 (grub_cmd_videoinfo): Fetch current video mode.
16822
1e3d9b86
VS
168232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16824
16825 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16826 because of underlying system restrictions.
16827
efff4b1c
VS
168282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16831 necessary.
16832
9fc9ce37
VS
168332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16834
16835 Coreboot video support.
16836
16837 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16838 (vbe): Likewise.
16839 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16840 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16841 here ...
16842 * grub-core/kern/i386/int.S: ... here.
16843 * grub-core/video/i386/pc/vbe.c: Updated includes.
16844 * grub-core/video/i386/pc/vga.c: Likewise.
16845 * include/grub/i386/coreboot/memory.h
16846 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16847 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16848 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16849 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16850 Disable interrupts.
16851 * include/grub/i386/pc/vga.h: Removed. All users updated.
16852
41bec7fe
VS
168532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16854
16855 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16856 definitions for dprintf.
16857 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16858
ca80309d
VS
168592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16860
16861 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16862 prototype.
16863 (get_card_packet): Likewise.
16864
9e322ce8
YB
168652011-06-26 Yves Blusseau <blusseau@zetam.org>
16866
16867 Display the path of the file when file is not found
16868
16869 * grub-core/fs/fat.c: Display the filename when file is not found.
16870 * grub-core/fs/fshelp.c: Likewise.
16871 * grub-core/fs/hfs.c: Likewise.
16872 * grub-core/fs/jfs.c: Likewise.
16873 * grub-core/fs/minix.c: Likewise.
16874 * grub-core/fs/ufs.c: Likewise.
16875 * grub-core/fs/btrfs.c: Likewise.
16876 * grub-core/commands/i386/pc/play.c: Likewise.
16877
cbf597af
SJ
168782011-06-26 Szymon Janc <szymon@janc.net.pl>
16879
16880 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16881 pointer checks before calling grub_free().
16882 * grub-core/commands/wildcard.c (match_devices): Likewise.
16883 * grub-core/commands/wildcard.c (match_files): Likewise.
16884 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16885 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16886 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16887 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16888 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16889 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16890 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16891 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16892 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16893
6295b32f
P
168942011-06-25 Patrick <p55@mailinator.com>
16895
16896 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16897
77c0840b
VS
168982011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16901 (grub_pxe_send): Likewise.
16902 (GRUB_MOD_INIT): Fix types.
16903
40ea05de
SJ
169042011-06-24 Szymon Janc <szymon@janc.net.pl>
16905
16906 * grub-core/io/xzio.c: Fix code style issues
16907
90162423
MRA
169082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
169092011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16910
16911 Network infrastructure.
16912 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16913
16914 * include/grub/net/arp.h: New file.
90162423
MRA
16915 * include/grub/net/device.h: Likewise.
16916 * include/grub/net/ethernet.h: Likewise.
16917 * include/grub/net/ip.h: Likewise.
16918 * include/grub/net/netbuff.h: Likewise.
16919 * include/grub/net/tftp.h: Likewise.
16920 * include/grub/net/udp.h: Likewise.
16921 * include/grub/ieee1275/ofnet.h: Likewise.
16922 * include/grub/emu/export.h: Likewise.
16923 * include/grub/net.h: Likewise.
16924 * grub-core/net/arp.c: Likewise.
16925 * grub-core/net/ethernet.c: Likewise.
16926 * grub-core/net/ip.c: Likewise.
16927 * grub-core/net/udp.c: Likewise.
16928 * grub-core/net/tftp.c: Likewise.
16929 * grub-core/net/netbuff.c: Likewise.
16930 * grub-core/net/net.c: Likewise.
16931 * grub-core/net/drivers/emu/emunet.c: Likewise.
16932 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16933 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16934 export.h.
16935 * grub-core/Makefile.core.def (net): New module.
16936 (tftp): Likewise.
16937 (ofnet): Likewise.
16938 (emunet): Likewise.
16939 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16940 network protocols.
16941 * grub-core/kern/device.c (grub_net_open) : New variable.
16942 (grub_device_open): Handle network device.
16943 (grub_device_close): Likewise.
16944 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16945 (grub_grubnet_fini): Likewise.
16946 (grub_file_seek): Seek in network device.
16947 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16948 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16949 network root.
16950 (grub_machine_fini): Call grub_grubnet_fini.
16951 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16952 network.
16953 (grub_ieee1275_get_aliasdevname): New function.
16954 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16955 Add unofficial Solaris network info.
16956 (grub_multiboot_make_mbi): Likewise.
16957 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16958 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16959 * include/grub/device.h (grub_fs): Removed.
16960 * include/grub/err.h (grub_err_t): Add network-related values.
16961 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16962 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16963 (grub_ieee1275_get_aliasdevname): New proto.
16964 * include/grub/net.h: Rewritten.
423a1849 16965
031f22a0
VS
169662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16969 names.
16970
4388ca72
VS
169712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16974 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16975 it truncates the output.
16976 Reported by: Ximin Luo.
16977
98e2f506
VS
169782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16979
16980 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16981
2a5e94d8
VS
169822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16985 partmap before abstraction.
16986
535c1910
AK
169872011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16988
16989 * util/grub-mkconfig_lib.in: Add missing quotes.
16990
bc09e1a2
VS
169912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16994 old method if mountinfo would return /dev/root and /dev/root doesn't
16995 exist.
16996
290766fb
VS
169972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16998
16999 ZFS zlib support
17000
17001 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
17002 (decomp_table): Add zlib entries.
17003 (zio_read): USe 8 bits for compression function rather than 3.
17004 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
17005
170062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 * grub-core/disk/ahci.c: Add missing license statements.
17009 * grub-core/fs/romfs.c: Likewise.
17010 * grub-core/lib/ia64/setjmp.S: Likewise.
17011 * grub-core/loader/i386/pc/freedos.c: Likewise.
17012 * grub-core/loader/ia64/efi/linux.c: Likewise.
17013 * grub-core/video/colors.c: Likewise.
17014 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
17015
5ab3f48a
VS
170162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17017
17018 AHCI support.
17019
17020 * grub-core/Makefile.core.def (ata_pthru): Removed.
17021 (ahci): New module.
17022 (pata): Likewise.
17023 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
17024 on unload.
17025 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
17026 readwrite.
17027 (grub_hdparm_do_check_powermode_cmd): Likewise.
17028 (grub_hdparm_do_smart_cmd): Likewise.
17029 (grub_hdparm_set_val_cmd): Likewise.
17030 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
17031 * grub-core/disk/ahci.c: New file.
17032 * grub-core/disk/ata.c: Factor out the low-level part into ...
17033 * grub-core/disk/pata.c: ... here.
17034 * grub-core/disk/ata_pthru.c: Contents moved to ...
17035 * grub-core/disk/pata.c: ... here.
17036 * grub-core/disk/scsi.c (grub_scsi_names): New array.
17037 (grub_scsi_iterate): Use grub_scsi_names.
17038 (grub_scsi_open): Likewise.
17039 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17040 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17041 (grub_ata_regs_t): New struct.
17042 (grub_disk_ata_pass_through_parms): Likewise.
17043 (grub_ata_device): Renamed to ...
17044 (grub_ata): ... this.
17045 (grub_ata_dev): New struct.
17046 Removed all low-level inline functions.
17047 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17048 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17049 iterate hooks and open. All users updated.
17050 * util/grub-install.in: Handle AHCI disk module.
17051
c31dc5f5
SJ
170522011-06-23 Szymon Janc <szymon@janc.net.pl>
17053
17054 Add support for DRI and RSTn markers in JPEG files.
17055
17056 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17057 (JPEG_MARKER_RST0): Likewise.
17058 (JPEG_MARKER_RST1): Likewise.
17059 (JPEG_MARKER_RST2): Likewise.
17060 (JPEG_MARKER_RST3): Likewise.
17061 (JPEG_MARKER_RST4): Likewise.
17062 (JPEG_MARKER_RST5): Likewise.
17063 (JPEG_MARKER_RST6): Likewise.
17064 (JPEG_MARKER_RST7): Likewise.
17065 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17066 (grub_jpeg_decode_dri): New function.
17067 (grub_jpeg_decode_sos): Move image data related part into
17068 grub_jpeg_decode_data function.
17069 (grub_jpeg_decode_data): New function.
17070 (grub_jpeg_reset): New function.
17071 (grub_jpeg_decode_jpeg): Handle new markers.
17072
fe12fd5b
VS
170732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * util/ieee1275/ofpath.c (check_sas): Close fd.
17076 (main): Free of_path.
17077 Reported by: David Volgyes <dvolgyes>.
17078
03147f46
VS
170792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17082 Reported by: David Volgyes <dvolgyes>.
17083
cad3237f
VS
170842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17085
17086 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17087 file after stat.
17088 Reported by: David Volgyes <dvolgyes>.
17089
13548d26
VS
170902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17093
17094 Reported by: David Volgyes <dvolgyes>.
17095
e061a1b5
VS
170962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17099 Prevent memory leak.
17100
1abe47dc
VS
171012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17104 (main): Close file.
e061a1b5 17105 Reported by: David Volgyes <dvolgyes>.
1abe47dc 17106
fbc62666
VS
171072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17110 to continue if allocation is failed.
17111
17112 Reported by: David Volgyes <dvolgyes>.
17113
e98c83e9
DV
171142011-06-23 David Volgyes <dvolgyes>
17115
17116 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17117 dereference.
17118
a199a8cd
VS
171192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 Fix spurious warning.
17122
17123 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17124 (acorn_partition_map_find): Use .bin member.
17125
e2d1dba0
VS
171262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17129 /dev/root as a valid device.
17130
8a5d6919
JM
171312011-06-23 Jim Meyering <meyering@redhat.com>
17132
e2d1dba0
VS
17133 Avoid NULL deref in grub_device_open.
17134
8a5d6919
JM
17135 * grub-core/kern/device.c (grub_device_open): Don't dereference
17136 a NULL pointer upon failed grub_env_get.
17137
f7db6f4a
VS
171382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 Support non-512B sectors and agglomerate reads.
17141
17142 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17143 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17144 (disk_io_guid): Removed.
17145 (make_devices): Locate solely by BlockIO.
17146 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17147 (grub_efidisk_read): Use read_blocks.
17148 (grub_efidisk_write): Use write_blocks.
17149 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17150 log_sector_size.
17151 (get_safe_sectors): Handle non-512B sectors.
17152 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17153 sectors.
17154 (grub_biosdisk_write): Handle non-512B sectors.
17155 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17156 (grub_scsi_read): Remove special non-512B block handling (now handled
17157 one level up).
17158 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17159 and do sanity checks.
17160 (grub_disk_adjust_range): Handle non-512B sectors.
17161 (transform_sector): New function.
17162 (grub_disk_read_small): Likewise.
17163 (grub_disk_read): Rewritten.
17164 (grub_disk_write): Handle non-512B sectors.
17165 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17166 log_sector_size.
17167 (open_device): Use log_sector_size.
17168 (grub_util_biosdisk_read): Likewise.
17169 (grub_util_biosdisk_write): Likewise.
17170 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17171 non-512B sectors.
17172 (pc_partition_map_embed): Likewise.
17173 * include/grub/disk.h (grub_disk): New field log_sector_size.
17174 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17175 (GRUB_DISK_CACHE_BITS): Increased to 6.
17176 * util/grub-fstest.c (fstest): New command testload.
17177 (argp_parser): Likewise.
17178
881ac815
RM
171792011-06-16 Robert Millan <rmh@gnu.org>
17180
17181 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17182 `ata' driver on kernel of FreeBSD 9.
17183
17184 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17185 (get_ataraid_disk_name): New functions.
17186 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17187 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17188 get_ataraid_disk_name() and get_ada_disk_name().
17189
1e9aef7d
CW
171902011-06-13 Colin Watson <cjwatson@ubuntu.com>
17191
17192 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17193 input format.
17194
351c7c8a
CW
171952011-05-29 Colin Watson <cjwatson@ubuntu.com>
17196
17197 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17198 `ftp.gnu.org' for `alpha.gnu.org'.
17199
6b4e6430
CW
172002011-05-27 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17203 partitions under /dev/disk/by-id/.
17204
c64db050
CW
172052011-05-27 Colin Watson <cjwatson@ubuntu.com>
17206
17207 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17208 after ten consecutive open failures. Scanning all the way up to
17209 10000 is excessive and can cause serious performance problems in
17210 some configurations.
17211 Fixes Ubuntu bug #787461.
17212
245f4aba
VS
172132011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17214
17215 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17216 opening new one.
17217
f767c929
VS
172182011-05-21 Colin Watson <cjwatson@ubuntu.com>
172192011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 Don't stat devices unless we have to.
17222
17223 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17224 dir == /dev/mapper.
17225 (grub_guess_root_device): Use already known os_dev if possible.
17226 * grub-core/kern/emu/hostdisk.c
17227 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17228 if device is known to be a dm one.
17229
f35fa3a6
CW
172302011-05-20 Colin Watson <cjwatson@ubuntu.com>
17231
17232 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17233 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17234 Reported by: Pawel Tecza.
17235
9a79fcf2
VS
172362011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17237
17238 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17239 (lsefisystab): Likewise.
17240 (lssal): Likewise.
17241 (lsefimmap): Likewise.
17242 (hdparm): Enable on qemu-mips.
17243 (setjmp): Add ia64 nodist.
17244 (serial): Simplify tags.
17245
63e3eea9
CW
172462011-05-18 Colin Watson <cjwatson@ubuntu.com>
17247
17248 * Makefile.util.def (grub-ofpathname): Install manual page.
17249
09728256
CW
172502011-05-18 Colin Watson <cjwatson@ubuntu.com>
17251
17252 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17253
8b63a142
CW
172542011-05-18 Colin Watson <cjwatson@ubuntu.com>
17255
17256 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17257
e775d8ed
VS
172582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17261 into dprintf.
17262
bf947d36
VS
172632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 Use full 64-bit division.
17266
17267 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17268 (grub_divmod64): ... this.
17269 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17270 version.
17271
b84f26c5
CW
172722011-05-18 Colin Watson <cjwatson@ubuntu.com>
17273
17274 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17275 `source'.
17276
5626056f
CW
172772011-05-18 Colin Watson <cjwatson@ubuntu.com>
17278
17279 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17280 to avoid accidents when debugging with 'sh -x'.
17281 * grub-core/gensyminfo.sh.in: Likewise.
17282 * tests/example_scripted_test.in: Likewise.
17283 * tests/grub_cmd_regexp.in: Likewise.
17284 * tests/grub_script_blanklines.in: Likewise.
17285 * tests/grub_script_dollar.in: Likewise.
17286 * tests/grub_script_expansion.in: Likewise.
17287 * tests/grub_script_final_semicolon.in: Likewise.
17288 * tests/partmap_test.in: Likewise.
17289 * tests/util/grub-shell-tester.in: Likewise.
17290 * tests/util/grub-shell.in: Likewise.
17291
e2965f4a
CW
172922011-05-18 Colin Watson <cjwatson@ubuntu.com>
17293
17294 Move gfxmenu color handling to video, so that gfxterm can use it
17295 too.
17296
17297 * grub-core/gfxmenu/named_colors.c: Move to ...
17298 * grub-core/video/colors.c: ... here. Rename
17299 grub_gui_get_named_color to grub_video_get_named_color.
17300 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17301 * grub-core/video/colors.c (my_isxdigit): ... here.
17302 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17303 Move to ...
17304 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17305 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17306 to ...
17307 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17308
17309 * include/grub/gui.h (grub_gui_color_t): Move to ...
17310 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17311 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17312 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17313 * include/grub/gui.h (grub_gui_map_color): Move to ...
17314 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17315 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17316 to ...
17317 * include/grub/video.h (grub_video_get_named_color): ... here.
17318 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17319 * include/grub/video.h (grub_video_parse_color): ... here.
17320
17321 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17322 video/colors.c.
17323 (gfxmenu): Remove gfxmenu/named_colors.c.
17324 (video) [videomodules]: Add video/colors.c.
17325
17326 Add a background_color command.
17327
17328 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17329 function.
17330 (GRUB_MOD_INIT): Register background_color command.
17331 (GRUB_MOD_FINI): Unregister background_color command.
17332 (redraw_screen_rect): Allow blend/replace of text layer to be
17333 controlled independently from whether there is a background bitmap.
17334 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17335 changing bitmap.
17336
1e4b4390
VS
173372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17338
26618ff0
VS
17339 Patch BPB in ntldr and chainloader --bpb.
17340
1e4b4390
VS
17341 * grub-core/fs/fat.c: Include grub/fat.h.
17342 (grub_fat_bpb): Moved to ...
17343 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17344 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17345 grub/ntfs.h.
17346 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17347 Moved from here...
17348 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17349 here.
17350 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17351 New function.
17352 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17353 (GRUB_MOD_INIT): Show --bpb.
17354 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17355 * grub-core/normal/main.c (features): New variable.
17356 (GRUB_MOD_INIT): Set feature_* variables.
17357 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17358 proto.
17359 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17360
cf02731e
VS
173612011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17362
17363 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17364 for cleanness.
17365
e3a1073f
VS
173662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 FreeDOS direct loading support.
17369
17370 * docs/grub.texi (Supported OS): Add FreeDOS.
17371 * grub-core/Makefile.core.def (freedos): New module.
17372 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17373 variable.
17374 (grub_relocator16_boot): Handle %ebx.
17375 * grub-core/lib/i386/relocator16.S: Likewise.
17376 * grub-core/loader/i386/pc/freedos.c: New file.
17377
05caa461
VS
173782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 Long Linux command line support.
17381
17382 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17383 (maximal_cmdline_size): New variable.
17384 (allocate_pages): Use maximal_cmdline_size.
17385 (grub_cmd_linux): Set and use maximal_cmdline_size.
17386 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17387 (allocate_pages): Use maximal_cmdline_size.
17388 (grub_cmd_linux): Set and use maximal_cmdline_size.
17389 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17390 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17391 and cmdline_size.
17392
a2491e23
VS
173932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
173942011-05-18 Colin Watson <cjwatson@ubuntu.com>
17395
17396 Improve devmapper support
17397
17398 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17399 (grub_util_is_lvm): New function.
17400 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17401 than lvm if not dmraid.
17402 Handle mapped md nodes.
17403 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17404 (grub_util_device_is_mapped): ... this. Make always available. All users
17405 updated.
17406 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17407 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17408 dmraid nodes.
17409 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17410
6ad6223e
VS
174112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17414
17415 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17416 * grub-core/modinfo.sh.in: New file.
17417 * grub-core/Makefile.core.def (modinfo.sh): New script.
17418 * util/grub-mknetdir.in: Use modinfo.sh.
17419 * util/grub-mkrescue.in: Likewise.
17420
543a8f6e
VS
174212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17424 Fix potential usage of Elf32 instead of Elf64 when compiling on
17425 32-bit architecture. Add endianness macros while on it.
17426
4959e111
VS
174272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 Use mipsel- rather than mips- in directories involving mipsel ports to
17430 allow both endiannesses coexist.
17431
17432 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17433 mips. All conditions adjusted.
17434 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17435 variable.
17436 * util/grub-install.in: Adjust conditions to take renaming into account.
17437 * util/grub-mkimage.c (image_targets): Likewise. New target
17438 mips-qemu_mips-elf for bigendian mips.
17439
35341bbc
VS
174402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 Avoid unnecessary copying on MIPS.
17443
17444 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17445 early if src == dest.
17446 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17447 compression is none.
17448
b772baed
VS
174492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Reduce memory footprint on SGI by putting modules before the kernel
17452 as opposed to after.
17453
17454 * grub-core/Makefile.core.def (kernel): Increase linking address.
17455 (none_decompress): Likewise.
17456 (xz_decompress): Likewise.
17457 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17458 address.
17459 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17460 layout change.
17461 (grub_arch_modules_addr): New function.
17462 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17463 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17464 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17465 here.
17466 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17467 (grub_total_modules_size): ... this. Make global.
17468 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17469 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17470 New definition.
17471 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17472 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17473 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17474 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17475 * util/grub-mkimage.c (image_target_desc): New flag
17476 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17477 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17478 (generate_image): Handle images with modules before kernel.
17479
566a1917
VS
174802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 Prevent potential loss of memory map by overwrite on qemu-mips.
17483
17484 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17485 Save ram size in $s4.
17486 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17487 All users changed to grub_arch_memsize.
17488 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17489 Loongson.
17490 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17491 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17492 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17493 external variable.
17494
5d420cd9
CW
174952011-05-17 Colin Watson <cjwatson@ubuntu.com>
17496
17497 * .bzrignore: Remove grub-dumpbios.
17498
d064b830
CW
174992011-05-17 Colin Watson <cjwatson@ubuntu.com>
17500
17501 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17502 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17503 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17504 existing options which append).
17505 * docs/grub.texi (Simple configuration): Document new options.
17506 Reported by: Ian Jackson. Fixes Debian bug #617538.
17507
3ca2b466
CW
175082011-05-17 Colin Watson <cjwatson@ubuntu.com>
17509
17510 * util/grub-fstest.c (cmd_cat): New function.
17511 (fstest): Handle CMD_CAT.
17512 (options): Add cat.
17513 (argp_parser): Handle cat.
17514
24c9143a
CW
175152011-05-17 Colin Watson <cjwatson@ubuntu.com>
17516
17517 * Makefile.util.def (grub-bin2h): Don't install.
17518 * docs/man/grub-bin2h.h2m: Remove.
17519
90f7ac19
VS
175202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17523 place.
17524
8d4a5178
VS
175252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17526
17527 Reenable qemu-mips port.
17528
17529 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17530 Fix small arc bug while on it.
17531 * gentpl.py: Handle qemu_mips.
17532 * grub-core/Makefile.am: Likewise.
17533 * grub-core/Makefile.core.def: Likewise.
17534 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17535 inappropriate includes.
17536 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17537 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17538 * grub-core/kern/main.c (grub_modules_get_end)
17539 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17540 * grub-core/kern/mips/qemu-mips: Moved to ..
17541 * grub-core/kern/mips/qemu_mips: ... this.
17542 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17543 (grub_machine_init): Call terminfo_init and serial_init.
17544 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17545 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17546 New variable.
17547 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17548 parameter passing.
17549 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17550 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17551 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17552 * include/grub/mips/qemu_mips/cmos.h: New file.
17553 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17554 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17555 Removed.
17556 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17557 Use correct mips-style address.
17558 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17559 (GRUB_TICKS_PER_SECOND): Removed.
17560 (grub_get_rtc): Likewise.
17561 (grub_cpu_idle): Likewise.
17562 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17563 New definition.
17564 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17565 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17566 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17567 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17568 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17569 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17570 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17571 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17572
400b9371
VS
175732011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 SGI ARCS port.
17576
17577 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17578 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17579 platforms.
17580 * configure.ac: New target mips-arc.
17581 * gentpl.py: Likewise.
17582 * grub-core/Makefile.am: Likewise.
17583 * grub-core/Makefile.core.def: Likewise.
17584 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17585 (none_decompress): Likewise.
17586 (lsdev): New module.
17587 (datetime): Use lib/arc/datetime.c on ARC.
17588 (part_dvh): New module.
17589 * grub-core/commands/arc/lsdev.c: New file.
17590 * grub-core/disk/arc/arcdisk.c: Likewise.
17591 * grub-core/kern/mips/arc/init.c: Likewise.
17592 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17593 aligned addresses.
17594 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17595 support.
17596 (grub_arch_dl_relocate_symbols): Likewise.
17597 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17598 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17599 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17600 platforms.
17601 * grub-core/lib/arc/datetime.c: New file.
17602 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17603 pci.h on non-loongson.
17604 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17605 (grub_linux_boot): Set unused registers to 0.
17606 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17607 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17608 * grub-core/mmap/mips/uppermem.c: ...here.
17609 * grub-core/partmap/dvh.c: New file.
17610 * grub-core/term/arc/console.c: Likewise.
17611 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17612 (grub_terminfo_set_current): Add terminal "arc".
17613 (grub_terminfo_readkey): Support ARC sequences.
17614 * include/grub/arc/arc.h: New file.
17615 * include/grub/arc/console.h: Likewise.
17616 * include/grub/disk.h (grub_disk_dev_id): Add
17617 GRUB_DISK_DEVICE_ARCDISK_ID.
17618 * include/grub/mips/arc/kernel.h: New file.
17619 * include/grub/mips/arc/memory.h: Likewise.
17620 * include/grub/mips/arc/time.h: Likewise.
17621 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17622 * include/grub/mips/kernel.h (grub_halt): ... here.
17623 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17624 here...
17625 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17626 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17627 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17628 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17629 proto.
17630 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17631 from here ...
17632 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17633 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17634 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17635 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17636 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17637 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17638 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17639 (grub_phys_addr_t): Moved from here ...
17640 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17641 (grub_vtop): Moved from here ...
17642 * include/grub/mips/memory.h (grub_vtop): ... here.
17643 (grub_map_memory): Moved from here ...
17644 * include/grub/mips/memory.h (grub_map_memory): ... here.
17645 (grub_unmap_memory): Moved from here ...
17646 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17647 (grub_machine_mmap_iterate): Moved from here ...
17648 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17649 (grub_mmap_get_lower): Moved from here ...
17650 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17651 (grub_mmap_get_upper): Moved from here ...
17652 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17653 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17654 here ...
17655 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17656 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17657 here ...
17658 * include/grub/mips/time.h (grub_get_rtc): ... here.
17659 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17660 here ...
17661 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17662 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17663 here ...
17664 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17665 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17666 definition.
17667 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17668 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17669 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17670 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17671 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17672 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17673 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17674 (GRUB_MACHINE_LINK_ADDR): Likewise.
17675 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17676 to 6.
17677 * util/grub-install.in: Run dvhtool on ARC.
17678 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17679 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17680
c8ecc840
VS
176812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17684 blocks.
17685
153a4b55
VS
176862011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17689 after enabling port.
17690
ff44d107
VS
176912011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17692
17693 Skip incorrect USB devices.
17694
17695 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17696 configcnt == 0.
17697 * include/grub/usb.h (grub_usb_err_t): New enum value
17698 GRUB_USB_ERR_BADDEVICE.
17699
638dbe4f
VS
177002011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17701
17702 Fuloong video init support.
17703
17704 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17705 well.
17706 (grub_vga_read_arx): New function.
17707 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17708 definition.
17709 (framebuffer): New members io, mmioptr and mmiobase.
17710 (read_sis_cmd): New function.
17711 (write_sis_cmd): Likewise.
17712 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17713 rather than 640x400.
17714 * grub-core/video/sis315_init.c: New file.
17715
c3fc520c
VS
177162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17719 non-loongson.
17720 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17721 to grub_dl_register_symbol.
17722
67b1e5c9
VS
177232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 Fix compilation errors.
17726
17727 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17728 potentially unused.
17729 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17730 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17731 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17732 to loongson machines.
17733
b756f75f
VS
177342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 Several FS mtime support.
17737
17738 * grub-core/fs/affs.c (grub_affs_time): New struct.
17739 (grub_affs_file): New field mtime.
17740 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17741 type. Removed 'size'. New field 'di'. All users updated.
17742 (grub_affs_mount): Simplify checsum checking.
17743 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17744 (grub_affs_dir): Handle mtime.
17745 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17746 (grub_cpio_dir): Likewise.
17747 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17748 (grub_hfs_filerec): New field mtime.
17749 (grub_hfs_dir): Handle mtime.
17750 (grub_hfs_mtime): New function.
17751 (grub_hfs_fs): Register grub_hfs_mtime.
17752 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17753 (grub_iso9660_dir): New field mtime.
17754 (grub_fshelp_node): New field dirent.
17755 (iso9660_to_unixtime): New function.
17756 (iso9660_to_unixtime2): Likewise.
17757 (grub_iso9660_read_symlink): Use node->dirent.
17758 (grub_iso9660_iterate_dir): Likewise.
17759 (grub_iso9660_dir): Set mtime.
17760 (grub_iso9660_mtime): New function.
17761 (grub_iso9660_fs): Register grub_iso9660_mtime.
17762 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17763 (grub_jfs_inode): New fields atime, ctime and mtime.
17764 (grub_jfs_dir): Set mtime.
17765 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17766 * grub-core/fs/ntfs.c (list_file): Set mtime.
17767 (grub_ntfs_dir): Likewise.
17768 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17769 (grub_reiserfs_iterate_dir): Set mtime.
17770 (grub_reiserfs_dir): Likewise.
17771 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17772 (grub_fshelp_node): Likewise.
17773 (grub_sfs_iterate_dir): Set mtime.
17774 (grub_sfs_dir): Likewise.
17775 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17776 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17777 (grub_xfs_inode): New fields atime, mtime, ctime.
17778 (grub_xfs_dir): Set mtime.
17779 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17780 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17781 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17782
17783 Support UDF symlinks.
17784
17785 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17786 (grub_ufs_read_symlink): New function. All users updated.
17787
17788 Check amiga partmap checksum.
17789
17790 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17791 (grub_amiga_partition): Likewise.
17792 (amiga_partition_map_checksum): New function.
17793 (amiga_partition_map_iterate): Check checksum.
17794
5470225d
VS
177952011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 ROMFS support.
17798
17799 * Makefile.util.def (libgrubmods.a): Add romfs.
17800 * grub-core/Makefile.core.def (romfs): New module.
17801 * grub-core/fs/romfs.c: New file.
17802
d4680a35
VS
178032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 Squashfs v4 support.
17806
17807 * Makefile.util.def (libgrubmods.a): Add squash4.
17808 * grub-core/Makefile.core.def (squash4): New module.
17809 * grub-core/fs/squash4.c: New file.
17810 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17811 disk_input_start, disk_input.
17812 (get_byte): Handle disk_input.
17813 (grub_zlib_disk_read): New function.
17814 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17815
bcb18e74
FZ
178162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
178172011-05-15 Feiran Zheng <famcool@gmail.com>
17818
17819 * Makefile.util.def (libgrubmods.a): Add minix3.
17820 * grub-core/Makefile.core.def (minix3): New module.
17821 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17822 (GRUB_MINIX_BSIZE): Removed.
17823 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17824 (grub_minix_ino_t): New type.
17825 (grub_minix_le_to_cpu_ino): New macro.
17826 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17827 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17828 (grub_minix_data): New field block_size.
17829 (grub_minix_read_file): Handle 64-bit correctly.
17830 * grub-core/fs/minix3.c: New file.
17831
32297d5f
TG
178322011-05-15 Tristan Gingold <gingold@free.fr>
178332011-05-15 Robert Millan <rmh.grub@aybabtu.com>
178342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 IA64 support.
17837
17838 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17839 * configure.ac: Add ia64-efi target.
17840 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17841 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17842 * gentpl.py: Add ia64_efi platform.
17843 Rename x86_efi to efi and Add ia64-efi. All users updated.
17844 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17845 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17846 Remove kern/generic/rtc_get_time_ms.c on EFI.
17847 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17848 kern/ia64/dl_helper.c on ia64-efi.
17849 Add kern/emu/cache.c on emu.
17850 (linux): Use on loader/ia64/efi/linux.c on ia64.
17851 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17852 whether symbol is a function.
17853 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17854 (grub_symbol): New field 'isfunc'.
17855 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17856 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17857 (grub_dl_load_segments): Place all sections into the same region.
17858 [__ia64__]: Create trampolines and got.
17859 [GRUB_MACHINE_EMU]: Call mprotect.
17860 (grub_dl_resolve_symbols): Resolve symbol type as well.
17861 [__ia64__]: Create function descriptors.
17862 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17863 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17864 (grub_get_rtc): New function.
17865 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17866 * grub-core/kern/emu/cache.S: Renamed to ...
17867 * grub-core/kern/emu/cache_s.S: ... this.
17868 [__ia64__]: Add a nop.
17869 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17870 [__ia64__]: New function.
17871 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17872 * grub-core/kern/ia64/dl.c: New file.
17873 * grub-core/kern/ia64/dl_helper.c: Likewise.
17874 * grub-core/kern/ia64/efi/init.c: New file.
17875 * grub-core/kern/ia64/efi/startup.S: Likewise.
17876 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17877 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17878 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17879 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17880 * grub-core/loader/ia64/efi/linux.c: New file.
17881 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17882 (GRUB_MOD_DEP): Likewise.
17883 (grub_dl) [__ia64__]: New fields got and tramp.
17884 (grub_dl): New field 'base'.
17885 (grub_dl_register_symbol): New argument isfunc. All users updated.
17886 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17887 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17888 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17889 (grub_ia64_dl_get_tramp_got_size): New proto.
17890 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17891 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17892 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17893 * include/grub/efi/api.h: Skip call wrappers on ia64.
17894 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17895 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17896 * include/grub/elf.h (ELF_ST_INFO): New definition.
17897 * include/grub/ia64/efi/kernel.h: New file.
17898 * include/grub/ia64/efi/memory.h: Likewise.
17899 * include/grub/ia64/efi/time.h: Likewise.
17900 * include/grub/ia64/kernel.h: Likewise.
17901 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17902 * include/grub/ia64/time.h: New file.
17903 * include/grub/ia64/types.h: Likewise.
17904 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17905 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17906 New protos.
17907 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17908 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17909 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17910 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17911 All users updated.
17912 (EFI64_HEADER_SIZE): New definition. All users updated.
17913 (image_targets): Add ia64-efi.
17914 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17915 jumpers_addr. All users updated.
17916 Create function descriptors.
17917 (count_funcs): New function.
17918 (unaligned_uint32): New struct.
17919 (MASK20): New definition.
17920 (MASK19): Likewise.
17921 (MASKF21): Likewise.
17922 (add_value_to_slot_20b): New function.
17923 (add_value_to_slot_21_real): Likewise.
17924 (add_value_to_slot_21): Likewise.
17925 (ia64_kernel_trampoline): New struct.
17926 (nopm): New variable.
17927 (jump): Likewise.
17928 (make_trampoline): New function.
17929 (relocate_addresses): Handle ia64.
17930 (make_reloc_section): Likewise.
17931 (load_image): Likewise.
17932
983b414d
VS
179332011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17936 warning. Move variables before code while on it.
17937
5d063cdc
VS
179382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17939
17940 Fuloong support.
17941
17942 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17943 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17944 * grub-core/boot/mips/loongson/fuloong.S: New file.
17945 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17946 Explicitly init CS5536.
17947 [FULOONG]: Don't use serial until CS5536 is available.
17948 Set GPIO based on dumps.
17949 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17950 [FULOONG]: Handle GPIO and memory controller differences.
17951 Parse machine type in $a2.
17952 * grub-core/boot/mips/startup_raw.S: Determine and save the
17953 architecture.
17954 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17955 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17956 init on architecture type.
17957 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17958 SIS315E. Don't init at_keyboard on fuloong.
17959 (grub_halt): Support Fuloong.
17960 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17961 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17962 (loongson_machtypes): New array.
17963 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17964 type.
17965 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17966 config. All users updated. Handle CS5536 serial.
17967 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17968 default port on machine type. Register serial as inactive.
17969 * grub-core/video/sis315pro.c: New file.
17970 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17971 definition.
17972 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17973 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17974 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17975 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17976 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17977 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17978 to ...
17979 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17980 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17981 definition.
17982 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17983 (grub_arch_machine): New extern var.
17984 * include/grub/mips/loongson/serial.h
17985 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17986 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17987 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17988 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17989 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17990 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17991 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17992 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17993 * include/grub/term.h (grub_term_register_input_inactive): New inline
17994 function.
17995 (grub_term_register_output_inactive): Likewise.
17996 * include/grub/video.h (grub_video_driver_id): New value
17997 GRUB_VIDEO_DRIVER_SIS315PRO.
17998 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17999 New field "names". All users updated.
18000 New field value IMAGE_FULOONG_FLASH.
18001 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
18002
6ada82d1
JU
180032011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
18004
18005 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
18006 and add some clarification.
18007
90c571a4
VS
180082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
18011 platforms if kernel is compressed.
18012
de04eecf
VS
180132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
18016 unused modules since currently referrence counter isn't reliable and
18017 there isn't much memory to recover there anyway.
18018
57688121
VS
180192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
18022 rather than resetting it to allow modules to reference themselves
18023 in init.
18024
3d2c7e35
VS
180252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18026
18027 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
18028 counter on dependencies since grub_dl_unref already handles this.
18029
b25db218
VS
180302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
18033 on error if not already done.
18034
25a45338
VS
180352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18036
18037 Fix few potential memory misusage.
18038
18039 * grub-core/font/font.c (load_font_index): Don't free char_index to
18040 avoid double free.
b25db218
VS
18041 (grub_font_load): Zero-fill font at alloc for safety.
18042 Close file on error.
18043 (free_font): Free bmp_idx.
25a45338 18044
0cac83df
VS
180452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * docs/grub.texi (Installation): Fix several outdated claims.
18048
2217a143
VS
180492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 Handle module_license on windows.
18052
18053 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18054 sections shifted.
18055 (insert_string): Make argument const char * instead of char *.
18056 (write_section_data): Handle long section names.
18057 Handle module_license.
18058
d4de6b01
VS
180592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18062 handle class-free menuentries.
18063 (grub_normal_add_menu_entry): Add a check to be sure.
18064
4c2a3b43
VS
180652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18068 PgUp and PgDown.
18069
85c6210f
VS
180702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 * configure.ac: Bump version to 1.99.
18073
36084912
VS
180742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 Give ATA device a bit more time on first try in order to allow disks
18077 to spin up.
18078
18079 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18080 if dev->present is 1. Reset dev->present on failure.
18081 (grub_ata_device_initialize): Set dev->present to 1.
18082 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18083 (grub_ata_device): New member 'present'.
18084
bda0e219
VS
180852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * util/grub-mkimage.c (generate_image): Update hash.
18088
19e1c41b
VS
180892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 Flush caches on DMA memory.
18092
18093 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18094 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18095 (grub_dma_free): Likewise.
18096 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18097
91bbcc0c
VS
180982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18101 to avoid asm treating ld and sd as macros.
18102
60ddfad3
VS
181032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18106 decompressor.
18107
a298aa04
VS
181082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18111 grub_decompress_core since later would fail if grub_decompress_core
18112 is too far.
18113
9b44feca
VS
181142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18117 R_MIPS_JALR since it's used by newer compiler.
18118
56dbe7b4
VS
181192011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18122
52856af2
VS
181232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18126 file_path to 0 for surety.
18127 (grub_chainloader_boot): Set exit_data to NULL.
18128 Unset the loader once done.
18129 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18130
9c9bfc6d
VS
181312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18132
18133 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18134 unknown key into a dprintf.
18135
dd94a3df
VS
181362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18139 on first non-existant partition.
18140
fa68d99c
VS
181412011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18142
18143 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18144 openning fails.
18145 Reported by: Mark Korenberg.
18146
157effb7
VS
181472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18148
18149 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18150 overflow.
18151
ea75312f
VS
181522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18153
18154 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18155 before closing to ensure that it will be readable by grub-setup.
18156
072b5d31
VS
181572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18160 (devpath_1): Use MAKE_PIWG_PATH.
18161 (devpath_2): Likewise.
18162 (devpath_3): Likewise.
18163 (devpath_4): Likewise.
18164 (devpath_5): Likewise.
18165 (devpath_6): Likewise.
18166
18167 The appleldr.mod was checked that to be binary identical to previous
18168 version.
18169
7fae0051
Z
181702011-05-05 Zach <mikezackles>
18171
18172 Support 2010 Macbooks.
18173
18174 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18175 (devs): Add devpath_6.
18176
7c515bee
VS
181772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18180 /dev/random. /dev/urandom is good enough for our purposes (salting).
18181
ed660bd8
VS
181822011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18183
18184 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18185
ee5614b7
VS
181862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18189 hexadecimal.
18190
664889a6
VS
181912011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18192
18193 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18194 and not 0 on failure.
18195
bd405bbc
CW
181962011-05-03 Colin Watson <cjwatson@ubuntu.com>
18197
18198 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18199 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18200 disk; otherwise grub_fs_probe will not fall back to the next
18201 filesystem.
18202 (grub_pxefs_open): Likewise, for consistency.
18203 Reported and tested by: Ezekiel Grave.
18204
4ebff753
CW
182052011-05-03 Colin Watson <cjwatson@ubuntu.com>
18206
18207 * tests/partmap_test.in: Don't hardcode path to parted.
18208 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18209
8f942553
CW
182102011-05-01 Colin Watson <cjwatson@ubuntu.com>
18211
18212 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18213 of `ls' to find out which devices are available.
18214
3c62402d
VS
182152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18216
18217 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18218 than source address for efi mmap buffer.
18219
723f63f2
VS
182202011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18223 wrong action on non-detecting the magic.
18224
68797f92
VS
182252011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18226
18227 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18228 already supplied by another part of the module (fixes compilation on
18229 FreeBSD).
18230
6be8715d
VS
182312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18234 match the one used by mdadm.
18235
e91dba5b
CW
182362011-04-21 Colin Watson <cjwatson@ubuntu.com>
18237
18238 * po/README: Add instructions for creating po/LINGUAS.
18239
c85140b3
CW
182402011-04-21 Colin Watson <cjwatson@ubuntu.com>
18241
18242 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18243 #551428.
18244
18245 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18246 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18247 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18248 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18249 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18250 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18251 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18252 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18253 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18254 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18255 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18256 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18257 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18258 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18259 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18260 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18261 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18262 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18263 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18264 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18265 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18266 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18267
92051871
CW
182682011-04-21 Colin Watson <cjwatson@ubuntu.com>
18269
18270 * grub-core/kern/emu/getroot.c
18271 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18272 test that was incorrectly reintroduced in r3214.
18273 Reported by: Ian Dall. Fixes Savannah bug #33133.
18274
b13f79a4
CW
182752011-04-21 Colin Watson <cjwatson@ubuntu.com>
18276
18277 Fix stack pointer handling in 16-bit relocator.
18278
18279 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18280 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18281 Fixes Ubuntu bug #683904.
18282
9b710a88
VS
182832011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18284
18285 * configure.ac: Bump version to 1.99~rc2.
18286
d97e7b59
VS
182872011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18290 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18291 * grub-core/lib/x86_64/setjmp.S: Likewise.
18292 * grub-core/lib/mips/setjmp.S: Likewise.
18293 * grub-core/lib/powerpc/setjmp.S: Likewise.
18294 * grub-core/lib/sparc64/setjmp.S: Likewise.
18295
0624551c
VS
182962011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18297
18298 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18299 * grub-core/lib/efi/datetime.c: Likewise.
18300
e8f28d4c
VS
183012011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18302
18303 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18304 New function.
18305 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18306 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18307 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18308
bba79a15
VS
183092011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18312 bitmap.
18313 (grub_gfxterm_term_init): Likewise.
18314
abc474ef
VS
183152011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 Take into account the decorations the computing menu entry width.
18318
18319 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18320 (grub_gfxmenu_create_box): Register get_border_width.
18321 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18322 if available.
18323 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18324 get_border_width.
18325
e74b3947
EP
183262011-04-18 Endres Puschner <code@e7p.de>
18327
18328 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18329 Don't skip first class.
18330
34faa595
VS
183312011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18334 chunks.
18335 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18336
93a777e3
VS
183372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 Complete 64-bit division support.
18340
18341 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18342 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18343 * include/grub/misc.h (grub_divmod64): Rename to ...
18344 (grub_divmod64_full): ... this.
18345 (grub_divmod64): New inline function.
18346
a5102d94
VS
183472011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18350
f3fb7b36
VS
183512011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18354 performing the necessary test.
18355
9ac718b0
VS
183562011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18359 (kfreebsd.elf): Likewise.
18360 (pc-chainloader.elf): Likewise.
18361 (ntldr.elf): Likewise.
18362
50d2cc5a
VS
183632011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 Identify RAID by its UUID rather than (guessed) name.
18366
18367 * grub-core/disk/raid.c (ascii2hex): New function.
18368 (grub_raid_open): Accept mduuid/%s specification.
18369 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18370 (get_mdadm_uuid): ... this.
18371 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18372
e03f7bea
VS
183732011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18374
18375 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18376 to negative size.
18377
e74c3112
CW
183782011-04-13 Colin Watson <cjwatson@ubuntu.com>
18379
18380 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18381 btrfs subvolume.
18382 * util/grub.d/20_linux_xen.in: Likewise.
18383
78fa584f
CW
183842011-04-13 Colin Watson <cjwatson@ubuntu.com>
18385
18386 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18387 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18388
18389 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18390 Build a list of relevant visible mounts using the mnt_id and
18391 parent_mnt_id fields, and then scan that list at the end.
18392
9d5f8162
CW
183932011-04-12 Colin Watson <cjwatson@ubuntu.com>
18394
18395 * docs/grub.texi (normal): New section.
18396 (normal_exit): New section.
18397 (Embedded configuration): Add reference to normal.
18398 (GRUB only offers a rescue shell): Likewise.
18399 * docs/grub-dev.texi (Error Handling): Fix typo.
18400
09a9d66f
CW
184012011-04-12 Colin Watson <cjwatson@ubuntu.com>
18402
18403 * NEWS: Drop obsolete entry about probe-only btrfs support.
18404
0c676933
CW
184052011-04-12 Colin Watson <cjwatson@ubuntu.com>
18406
18407 * util/import_gcry.py: Fix typo.
18408
ec9f5e0d
VS
184092011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * NEWS: Add btrfs support.
18412
fe6b2cba
VS
184132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
184142011-04-11 Colin Watson <cjwatson@ubuntu.com>
18415
18416 BtrFS support. Written by me (Vladimir) with important bugfixes and
18417 even more important testing by Colin.
18418
18419 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18420 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18421 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18422 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18423 mem_input_off and mem_input. All users updated to accept in-RAM input.
18424 (gzio_seek): New function.
18425 (test_zlib_header): Likewise.
18426 (grub_gzio_read): Likewise.
18427 (grub_zlib_decompress): Likewise.
18428 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18429 Accept partial and non-virtual mounts.
18430 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18431 avoid receiving /dev/dm-X as device.
18432 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18433 Handle bind and partial mounts.
18434 * grub-core/lib/crc.c: New file.
18435 * include/grub/deflate.h: Likewise.
18436 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18437 proto.
18438 * include/grub/lib/crc.h: New file.
18439
e745cf0c
VS
184402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18441
18442 Implement automatic module license checking according to new GNU
18443 guidelines.
18444
18445 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18446 (grub_dl_load_core): Use grub_dl_check_license.
18447 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18448 (GRUB_MOD_LICENSE): Likewise.
18449 (GRUB_MOD_DUAL_LICENSE): Likewise.
18450 All modules updated.
18451
2a9bc016
CW
184522011-04-11 Colin Watson <cjwatson@ubuntu.com>
18453
18454 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18455 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18456 loaders.
18457 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18458
8a3bc88e
VS
184592011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18462
af869a4a
VS
184632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18466 failed.
18467
9ee8d94f
VS
184682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18471 parenthesis in the middle of the filename.
18472
b01abe3e
VS
184732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18474
18475 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18476 rather than trying to put initrd way too high.
18477 Reported by: Ryan Lortie <desrt@desrt.ca>
18478
335bda1e
VS
184792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18482 improperly removed string.
18483
5ca1a64d
VS
184842011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18487 is_disk.
18488 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18489 (open_device) Likewise.
18490 (grub_util_biosdisk_close): Likewise.
d8ce9995 18491 Reported by: Mark Korenberg.
5ca1a64d 18492
cbac5b1e
AK
184932011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18494
18495 * util/grub-mkconfig_lib.in: Add missing quotes.
18496
088cdb65
CW
184972011-04-10 Colin Watson <cjwatson@ubuntu.com>
18498
18499 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18500 is NULL.
18501
8b8a81fa
VS
185022011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 Dynamically count the number of lines for the lower banner.
18505
18506 * grub-core/normal/menu_entry.c (per_term_screen): New member
18507 num_entries.
18508 (print_down): Use num_entries.
18509 (update_screen): Likewise.
18510 (grub_menu_entry_run): Set num_entries.
18511 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18512 num_entries.
18513 (grub_print_message_indented): Move real part to ...
18514 (grub_print_message_indented_real): ... here. Additional argument
18515 dry_run.
18516 (draw_border): Additional argument num_entries.
18517 (print_message): Additional argument dry_run.
18518 (print_entries): Receive menu viewer data.
18519 (grub_menu_init_page): New argment num_entries.
18520 (menu_text_set_chosen_entry): Use num_entries.
18521 (grub_menu_try_text): Likewise.
18522 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18523 All users updated.
18524 (grub_ucs4_count_lines): New function.
18525 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18526 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18527 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18528 (grub_term_border_height): Likewise.
18529 (grub_term_num_entries): Likewise.
18530
277f955b
VS
185312011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18534 Remove now unused string.
18535
536ce85a
CW
185362011-04-09 Colin Watson <cjwatson@ubuntu.com>
18537
18538 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18539 build system.
18540 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18541
18542 (Comment): Fix typo.
18543 (Getting started): General copy-editing.
18544 (Typical Development Experience): Likewise.
18545 (Error Handling): Likewise.
18546 (Video API): Likewise.
18547
2cf09e32
CW
185482011-04-09 Colin Watson <cjwatson@ubuntu.com>
18549
18550 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18551 throughout.
18552
1ec652f4
VS
185532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18556 directory.
18557
2c583728
CW
185582011-04-08 Colin Watson <cjwatson@ubuntu.com>
18559
18560 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18561 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18562 "development".
18563
d7a565e9
VS
185642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18567 grub_strcpy since the lines aren't necessarily 0-terminated.
18568
7c2e4909
VS
185692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18572 root on legacy.
18573
34c09785
VS
185742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18577 (GRUB_MOD_INIT): DEVICE isn't optional.
18578
6a6f8058
VS
185792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18582 word on new line if it's too long anyway. Fixes a hang.
18583
2e335e90
VS
185842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18587 const.
18588 * util/grub-setup.c (main): Reuse md device name if available.
18589 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18590 not GRUB name as argument.
18591 Based on patch by: Florian Wagner <fwagner>.
18592
10a7a867
VS
185932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18594
18595 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18596 Place mbi on low memory for better compatibility.
18597
7a3d6cd9
VS
185982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18599
18600 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18601
18dd6b47
VS
186022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
186032011-04-08 Colin Watson <cjwatson@ubuntu.com>
18604
18605 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18606 * conf/Makefile.common: Likewise.
18dd6b47 18607
3c0e3f14
VS
186082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18609
f7148863
VS
18610 * grub-core/normal/menu.c: Add missing include.
18611
186122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18613
18614 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18615
6d1fa41f
MZ
186162011-04-08 Martin Zuther <mzuther@mzuther.de>
18617
18618 * util/grub-mkconfig.in: Ignore emacsen backup.
18619
478182a8
VS
186202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18623 on open.
18624 (grub_util_biosdisk_close): Likewise.
18625
72a89a54
VS
186262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18627
18628 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18629 const attribute and use grub_isdigit.
18630
b5ebecfa
A
186312011-04-06 Andrey <dev_null@ukr.net>
18632
18633 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18634 gcc warning.
18635
7755f66e
VS
186362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18639 useful grub_dprintf's.
18640
461121ff
VS
186412011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18644
2a961775
VS
186452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18648
adf594cc
VS
186492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18650
18651 Output errors if theme loading failed.
18652
18653 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18654 grub_gfxterm_fullscreen on error paths to ...
18655 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18656 theme loading error.
18657
665900a3
VS
186582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18661 space for older compilers.
18662 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18663
a562b479
VS
186642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18667 and report them as not RAID members since they are useless for GRUB.
18668 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18669
850e9373
VS
186702011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 Increase LVM implementation robustness in order not to crash on
18673 configurations like pvmove. Previously code assumed that in some places
18674 only lvs or only pvs are used whereas it seems that they are used
18675 interchangeably.
18676
18677 * grub-core/disk/lvm.c (read_node): New function.
18678 (read_lv): Use read_node.
18679 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18680 Match volumes only at the end when all lvs are found. Take both
18681 pvs (first) and lvs (second) into account.
18682 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18683 mirror_* into node_*. All users updated.
18684 (grub_lvm_stripe): Merge this ...
18685 (grub_lvm_mirror): ... and this ...
18686 (grub_lvm_node): ... into this. All users updated.
18687
6f332153
VS
186882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18691 of function to allow further scanning for LVMs.
18692
829ea451
VS
186932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18696 on failed seek as it breaks open fd reusage.
18697
09ceb9a5
VS
186982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * util/grub-install.in: Add a recommendation to use --recheck before
18701 reporting bugs.
18702
67e11623
VS
187032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18706 are obtained.
18707
caee5efd
VS
187082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 GRUB developper manual based on existing Internals section and
18711 contributions by the various authors with active copyright assignment.
18712
18713 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18714 * docs/font_char_metrics.png: New file.
18715 * docs/font_char_metrics.txt: Likewise.
18716 * docs/grub-dev.texi: Likewise.
18717 * docs/grub.texi (Internals): Move from here ...
18718 * docs/grub-dev.texi: ... here.
18719
2cccc747
CW
187202011-04-01 Colin Watson <cjwatson@ubuntu.com>
18721
18722 Store the loopback device as data on loopback grub_disk structures,
18723 rather than the file it points to. This fixes use of freed memory
18724 if an existing loopback device is replaced.
18725
18726 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18727 disk->data, not dev->file.
18728 (grub_loopback_read): Adjust file assignment to match.
18729 Fixes Ubuntu bug #742967.
18730
186ae367
CW
187312011-04-01 Colin Watson <cjwatson@ubuntu.com>
18732
18733 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18734 when replacing an existing device.
18735
cfed2ad0
VS
187362011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18739 memory corruptions.
18740
18741 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18742 unsigned.
18743 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18744 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18745 (grub_jfs_read_inode): Likewise.
18746 (grub_jfs_opendir): Likewise. Remove now useless casts.
18747 (grub_jfs_getent): Likewise.
18748 Make ino a grub_uint32_t rather than int.
18749 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18750 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18751 division and module with bit operations.
18752 (grub_jfs_find_file): Make ino a grub_uint32_t.
18753 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18754
05d2ed32
CW
187552011-04-01 Colin Watson <cjwatson@ubuntu.com>
18756
18757 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18758 warning. (This was in fact always initialised before use, but GCC
18759 wasn't smart enough to prove that.)
18760 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18761
91dc6073
VS
187622011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18765 stack alignment.
18766 (efi_wrap_1): Likewise.
18767 (efi_wrap_2): Likewise.
18768 (efi_wrap_3): Likewise.
18769 (efi_wrap_4): Likewise.
18770 (efi_wrap_5): Likewise.
18771 (efi_wrap_6): Likewise.
18772 (efi_wrap_10): Likewise.
18773 Based on information by: Red Hat/Peter Jones.
18774
a8afc1d1
CW
187752011-03-31 Colin Watson <cjwatson@ubuntu.com>
18776
18777 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18778 set-but-not-used variable.
18779
a826cc7d
CW
187802011-03-31 Colin Watson <cjwatson@ubuntu.com>
18781
18782 * docs/grub.texi (Simple configuration): Be more explicit about
18783 GRUB_DEFAULT, and add an example.
18784 Reported by: Leslie Rhorer.
18785
875b67ba
CW
187862011-03-30 Colin Watson <cjwatson@ubuntu.com>
18787
18788 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18789 shell".
18790
fd7cd914
AS
187912011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18792
18793 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18794 * util/grub.d/20_linux_xen.in: Likewise.
18795
090b1b6a
VS
187962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * util/grub.d/10_linux.in: Try alternative config filenames where
18799 we parse config file.
18800 * util/grub.d/20_linux_xen.in: Likewise.
18801
baad885c
AS
188022011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18803
18804 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18805 * util/grub.d/20_linux_xen.in: Likewise.
18806
241e41f5
VS
188072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18808
18809 * grub-core/disk/raid.c (insert_array): Add few potentially
18810 useful grub_util_info.
18811 (grub_raid_register): Likewise.
18812
56445fb2
VS
188132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18816 Preserve partition number in mdadm code path.
18817
c871b1c6
VS
188182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18821 few potentially useful grub_util_info.
18822
5e631b4f
CW
188232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18826
2d5d0333
CW
188272011-03-30 Colin Watson <cjwatson@ubuntu.com>
18828
18829 * docs/grub.texi (default): Use @example rather than nested
18830 itemized lists to avoid breaking gendocs.
18831
3d7ed04e
CW
188322011-03-30 Colin Watson <cjwatson@ubuntu.com>
18833
18834 * docs/grub.texi (Future): Update.
18835
abf04200 188362011-03-30 Colin Watson <cjwatson@ubuntu.com>
18837
18838 * docs/grub.texi (Environment): New chapter.
18839 (Changes from GRUB Legacy): Link to "Environment block" section for
18840 details of limitations.
18841 (Simple configuration): Likewise. Link to documentation of gfxmode
18842 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18843 respectively.
18844 (Shell-like scripting): Note that normal variables are stored in the
18845 environment.
18846 (gettext): Link to documentation of lang and locale_dir.
18847 (list_env): New section.
18848 (load_env): New section.
18849 (save_env): New section.
18850
18851 (Reporting bugs): Fix typo.
18852
e1ad0edd
VS
188532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18856 the example.
18857
5d803174
VS
188582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18859
18860 * grub-core/term/at_keyboard.c (set_scancodes)
18861 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18862
2a2da1d0
CW
188632011-03-30 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * docs/grub.texi (Menu-specific commands): Remove some semantics
18866 that were true in GRUB Legacy but not in GRUB 2.
18867 (submenu): New section.
18868 (false): New section.
18869 (read): New section.
18870 (true): New section.
18871
a7527639
CW
188722011-03-30 Colin Watson <cjwatson@ubuntu.com>
18873
18874 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18875
188762011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18877
18878 * docs/grub.texi (Simple configuration): Explain some of the
18879 current limitations of grub-mkconfig.
8a748df2 18880 Reported by: Leslie Rhorer.
e30af029 18881
fc858482
VS
188822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 Old macs search for boot.efi rather than for bootia32.efi.
18885
18886 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18887 * util/grub-mkrescue.in: Likewise.
18888 Suggested by: Peter Jones.
18889
e1eb511d
VS
188902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18893
70e75364
VS
188942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18897 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18898 (grub_lvm_mirror): New struct.
18899 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18900 (grub_lvm_iterate): Iterate only visible volumes.
18901 (grub_lvm_read): Factor out to ..
18902 (read_lv): ... this. Support mirrors.
18903 (grub_lvm_read): New wrapper function.
18904 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18905 stripped or mirrored.
18906
fc18f6a3
VS
189072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18910
5c650f4c
CW
189112011-03-29 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * docs/grub.texi (loopback): New section.
18914
61d7156b
CW
189152011-03-29 Colin Watson <cjwatson@ubuntu.com>
18916
18917 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18918 removed -p option.
18919
994b8264
CW
189202011-03-29 Colin Watson <cjwatson@ubuntu.com>
18921
18922 * docs/grub.texi (BIOS installation): New section, partly based on
18923 previous text in other sections.
18924 (Installing GRUB using grub-install): Replace BIOS discussion with a
18925 cross-reference.
18926 (Images): Likewise.
18927
9e4d19e0
VS
189282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18931 [HAVE_DIOCGDINFO]: Add safety checks.
18932
a307c0b2
VS
189332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18936 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18937
b4db4f39
CW
189382011-03-29 Colin Watson <cjwatson@ubuntu.com>
18939
18940 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18941 real_sb->size is zero (e.g. RAID-0), get the disk size from
18942 real_sb->data_size instead.
18943 Fixes Ubuntu bug #743136.
18944
35e5f84c
VS
189452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18948 printf clauses for printing size and start.
18949
d2e29d81
VS
189502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18953 Reported and tested by: Timothy Nikkel.
18954
ed5587af
VS
189552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18958 (dirty_region_add_real): ... this.
18959 (dirty_region_add): Don't discard margin refresh when performing
18960 scheduled repaint.
18961
a1dc717c
VS
189622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * grub-core/lib/relocator.c (allocate_regstart)
18965 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18966 terminals are capabple of malloc-free operation.
18967 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18968 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18969
9f3677d3
VS
189702011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18971
18972 * util/grub-setup.c: Copy the partition table zone if floppy support
18973 is disabled, even if no partition table is found.
18974
18975 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18976 during POST if an invalid partition table is contained in the PBR
18977 of the active partition when GRUB is installed to a partition.
18978
24148725
CW
189792011-03-28 Colin Watson <cjwatson@debian.org>
18980
18981 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18982 comment.
18983
f329eda7
CW
189842011-03-28 Colin Watson <cjwatson@debian.org>
18985
18986 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18987 to be specific about what kind of RAID device we're scanning for.
18988
c482ad98
SG
189892011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18990
18991 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18992 return freed string.
18993
5ee04984
VS
189942011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18995
18996 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18997
f4727da9
VS
189982011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18999
19000 Use libgeom on FreeBSD to detect partitions.
19001
19002 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
19003 (grub-mkrelpath): Likewise.
19004 (grub-script-check): Likewise.
19005 (grub-editenv): Likewise.
19006 (grub-mkpasswd-pbkdf2): Likewise.
19007 (grub-fstest): Likewise.
19008 (grub-mkfont): Likewise.
19009 (grub-mkdevicemap): Likewise.
19010 (grub-probe): Likewise.
19011 (grub-setup): Likewise.
19012 (grub-ofpathname): Likewise.
19013 (grub-mklayout): Likewise.
19014 (example_unit_test): Likewise.
19015 (grub-menulst2cfg): Likewise.
19016 * grub-core/Makefile.core.def (grub-emu): Likewise.
19017 (grub-emu-lite): Likewise.
19018 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
19019 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
19020 define HAVE_DIOCGDINFO.
19021 (follow_geom_up) [FreeBSD]: New function.
19022 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
19023 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
19024 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
19025 unconditionally of HAVE_DIOCGDINFO.
19026
82fe6c75
VS
190272011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19028
19029 Fix FreeBSD compilation problem.
19030
19031 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
19032 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
19033
4c6c9431
CW
190342011-03-24 Colin Watson <cjwatson@ubuntu.com>
19035
19036 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
19037 Switch back to page zero before loading a kernel, since some kernel
19038 drivers expect that.
19039 Thanks to: Felix Kuehling.
19040
c7064d94
VS
190412011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19044 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19045 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19046
3f71cded
VS
190472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19050 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19051
ef6de21a
VS
190522011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19055 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19056 malloc is disabled.
19057
8bc66a2c
VS
190582011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19061 for modules headers when counting the needed allocation size.
19062
5657722c
VS
190632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19064
19065 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19066 if no ASCII character is found to prevent crash.
19067
41a85f55
AK
190682011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19069
19070 * grub-core/video/bitmap.c (match_extension): Ignore case.
19071
59e1e5f1
VS
190722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19073
19074 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19075
bd4d051a
VS
190762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * grub-core/script/parser.y: Declare "time" as valid argument.
19079
bae7fcc1
PJ
190802011-03-23 Peter Jones <pjones@redhat.com>
19081
19082 Fix incorrect assert failure reporting.
19083
19084 * grub-core/tests/example_functional_test.c (example_test): Add
19085 a failure comment.
19086 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19087 (failure_start): ...this. Check that malloc succeeded.
19088 Don't call xvasprintf. Return failure struct.
19089 (failure_append_vtext): New function.
19090 (failure_append_text): Likewise.
19091 (add_failure): Likewise.
19092 (grub_test_assert_helper): Likewise.
19093 * include/grub/test.h (grub_test_assert_helper): New declaration.
19094 (grub_test_assert): Macro rewritten.
19095
537dc9be
VS
190962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19099
fa3e01bf
VS
191002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19103
b1d28404
VS
191042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19107 into GRUB-style one.
19108
2e3e2e09
VS
191092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19112 error and not grub_errno.
19113 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19114
ed57e557
VS
191152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19118 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19119
d1611f01
VS
191202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 * grub-core/efiemu/i386/pc/cfgtables.c
19123 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19124 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19125 (grub_xnu_unlock): Likewise.
19126 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19127
7d4e39d6
VS
191282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19129
19130 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19131 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19132 * grub-core/commands/hashsum.c (aliases): Likewise.
19133 * grub-core/commands/setpci.c (pci_registers): Likewise.
19134 * grub-core/disk/usbms.c (attach_hook): Likewise.
19135 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19136 (zio_checksum_table): Likewise.
19137 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19138 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19139 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19140 * grub-core/lib/relocator.c (leftovers): Likewise.
19141 (extra_blocks): Likewise.
19142 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19143 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19144 (modules_last): Likewise.
19145 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19146 (devices): Likewise.
19147 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19148 (modules_last): Likewise.
19149 * grub-core/normal/auth.c (users): Likewise.
19150 * grub-core/normal/context.c (initial_menu): Likewise.
19151 (current_menu): Likewise.
19152 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19153 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19154 (grub_serial_terminfo_input_template): Likewise.
19155 (grub_serial_terminfo_output_template): Likewise.
19156 (grub_serial_terminfo_input): Likewise.
19157 (grub_serial_terminfo_output): Likewise.
19158 (registered): Likewise.
19159 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19160
40fc4659
VS
191612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19164 grub_video_mode_type_t.
19165 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19166 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19167 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19168
2da48d28
VS
191692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19170
19171 * util/grub-install.in: Correct the x86-64 name as x86_64.
19172
9b43bf39
CW
191732011-03-11 Colin Watson <cjwatson@ubuntu.com>
19174
19175 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19176 initial chunk read from the kernel always includes GRUB's multiboot
19177 header, which is now outside the first sector.
19178
be1a7ce0
CW
191792011-03-09 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19182 cached mmap_size, so that this works correctly when called multiple
19183 times.
19184 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19185
83a3c48d
CW
191862011-03-09 Colin Watson <cjwatson@ubuntu.com>
19187
19188 * docs/grub.texi (Simple configuration): Tidy up formatting.
19189
57d75699
SJ
191902011-03-07 Szymon Janc <szymon@janc.net.pl>
19191
19192 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19193 Set-but-not-used variable removed.
19194
028501a0
VS
191952011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 Workaround yet another IEEE1275 bug.
19198
19199 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19200 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19201 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19202 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19203 is set.
19204 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19205 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19206
d998657d
VS
192072011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19210 error.
19211
fee7cdd4
CW
192122011-02-11 Colin Watson <cjwatson@ubuntu.com>
19213
19214 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19215 empty, since in that case we can only generate either nothing or a
19216 syntactically invalid configuration file.
19217 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19218
97286eb5
CW
192192011-02-09 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19222 (Making a GRUB bootable CD-ROM): Likewise.
19223 (Invoking grub-mkrescue): New section.
19224 Reported by: Yann Dirson. Fixes Debian bug #612585.
19225
22b28eb3
CW
192262011-02-09 Colin Watson <cjwatson@ubuntu.com>
19227
19228 * util/grub-install.in: Remove unnecessary brackets from tr
19229 arguments.
19230 * util/grub.d/10_hurd.in: Likewise.
19231 * util/grub.d/10_kfreebsd.in: Likewise.
19232 * util/grub.d/10_linux.in: Likewise.
19233 * util/grub.d/20_linux_xen.in: Likewise.
19234 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19235
7e735e43
CW
192362011-02-08 Colin Watson <cjwatson@ubuntu.com>
19237
19238 * include/grub/file.h (not_easly_seekable): Rename to ...
19239 (not_easily_seekable): ... this. Update all users.
19240
800f1881
CW
192412011-01-28 Colin Watson <cjwatson@ubuntu.com>
19242
19243 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19244 grub-mkrescue.
19245
3281d3d6
VS
192462011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19247
19248 * util/grub-mkimage.c (generate_image): Refuse to create the images
19249 bigger than the actual flash (512K) in Loongson machines. 512K is also
19250 the biggest chip supported by them.
19251
3533413c
VS
192522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19255
73ae4f4f
VS
192562011-01-22 Anthony DeRobertis <anthony@derobert.net>
19257
19258 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19259 super_offset field.
19260
37f4f608
VS
192612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19262
19263 * util/grub-install.in: Ignore install device on platforms
19264 where it doesn't make sense. Always use UUIDs except on pc, efi and
19265 sparc64.
19266 Reported by: Daniel Kahn Gillmor.
19267
03a4ccb5
VS
192682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19269
19270 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19271
ffc8f4d8
VS
192722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19275 (iterate_real): Don't rely on partition being non-NULL.
19276
80f23be7
VS
192772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19280 supported platforms. Put a compile time assert for this rather than
19281 generate a warning with 32-bit shift.
19282
5d4f4dd5
VS
192832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19286 logical expression more readable.
19287
e489601a
VS
192882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19291 even if some elements have a name.
19292 Reported by: Alexander GQ Gerasiov.
19293
96e0a6ea
CW
192942011-01-22 Colin Watson <cjwatson@ubuntu.com>
19295
19296 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19297 path unreadable if `grub-probe -t abstraction' fails, for example if
19298 memberlist fails on an LVM volume group.
19299 Reported by: Darius Jahandarie.
19300
81431e2b
CW
193012011-01-22 Colin Watson <cjwatson@ubuntu.com>
19302
19303 * docs/grub.texi (Simple configuration): Document
19304 GRUB_PRELOAD_MODULES.
19305
5e79d66a
CW
193062011-01-17 Colin Watson <cjwatson@ubuntu.com>
19307
19308 * .bzrignore: Remove nonexistent grub-pbkdf2.
19309
646ada34
VS
193102011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * configure.ac: Bump version to 1.99~rc1.
19313
04360337
VS
193142011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19317 for safety.
19318
46c9db88
VS
193192011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19322 module.
19323
193242011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19325
19326 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19327
4fbf1852
VS
193282011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19331 diskdevid.
19332
f1632d4d
VS
193332011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 Fix compilation on cygwin.
19336
19337 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19338 -R .drectve on cygwin.
19339 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19340 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19341 (COND_CYGWIN): New condition.
19342 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19343 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19344 not @TARGET_OBJ2ELF@.
19345 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19346 type to determine whether aux is to be used.
19347
0b5e127b
VS
193482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19351 realpath'ed device string.
19352 Handle floppy (somewhat).
19353 Issue error in unknown case rather than garbage.
19354 Reported by: Axel Beckert.
19355
173b71e9
VS
193562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * util/grub.d/00_header.in (load_video): Handle the case when no video
19359 drivers available.
19360 Thanks to: Axel Beckert.
19361
f8f479db
VS
193622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19365 variable. Fixes problem on big endian platforms.
19366
8fc0a245
VS
193672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19370 It doesn't work well there.
19371
b8494fbe
VS
193722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19375 warning.
19376 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19377 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19378 counter.
19379
b44a558c
VS
193802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19381
19382 Use alias->path rather than buggy "canon".
19383
19384 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19385 (ofdisk_hash_add): New argument curcan. All users updated.
19386
51fa856c
CW
193872011-01-11 Colin Watson <cjwatson@ubuntu.com>
19388
19389 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19390
9da068a5
VS
193912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19392
19393 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19394 loadmask before doing any calculations. Use correct type for offset.
19395 (grub_linux_load64): Likewise.
19396
86205c94
CW
193972011-01-11 Colin Watson <cjwatson@ubuntu.com>
19398
19399 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19400 with NULL.
19401 (console_grub_equivalences_unshift): Likewise.
19402 Reported by: Daniel Dehennin.
19403
4531a206
VS
194042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19405
19406 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19407 (set_env_limn_ro): Likewise.
19408 (GRUB_MOD_INIT): Likewise.
19409 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19410 ARRAY_SIZE while on it.
19411 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19412 * grub-core/normal/context.c (grub_env_export): Move from here ...
19413 * grub-core/kern/env.c (grub_env_export): ... here.
19414 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19415 prefix.
19416 * grub-core/kern/main.c (grub_main): Export root and prefix.
19417 * include/grub/env.h (grub_env_export): Export.
19418 Reported by: Seth Goldberg.
19419
45146057
VS
194202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19421
19422 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19423 Take into account space used by ELF sections and multiboot palette.
19424 Reported by: Grégoire Sutre.
19425
f093110b
VS
194262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * BUGS: New file.
19429
3395fe52
VS
194302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19431
19432 Pass more appropriate video id to Linux.
19433
19434 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19435 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19436 fill have_vga.
19437 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19438 shift params->lfb_size.
19439 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19440
c2fa6cbb
VS
194412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19444
b3ff6ff0
VS
194452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19448 separator and pass bootpath/devid even if only one of them is available.
19449 Reported by: Seth Goldberg.
19450
ae67942e
VS
194512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19452
19453 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19454 implementations bug on them.
19455
19456 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19457 memory.
19458 (filter_memory_map): Likewise.
19459
d570097a
VS
194602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19463 Reported by: nebuchadnezzar.
19464
a508e776
VS
194652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19468 Reported by: nebuchadnezzar.
19469
dcb883b1
VS
194702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 Submenu default support.
19473
19474 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19475 auto_boot. All users updated.
19476 Declared static.
19477 Handle chosen and default with submenus.
19478 (grub_menu_execute_with_fallback): Declared static.
19479 Don't notify failure if autobooted. Upper level does it.
19480 (menuentry_eq): New function.
19481 (get_entry_number): Use menuentry_eq.
19482 (show_menu): New parameter "autobooted". All users updated.
19483 (grub_show_menu): Likewise.
19484 * include/grub/normal.h (grub_show_menu): Likewise.
19485 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19486 (grub_menu_execute_with_fallback): Likewise.
19487
6fef99b4
VS
194882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 * util/grub-mklayout.c (usage): Update help text.
19491
47a77af5
VS
194922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19495
ce6bb3ee
VS
194962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19497
19498 * util/grub-menulst2cfg.c (main): Trim the line.
19499
db87be2a
VS
195002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19503 (grub_machine_init): Don't check amount of low memory as reportedly
19504 INT 12h can be broken and if low memory is too low we wouldn't have
19505 gotten into grub_machine_init anyway.
19506
c49849cc
VS
195072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19510 (grub_machine_mmap_iterate): Take low memory into account
19511
b1969b30
VS
195122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19515 badfs.
19516 Reported by: TiCPU.
19517
cf0eaf13
VS
195182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19521 members errors.
19522
1f060f39
GS
195232011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19524
19525 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19526 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19527
a21e5672
GS
195282011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19529
19530 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19531 openbsd and netbsd types being in part_bsd module.
19532
c88172fa
VS
195332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19534
19535 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19536 (_FILE_OFFSET_BITS): Likewise.
19537 Reported by: Seth Goldberg.
19538
53798c4b
GS
195392011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19540
19541 * configure.ac: Check for libdevmapper header.
19542
e7121b69
VS
195432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19546 avoid aliasing.
19547 (fzap_lookup): Likewise.
19548 (dnode_get): Likewise.
19549 (make_mdn): Likewise.
19550 (zfs_mount): Likewise.
19551 (fzap_iterate): Use temporary pointer to avoid aliasing.
19552 (grub_zfs_read): Likewise.
19553 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19554 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19555 pointers to avoid aliasing.
19556 (grub_cmd_xnu_kernel64): Likewise.
19557 (grub_xnu_load_driver): Likewise.
19558
fc836af9
VS
195592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19562 aliasing warning.
19563 (grub_cmd_terminal_output): Likewise.
19564 Reported and tested by: Grégoire Sutre.
19565
f9f37648
VS
195662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19567
19568 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19569 warning.
19570 Reported and tested by: Grégoire Sutre.
19571
ec1dfd63
VS
195722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 * configure.ac: Do CPU substitution even if it's specified explicitly.
19575 Reported and tested by: Alain Greppin.
19576
9462775a
VS
195772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19580 Reported and tested by: Alain Greppin.
19581
0fd48e35
VS
195822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 Satisfy some bison versions need for inttypes.h.
19585
19586 * grub-core/lib/posix_wrap/inttypes.h: New file.
19587 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19588 (int16_t): Likewise.
19589 (int32_t): Likewise.
19590 (int64_t): Likewise.
19591 Reported and tested by: Alain Greppin.
19592
43f1bc83
VS
195932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19596 Silence spurious warning.
19597 Reported and tested by: Alain Greppin.
19598
64d1f041
SJ
195992011-01-07 Szymon Janc <szymon@janc.net.pl>
19600
19601 * docs/grub.texi (Support automatic decompression): Update with xz
19602 decompression support.
19603
25953e10
SJ
196042011-01-07 Szymon Janc <szymon@janc.net.pl>
19605
19606 Improve loaders' kernel command line handling.
19607
19608 * grub-core/lib/cmdline.c: New file.
19609 * include/grub/lib/cmdline.h: Likewise.
19610 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19611 grub_create_loader_cmdline to create kernel command line.
19612 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19613 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19614 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19615 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19616 (linux): Add lib/cmdline.c on common.
19617
e72d259f
VS
196182011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19621 inopos might be unaligned.
19622
c0cf26da
VS
196232011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19624
19625 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19626 endian transformations.
19627 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19628 Based on report by: Doug Nazar.
19629
0ca09e6c
DN
196302011-01-07 Doug Nazar <nazard.michi@gmail.com>
19631
19632 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19633 array->members[i].start_sector.
19634 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19635
014b6806
VS
196362011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19639 Reported and tested by: Grégoire Sutre.
19640
415502c2
CW
196412011-01-06 Colin Watson <cjwatson@ubuntu.com>
19642
19643 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19644 avoid causing test failures by clearing the screen.
19645
71b6a2b7
CW
196462011-01-06 Colin Watson <cjwatson@ubuntu.com>
19647
19648 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19649 Fix prefix check to handle the case where dir ends with a slash
19650 (most significantly, "/" itself).
19651 Reported by: Michael Vogt.
19652
b3f8d28a
VS
196532011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 Run terminfo_cls on initing terminfo output to clear the screen and
19656 move the cursor to (0,0).
19657
19658 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19659 Call grub_terminfo_output_init.
19660 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19661 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19662 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19663
4c3e4f37
VS
196642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19667 only when needed.
19668
488f71f1
VS
196692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19672 CTRL.
19673
18a38098
VS
196742011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19675
19676 The E820 type 5 is BADRAM, not EXEC_CODE.
19677
19678 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19679 (GRUB_E820_BADRAM): New define.
19680 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19681 into reserved. Propagate BADRAM.
19682 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19683 (GRUB_E820_BADRAM): New define.
19684
9eae2084
VS
196852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19688 Ignore the memory post-4G.
19689 (grub_relocator_firmware_alloc_region): Additional debug statement.
19690
ebc71d28
VS
196912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19692
19693 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19694 names.
19695 Reported by: David Pravec.
19696
446fa400
VS
196972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19700 BIOSes.
19701
a0159f37
VS
197022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19703
19704 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19705 Prevent overflow.
19706 (grub_reed_solomon_recover): Likewise.
19707
e5146ca1
VS
197082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19711
197122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19713
19714 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19715 variable.
19716
5b1bdf12
CW
197172011-01-04 Colin Watson <cjwatson@ubuntu.com>
19718
19719 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19720 descriptions of extract_legacy_entries_source and
19721 extract_legacy_entries_configfile.
19722 Reported by: Seung Soo, Ha.
19723
99d925aa
CW
197242011-01-03 Colin Watson <cjwatson@ubuntu.com>
19725
19726 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19727 on devices that do not implement function 0.
19728
4af0504b
DV
197292011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19730
19731 * grub-core/fs/hfsplus.c: Make parent unsigned.
19732 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19733 overflows.
19734 (grub_hfsplus_cmp_extkey): Likewise
19735
469ee10a
VS
197362011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 * util/grub-install.in: Correctly use bootloader_id and not
19739 GRUB_DISTRIBUTOR on efibootmgr line.
19740
323a8e9c
VS
197412011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19744
1b394975
IC
197452010-12-31 Ian Campbell <ijc@hellion.org.uk>
19746
19747 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19748 Xen and reorder menu item wording to make it clearer that this entry
19749 will launch Xen. Print separate messages when loading Xen and
19750 Linux.
19751
275bff5f
VS
197522010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19753
19754 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19755 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19756 loop in case of incorrect amiga partmap.
19757
307806cb
VS
197582010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19761 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19762 Reported by:EHeM.
19763
b12b923e
VS
197642010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19765
19766 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19767 spurious warning.
19768 Reported by: crocket
19769
14b48a19
VS
197702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19771
19772 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19773 Preload EFIemu.
19774 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19775
693db2df
VS
197762010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19779 is loaded
19780 (grub_cmd_xnu_kextdir): Likewise.
19781 (grub_cmd_xnu_splash): Likewise.
19782
c7638645
VS
197832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 Avoid using Reed-Solomon with 0 redundancy.
19786
19787 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19788 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19789 or 0 redundancy.
19790 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19791 (grub_reed_solomon_recover): Likewise.
19792
25dd4780
VS
197932010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 Don't use disk subsystem in freebsd_boot.
19796
19797 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19798 (freebsd_biosdev): Likewise.
19799 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19800 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19801
0b2db943
VS
198022010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 Handling of files of unknown size is currently limited. They can't be
19805 used e.g. for initrd or modules. Moreover gzip handling of not
19806 easily seekable files is buggy. Disable unknown file size for now. May
19807 be inefficient but works.
19808
19809 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19810 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19811
5c408d0f
MP
198122010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19813
19814 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19815 floppy probe.
19816
190a011a
JD
198172010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19818
19819 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19820
022d01b8
SL
198212010-12-25 Shea Levy <shlevy>
19822
19823 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19824
c4855fdc
VS
198252010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19826
19827 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19828 Windows Server 2008.
19829 Reported by: Devin Giddings.
19830
0354b867
VS
198312010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19834 writing an error message because of async power management.
19835 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19836 (grub_reboot): Likewise.
19837
ab66c69f
JU
198382010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19839
19840 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19841 keep unit tests from failing when they shouldn't.
19842
1426ef35
CW
198432010-12-21 Colin Watson <cjwatson@ubuntu.com>
19844
19845 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19846 previous patch increased the size of the RS code by 20 bytes (at
19847 least with gcc-4.4), so increase this by 20 bytes to match.
19848 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19849
20641b6b
CW
198502010-12-21 Colin Watson <cjwatson@ubuntu.com>
19851
19852 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19853 scratch area. Make sure to initialise chosen in standalone mode as
19854 well as non-standalone.
19855 Reported by: Robert Hooker and Andy Whitcroft.
19856 Tested by: Andy Whitcroft.
19857
d060ad60
CW
198582010-12-21 Colin Watson <cjwatson@ubuntu.com>
19859
19860 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19861 constructing a new unescaped string and passing it to grub_xputs in
19862 one go, rather than passing characters to grub_printf one at a time.
19863
b889cfad
CW
198642010-12-21 Colin Watson <cjwatson@ubuntu.com>
19865
19866 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19867 initialising utf16.
19868
4e01b6c8
CW
198692010-12-21 Colin Watson <cjwatson@ubuntu.com>
19870
19871 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19872 comment. Add an extra layer of quotation, requiring the output of
19873 this function to be used in a printf format string.
19874 (gettext_printf): New function.
19875 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19876 Extract translatable strings from here-documents and use a temporary
19877 variable instead, so that xgettext can find them.
19878 * util/grub.d/10_kfreebsd.in: Likewise.
19879 * util/grub.d/10_linux.in: Likewise.
19880 * util/grub.d/20_linux_xen.in: Likewise.
19881
19882 * po/grub.d.sed: New file.
19883 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19884 arguments. Set c-format flags on all strings extracted from
19885 util/grub.d/ (xgettext refuses to include these itself for strings
19886 it extracted from a shell file, but these really are c-format).
19887
5318fe98
VS
198882010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19891 Avoid next pointing to nowhere.
19892
6c85b743
VS
198932010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19896 rather than assuming than rootblock is exactly in the middle.
19897 (grub_affs_label): Likewise.
19898
a2a08a35
VS
198992010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19900
19901 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19902 reserved_first_sector to 0.
19903 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19904 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19905 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19906
7059d1ec
VS
199072010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 Fix handling of UTF-16 UDF labels.
19910
19911 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19912 (read_string): .. here.
19913 (grub_udf_label): Use read_string.
19914
30aff4cb
BC
199152010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19916
19917 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19918 editor under argument scope.
19919 Reported by: Jordan Uggla
19920
5cf86f4b
VS
199212010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19924
32570200
CW
199252010-12-18 Colin Watson <cjwatson@ubuntu.com>
19926
19927 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19928 line, and other keys scroll an entire page (previous handling was
19929 for \r and \n to scroll a page and other keys to scroll two lines).
19930
e1dffcf2
VS
199312010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19934 Set ptrdest to correct get_physical_target_address rather than
19935 incorrect get_virtual_current_address.
19936
b04298cf 199372010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19938
19939 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19940 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19941
5367ecd3
CW
199422010-12-10 Colin Watson <cjwatson@ubuntu.com>
19943
19944 * .bzrignore: Ignore grub-core/rs_decoder.S.
19945
1fb430f8
CW
199462010-12-10 Colin Watson <cjwatson@ubuntu.com>
19947
19948 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19949 .mo/.mo.gz opening sequence to ...
19950 (grub_mofile_open_lang): ... here.
19951 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19952 * util/grub.d/00_header.in (grub_lang): Include country part of
19953 locale.
19954 Reported by: Mario Limonciello.
19955
a94a6671
RM
199562010-12-09 Robert Millan <rmh@gnu.org>
19957
19958 * NEWS: Document addition of ZFS support.
19959
24b7938b
CW
199602010-12-04 Colin Watson <cjwatson@ubuntu.com>
19961
19962 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19963 rather than `/ 2', as the latter requires -Wa,--divide which would
19964 require bumping our minimum binutils version.
19965
bddc3ef6
BC
199662010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19967
19968 * util/grub-script-check.c (main): Print script line number on
19969 error.
19970
bf78d5b2
RM
199712010-12-01 Robert Millan <rmh@gnu.org>
19972
19973 * grub-core/fs/zfs/zfs.c: New file.
19974 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19975 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19976 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19977 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19978
19979 * include/grub/zfs/dmu.h: Likewise.
19980 * include/grub/zfs/dmu_objset.h: Likewise.
19981 * include/grub/zfs/dnode.h: Likewise.
19982 * include/grub/zfs/dsl_dataset.h: Likewise.
19983 * include/grub/zfs/dsl_dir.h: Likewise.
19984 * include/grub/zfs/sa_impl.h: Likewise.
19985 * include/grub/zfs/spa.h: Likewise.
19986 * include/grub/zfs/uberblock_impl.h: Likewise.
19987 * include/grub/zfs/vdev_impl.h: Likewise.
19988 * include/grub/zfs/zap_impl.h: Likewise.
19989 * include/grub/zfs/zap_leaf.h: Likewise.
19990 * include/grub/zfs/zfs.h: Likewise.
19991 * include/grub/zfs/zfs_acl.h: Likewise.
19992 * include/grub/zfs/zfs_znode.h: Likewise.
19993 * include/grub/zfs/zil.h: Likewise.
19994 * include/grub/zfs/zio.h: Likewise.
19995 * include/grub/zfs/zio_checksum.h: Likewise.
19996
19997 * Makefile.util.def: Build ZFS into libgrubmods.
19998 * grub-core/Makefile.core.def: Build zfs.mod.
19999
3f0f3831
SJ
200002010-11-30 Szymon Janc <szymon@janc.net.pl>
20001
20002 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
20003 variable.
20004 * grub-core/commands/wildcard.c (match_files): Likewise.
20005
3a4253b2
RM
200062010-11-30 Robert Millan <rmh@gnu.org>
20007
20008 * grub-core/loader/i386/bsd.c
20009 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
20010 whether kernel is loaded using grub_loader_is_loaded(), rather
20011 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
20012 certain error conditions.
20013
8c317b27
RM
200142010-11-30 Robert Millan <rmh@gnu.org>
20015
c5c9cd3e
RM
20016 * grub-core/commands/echo.c: Include `<grub/term.h>'.
20017 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 20018
49d3ab46
VS
200192010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20020
20021 Avoid using tricks for initialising endian variables.
20022
20023 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
20024 Make const.
20025 (GRUB_MOD_INIT): Don't byte-swap.
20026 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20027 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
20028 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
20029 (grub_swap_bytes32_compile_time): Likewise.
20030 (grub_cpu_to_le32_compile_time): Likewise.
20031 (grub_cpu_to_le16_compile_time): Likewise.
20032
f420a804
VS
200332010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * util/grub-setup.c (setup): Stop recommending --force. People who
20036 understand the dangers of blocklists are able to find this option
20037 anyway and the ones who don't shouldn't use it anyway.
20038
4e7db17b
RM
200392010-11-26 Robert Millan <rmh@gnu.org>
20040
20041 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20042 Update all users.
20043
9be57a0d
CW
200442010-11-26 Colin Watson <cjwatson@ubuntu.com>
20045
20046 Fix LVM-on-RAID probing.
20047
20048 * util/grub-probe.c (probe): Remember which disk was detected as
20049 RAID (perhaps an LVM physical volume). Use that disk's raidname
20050 rather than that of the top-level disk.
20051
2c7859b3 200522010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 20053
d7647bb6
BC
20054 Fix cmdline argument quotes for setparams command of menuentry
20055 definitions.
7e623b0d
BC
20056
20057 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20058 quotes for arguments.
f866fe80 20059 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 20060 grub_strchrsub function instead.
f866fe80 20061
7955bea0 20062 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 20063
74f72a64
CW
200642010-11-24 Colin Watson <cjwatson@ubuntu.com>
20065
20066 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20067 effort by skipping "." and ".." entries up-front.
20068 Suggested by: Michael Lazarev.
20069
5a407278
CW
200702010-11-24 Colin Watson <cjwatson@ubuntu.com>
20071
20072 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20073 ldflags to ldadd, to fix link line ordering.
20074 (none_decompress): Likewise.
20075
3030d8ec
CW
200762010-11-24 Colin Watson <cjwatson@ubuntu.com>
20077
20078 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20079 platforms.
20080 (grub-emu-lite): Remove kern/emu/cache.S.
20081
b7fbac12
CW
200822010-11-23 Colin Watson <cjwatson@ubuntu.com>
20083
20084 * util/deviceiter.c (compare_devices): If the by-id link for a
20085 device couldn't be resolved, fall back to sorting by the by-id link
20086 rather than segfaulting.
20087 Reported and tested by: Daniel Mierswa.
20088
5225f328
CW
200892010-11-23 Colin Watson <cjwatson@ubuntu.com>
20090
20091 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20092 ldflags, to fix link line ordering.
20093
038b3ce8
CW
200942010-11-23 Colin Watson <cjwatson@ubuntu.com>
20095
20096 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20097 linkers are picky about this.
20098
bf16e98e
CW
200992010-11-23 Colin Watson <cjwatson@ubuntu.com>
20100
20101 * grub-core/Makefile.am (command.lst): Adjust sed expression
20102 ordering so that extended and priority commands aren't treated as
20103 ordinary commands.
20104
7242bab6
CW
201052010-11-23 Colin Watson <cjwatson@ubuntu.com>
20106
20107 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20108 Remove byte-swapping function calls, which are not valid in
20109 structure initialisers.
20110 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20111 non-const.
20112 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20113 grub_gpt_partition_type_bios_boot.
20114
14e8b279
CW
201152010-11-22 Colin Watson <cjwatson@ubuntu.com>
20116
20117 Fix test program build on GNU/kFreeBSD.
20118
20119 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20120 $(LIBNVPAIR)' library dependencies.
20121
e6f63338 201222010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
20123
20124 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20125
cf8ffc38
CW
201262010-11-22 Colin Watson <cjwatson@ubuntu.com>
20127
20128 * util/grub-install.in: Remove excessive quoting that broke
20129 installations to RAID devices.
20130
7f8b0fd7
VS
201312010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20132
20133 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20134 bootloader version instead of 0.
20135
dfd240b1
VS
201362010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20139 warning.
20140
7b61e609
VS
201412010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20144 retrieve the metadat sector if size isn't known.
20145 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20146
9dfe92d0
RM
201472010-11-18 Robert Millan <rmh@gnu.org>
20148
20149 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20150 with grub_memcmp().
20151
41cc919e
VS
201522010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20155 arrow.
20156 Reported by: Jordan Uggla.
20157
1afcc914
VS
201582010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 Make better UTF compliant.
20161
20162 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20163 sequences as incorrect.
20164 (grub_is_valid_utf8): Likewise.
20165 (grub_utf8_to_ucs4): Likewise.
20166 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20167 (grub_ucs4_to_utf8_alloc): Likewise.
20168 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20169
f1808884
VS
201702010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 Make legacy_source behave like source.
20173
20174 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20175 grub_show_menu.
20176 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20177
24ec575b
CW
201782010-11-16 Colin Watson <cjwatson@debian.org>
20179
20180 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20181 (-Wunused implies -Wunused-parameter, but not vice versa).
20182
72b7c7aa
CW
201832010-11-16 Colin Watson <cjwatson@ubuntu.com>
20184
20185 * configure.ac: Make error messages less confusing by testing for
20186 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20187 accepted, but produces a diagnostic if something else is wrong).
20188
e98937aa
VS
201892010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20192 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20193 (now unused).
20194 (grub_keyboard_controller_init)
20195 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20196 read the initial state since controller isn't inited yet.
20197
f6bbabc3
VS
201982010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20201 allocate_regbeg may need to create new chunk header.
20202
22e7dbb2
VS
202032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 Fix quoting in legacy parser.
20206
20207 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20208 single quotes.
20209 (grub_legacy_parse): Likewise.
20210 Reported by: Jordan Uggla.
20211 Tested by: Jordan Uggla.
20212
03f80960
VS
202132010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 Don't add -lgcc on i386 and x86_64.
20216
20217 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20218 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20219 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20220
779dc15b
VS
202212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20222
20223 * configure.ac: Add -Wno-trampolines when supported.
20224
d20a3b37
MV
202252010-11-14 Modestas Vainius <modax@debian.org>
20226
20227 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20228 fakeraid.
20229
e5360933
GC
202302010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20231
20232 Add generic logical block size support for UDF.
20233
20234 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20235 (GRUB_UDF_BLKSZ): Removed.
20236 (struct grub_udf_data): New field "lbshift" to hold the logical block
20237 size of the file system in log2 format. All users updated.
20238 (sblocklist): Change type to unsigned.
20239 (grub_udf_mount): Change type of "sblklist" to unsigned.
20240 Move AVDP search before VRS recognition, because the latter requires
20241 knowledge of the logical block size, which is detected during the
20242 former.
20243 Detect and validate logical block size during AVDP search, adding
20244 support for block sizes 512, 1024 and 4096.
20245 Make VRS recognition independent of block size.
20246
cb0229c5
GC
202472010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20248
20249 Properly handle deleted files on UDF.
20250
20251 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20252 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20253 set.
20254
406858a8
GC
202552010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20256
20257 Support reading files larger than 2 GiB.
20258
20259 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20260 "offset" to grub_off_t.
20261 (grub_udf_read_file): Likewise for parameter "pos".
20262
130da6a7
VS
202632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20266 unavailable.
20267 (Simple configuration): Refer to Changes from GRUB Legacy about
20268 save_env availability.
20269
65e93f6b
VS
202702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20271
20272 * util/grub-install.in: Ignore empty partition table detection
20273 instead of trying to include part_ module.
20274
1fd08bf1
VS
202752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20278 LVM on RAID support.
20279
de1a024f
VS
202802010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20281
20282 Properly define WORDS_BIGENDIAN in wrapped environments.
20283
20284 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20285 definition.
20286 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20287
20288 Reported by: Manoel Rebelo Abranches.
20289 Tested by: Manoel Rebelo Abranches.
20290
bc5dd0b9
VS
202912010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 * util/grub-mkconfig.in: Fix quoting.
20294
58c184be
VS
202952010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 Support big ext2 files.
20298
20299 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20300 (grub_ext2_read_block): Support triple indirect blocks.
20301 (grub_ext2_read_file): Use 64-bit types and read size_high.
20302 (grub_ext2_open): Read size_high.
20303 Reported by: Ximin Luo.
20304 Tested by: Manoel Rebelo Abranches.
20305
5f0c02b3
VS
203062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 * util/grub-install.in: Handle filenames containing spaces.
20309 Reported by: Jordan Uggla.
20310 Tested by: Jordan Uggla.
20311
4417aae6
VS
203122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 * util/grub-mkconfig.in (grub_script_check): New variable.
20315 Use grub_script_check instead of grub-script-check.
20316 Reported by: Barry Jackson.
20317
7625a68e
VS
203182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * docs/grub.texi (menu): Correct the order.
20321 Reported by: D. Hugh Redelmeier.
20322
10001ac5
VS
203232010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20326 jump.
20327
9c4cf53b
MRA
203282010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20329
10001ac5
VS
20330 * include/grub/elfload.h (grub_elf32_size): New parameter.
20331 All users updated.
9c4cf53b
MRA
20332 Return maximum segments alignment.
20333 (grub_elf64_size): Likewise.
20334 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20335 Return maximum segments alignment.
20336 (grub_elf64_size): Likewise.
20337 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20338 (grub_linux_claimmap_iterate): New function. Uses the
20339 "available" property in the "memory" node for memory allocation
20340 for kernel in the PowerPC loader.
9c4cf53b
MRA
20341 (grub_linux_load32): Correctly find linux entry point offset.
20342 (grub_linux_load64): Likewise.
20343
d2bf06bf
RM
203442010-11-07 Robert Millan <rmh@gnu.org>
20345
20346 On mips-yeeloong, build with -march=loongson2f when this flag is
20347 available (GCC >= 4.4).
20348 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20349 `-march=mips3'.
20350 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20351 or otherwise add -march=mips3.
20352
898c99a2
BC
203532010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20354
87220a68
BC
20355 Suppress shell expansion on echo '*' and echo "*" like cases.
20356 Reported by: Jordan Uggla.
898c99a2
BC
20357
20358 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20359 string arguments before shell expansion.
20360 * tests/grub_cmd_echo.in: New testcases.
20361
4f9b406a
RM
203622010-11-07 Robert Millan <rmh@gnu.org>
20363
20364 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20365 transition.
20366
80c6d25e
VS
203672010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * grub-core/kern/emu/hostdisk.c
20370 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20371
4a1a0153
VS
203722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20375 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20376 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20377
34706ddc
VS
203782010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20381
6972dea9
VS
203822010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 * util/grub-install.in: Replace useless recomendation to pass
20385 --modules with a recomendation to report a bug.
20386
9c693bd6
VS
203872010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20388
20389 Properly register serial terminfo.
20390 Reported by: Jordan Uggla
20391
20392 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20393 const.
20394 (grub_serial_terminfo_output_template): Likewise.
20395 (grub_cmd_serial): Register "serial" with terminfo.
20396 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20397 grub_serial_terminfo_output.
20398
6c9e4c0c
RM
203992010-11-05 Robert Millan <rmh@gnu.org>
20400
20401 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20402 needed).
20403
b9b3839f
RM
204042010-11-05 Robert Millan <rmh@gnu.org>
20405
20406 On Yeeloong, pass machine type information to Linux.
20407
20408 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20409 (LOONGSON_MACHTYPE): New macro, set to
20410 "machtype=lemote-yeeloong-2f-8.9inches".
20411 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20412 additional argument to Linux.
20413
1a3aaff4
RM
204142010-11-04 Robert Millan <rmh@gnu.org>
20415
20416 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20417 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20418 (its SATA disks are detected as slaveless IDE master drives on
20419 kFreeBSD).
20420 Reported by Carsten Aulbert.
20421
a75f4f62
CW
204222010-11-02 Colin Watson <cjwatson@ubuntu.com>
20423
20424 * util/bin2h.c (main): Fix spelling error in generated output.
20425
33b4b0c6
GS
204262010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20427
20428 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20429
2b36fbf4
VS
204302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20433 vga= option is supplied.
20434
74aaf558
VS
204352010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20438 * util/grub.d/10_kfreebsd.in: Likewise.
20439 * util/grub.d/10_linux.in: Likewise.
20440 * util/grub.d/20_linux_xen.in: Likewise.
20441
6428dec3
VS
204422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20443
20444 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20445 argument as an argument to no-argument option.
20446
f8729d98
VS
204472010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * util/grub.d/10_linux.in: Add missing load_video with explicit
20450 GRUB_GFXPAYLOAD_LINUX.
20451
89d68fa6
VS
204522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20455
3a1197cd
VS
204562010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20459 elements with invlid index.
20460 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20461 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20462 members.
20463 * include/grub/raid.h (grub_raid_member): New struct.
20464 (grub_raid_array): Transform devices and start_sector into usage of
20465 grub_raid_member. All users updated
20466 (allocated_devs): New member.
20467
71574288
VS
204682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20471 is modified
20472
8d40ec65
BC
204732010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20474
20475 NetBSD build fix for getline function conflict from gnulib.
20476
20477 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20478 components that depend on gnulib headers.
20479 (libgrubmods.a): Renamed from earlier libgrub.a.
20480 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20481
95b9257e
VS
204822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20483
20484 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20485 install rather than creating a broken install.
20486
26c53dc6
VS
204872010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20488
20489 * util/grub-setup.c (argp): Remove misleading example of installing to
20490 a partition.
20491
4171b3c5
VS
204922010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20493
20494 * util/grub-setup.c (setup): Clarify the error message.
20495
18568d18
VS
204962010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20497
20498 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20499
4f6a2e21
VS
205002010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20501
20502 * grub-core/kern/emu/misc.c
20503 (grub_make_system_path_relative_to_its_root)
20504 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20505
205062010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20507
20508 * grub-core/kern/emu/misc.c
20509 (grub_make_system_path_relative_to_its_root): Revert r2882.
20510
e138c458
VS
205112010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20514 useless field head. All users updated.
20515 (free_subchunk): Correct handling of IN_REGION subchunk.
20516
0cbcdf0e
CW
205172010-10-22 Colin Watson <cjwatson@ubuntu.com>
20518
20519 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20520 (Supported kernels): Likewise.
20521
b65ea155
GS
205222010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20523
20524 Make mktemp invocations portable.
20525
20526 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20527 exit if mktemp fails.
20528 * tests/grub_script_blockarg.in: Likewise.
20529 * tests/partmap_test.in: Likewise.
20530 * tests/util/grub-shell-tester.in: Likewise.
20531 * tests/util/grub-shell.in: Likewise.
20532 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20533 * Makefile.am: Likewise, and chain shell commands with `&&'
20534 instead of ';'.
20535 * util/grub-mkrescue.in: Use the same explicit template as above, and
20536 exit if mktemp fails.
20537
05f43cdd
BC
205382010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20539
20540 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20541 Linux kernel, reported by Dennis Schridde.
20542
800e6a9b
SJ
205432010-10-17 Szymon Janc <szymon@janc.net.pl>
20544
20545 * grub-core/normal/auth.c (grub_auth_check_authentication):
20546 Set-but-not-used variable removed.
20547
d82df574
VS
205482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20551 32-bit linux protocol.
20552
7bced458
VS
205532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20556 cursor shape for sanity.
20557
5b027690
VS
205582010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20559
20560 * docs/grub.texi (Installation): Document buggy BIOS install.
20561
ba5f65cf
VS
205622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 * docs/grub.texi (Installation): Indent.
20565
fdf2ec9c
VS
205662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * util/grub-setup.c (setup): New parameter allow_floppy.
20569 (arguments): New member allow_floppy.
20570 (argp_parser): Handle --allow-floppy.
20571 (main): Pass allow_floppy.
20572 * util/grub-install.in: New option --allow-floppy passed though to
20573 grub-setup.
20574
861dfd4c
VS
205752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * util/grub-install.in: Handle partitionless disks.
20578
f77a8c24
VS
205792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20580
20581 * util/grub-setup.c (setup): Don't clean blocklists before readability
20582 verfification.
20583
27d9ee32
VS
205842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20585
20586 * docs/grub.texi (Installation): Document embedding zone. Remove
20587 obsolete grub-install example.
20588
6bdda8f8
SJ
205892010-10-16 Szymon Janc <szymon@janc.net.pl>
20590
20591 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20592 Set-but-not-used variable ifdef'ed.
20593 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20594 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20595 variable removed.
20596 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20597 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20598 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20599 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20600 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20601 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20602 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20603 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20604 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20605 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20606 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20607 Likewise.
20608
e19b016b
VS
206092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20612 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20613 enum value.
20614
6c8d3002
VS
206152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20616
20617 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20618 synonym to _S5_. Needed for some DSDTs.
20619
c32b51c9
VS
206202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20621
20622 Userspace ACPI parser debugging.
20623
20624 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20625 headers and add relevant defines. Don't include standard headers.
20626 (main) [GRUB_DSDT_TEST]: New function.
20627 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20628 Don't declare functions.
20629
fbfbeb39
VS
206302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 Remove dead grub_efi_mm_fini.
20633
20634 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20635 (ALLOCATED_PAGES_SIZE): Likewise.
20636 (MAX_ALLOCATED_PAGES): Likewise.
20637 (allocated_pages): Likewise.
20638 (grub_efi_allocate_pages): Don't record allocated pages.
20639 (grub_efi_free_pages): Likewise.
20640 (grub_efi_mm_init): Likewise.
20641 (grub_efi_mm_fini): Removed.
20642
65f7ed7c
VS
206432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20644
20645 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20646 (grub_efi_mm_init): Take into account the memory map size increase.
20647
24977b44
VS
206482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20651 (serial_hw_put): Wait based on real time rather than port reads. Don't
20652 roken ports.
20653 * include/grub/serial.h (grub_serial_port): New field broken.
20654
1eb01cd2
RM
206552010-10-16 Robert Millan <rmh@gnu.org>
20656
20657 * grub-core/kern/emu/misc.c
20658 (grub_make_system_path_relative_to_its_root): Fix premature return
20659 when processing non-root ZFS filesystems.
5f8b440b 20660 Reported by Sergio Talens-Oliag.
1eb01cd2 20661
2d5fed60
RM
206622010-10-15 Robert Millan <rmh@gnu.org>
20663
20664 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20665 guarantee compressed ones are processed first.
20666
d0f4c1ea
VS
206672010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20668
20669 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20670 grub_efiemu_autocore.
20671
d87c681f
VS
206722010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20675 rather than 0x1b.
20676 (grub_console_getkey): Use correct jae opcode rather than ja.
20677
219b3564
RM
206782010-10-12 Robert Millan <rmh@gnu.org>
20679
20680 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20681 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20682 variable. All references updated.
20683
20684 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20685
20c6bb7e
VS
206862010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20687
20688 Correctly distinguish mdraid flavours.
20689
20690 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20691 (insert_array): New argument raid.
20692 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20693 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20694 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20695
74baff84
VS
206962010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20699 handling of special keys.
20700
3ef068df 207012010-10-02 Aleš Nesrsta <starous@volny.cz>
20702
c7980ad9
VS
20703 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20704 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20705
a9455194 207062010-10-02 Aleš Nesrsta <starous@volny.cz>
20707
c7980ad9
VS
20708 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20709 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20710 users updated.
a9455194 20711 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20712 Use right endpoint when querying descriptor.
a9455194 20713
441cfe65
VS
207142010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20715
20716 Clear out 0x80 color bit on EFI.
20717 Tested by: decoder
20718 Reported by: decoder and meta tech.
20719
20720 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20721 (grub_console_setcolorstate): Clear out 0x80 bit.
20722 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20723 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20724 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20725
bf26bcc4
VS
207262010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20729 Set to "auto".
20730
6e3c515d
VS
207312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20734 mo_file after freeing.
20735
e6d983ba
VS
207362010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20739
74ccb5b5
VS
207402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20743 flags.
20744
17821956
VS
207452010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20746
20747 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20748 usage.
20749
ee74fa48
VS
207502010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20753
20754 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20755 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20756 and terminfo.h when needed.
20757 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20758 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20759 (terminfo): Enable only on terminfokernel.
20760 (extcmd): Likewise.
20761 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20762 * include/grub/lib/arg.h: Likewise.
20763 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20764 incorrect usage of ->.
20765
aa438e68
VS
207662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20769 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20770
57994012
VS
207712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 Fix coreboot compilation.
20774
20775 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20776 Take VBE info into account even if only text is supported.
20777 (fill_vbe_info): Take into account the case when only VGA text
20778 is supported.
20779 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20780 on coreboot, multiboot and qemu.
20781
2a406611
VS
207822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20785 debug messages.
20786 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20787
d33613fc
VS
207882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20789
20790 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20791 parameters.
20792
44a1b432
VS
207932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20794
20795 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20796 if they were BSD-style.
20797
edde54e6
VS
207982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20799
20800 * grub-core/boot/i386/pc/lnxboot.S: Replace
20801 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20802 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20803
b65830fa
VS
208042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 Write embedding zone using Reed-Solomon.
20807
20808 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20809 * grub-core/Makefile.am (rs_decoder.S): New target.
20810 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20811 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20812 (multiboot): Move to RS part.
20813 (post_reed_solomon): New label.
20814 (grub_boot_drive): Move to non-RS part since it's modified in memory
20815 on boot.
20816 Include rs_decoder.S.
20817 * grub-core/lib/reed_solomon.c: New file.
20818 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20819 New definition.
20820 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20821 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20822 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20823 * include/grub/partition.h (grub_partition_map): Change prototype of
20824 embed to allow returning additional sectors.
20825 * include/grub/reed_solomon.h: New file.
20826 * util/grub-setup.c (setup): Handle Reed-Solomon.
20827
0b4b227f
CW
208282010-09-28 Colin Watson <cjwatson@ubuntu.com>
20829
20830 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20831 i386 and x86-64 definedness tests.
20832
f772623b
YB
208332010-09-27 Yves Blusseau <blusseau@zetam.org>
20834
20835 Fix generation of kernel_syms.lst
20836
20837 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20838 ASM_PREFIX
20839
8e57a6ca
RM
208402010-09-26 Robert Millan <rmh@gnu.org>
20841
20842 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20843
20844 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20845 the pool is an array of devices, iterate through it and return the
20846 first device that passes a stat() test (instead of blindly returning
20847 the first one).
20848
f9130836
RM
208492010-09-26 Robert Millan <rmh@gnu.org>
20850
20851 Build fixes for GNU/kFreeBSD.
20852
20853 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20854 to programs that require ZFS conversion.
20855 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20856 kernels that don't have FLOPPY_MAJOR.
20857
96510faf
BC
208582010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20859
20860 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20861
449333eb
BC
208622010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20863
20864 Fix grub-emu build.
20865
20866 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20867 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20868 mdraid09 and mdraid1x.
20869
e1fd1939
CW
208702010-09-24 Colin Watson <cjwatson@ubuntu.com>
20871
20872 Re-enable grub-extras.
20873
20874 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20875 avoid confusing Automake. Run autogen only twice, once for the top
20876 level and once for grub-core. Add Makefile.util.def and
20877 Makefile.core.def from extra modules to the appropriate autogen
20878 invocations. If Makefile.common exists in an extra module, include
20879 it in both Makefile.util.am and grub-core/Makefile.core.am;
20880 similarly, include any Makefile.util.common file in Makefile.util.am
20881 and any Makefile.core.common file in grub-core/Makefile.core.am.
20882 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20883 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20884 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20885 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20886
20887 * gentpl.py (gvar_add): Turn GVARS into a set.
20888 (global_variable_initializers): Sort global variables on output.
20889 (vars_init): New function.
20890 (first_time): Likewise.
20891 (library): Ensure that non-global variable initialisations are
20892 emitted before the first time we emit code for a library block.
20893 Append to variables rather than setting them. Only emit
20894 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20895 each conditional path.
20896 (program): installdir() emits an Autogen macro, so must be passed to
20897 var_add rather than gvar_add.
20898 (data): Likewise.
20899 (script): Likewise.
20900 (rules): New function, centralising handling for different target
20901 types. Set up Guile association lists for first_time and vars_init,
20902 and send most output to a diversion so that variable initialisations
20903 can be emitted first.
20904 (module_rules): Use new rules function.
20905 (kernel_rules): Likewise.
20906 (image_rules): Likewise.
20907 (library_rules): Likewise.
20908 (program_rules): Likewise.
20909 (script_rules): Likewise.
20910 (data_rules): Likewise.
20911
20912 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20913
20914 * .bzrignore: Add contrib and grub-core/contrib. Remove
20915 grub-core/Makefile.gcry.am.
20916
1d12cf29
YB
209172010-09-24 Yves Blusseau <blusseau@zetam.org>
20918
20919 * grub-core/lib/LzFind.c: Add missing include.
20920 * grub-core/lib/LzmaEnc.c: Likewise.
20921 * grub-core/script/lexer.c: Likewise.
20922 * grub-core/script/yylex.l: Likewise.
20923 * util/grub-macho2img.c: Likewise.
20924 * util/grub-menulst2cfg.c: Likewise.
20925 * util/grub-mklayout.c: Likewise.
20926 * util/grub-mkpasswd-pbkdf2.c
20927 * util/grub-mkrelpath.c: Likewise.
20928 * util/resolve.c: Likewise.
20929
dd363028
BC
209302010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20931
20932 * Makefile.util.def (example_unit_test): Add
20933 grub-core/gnulib/libgnu.a.
20934
f5a109e2
GS
209352010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20936
20937 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20938
6d0fa83c
VS
209392010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 Support xz compression on yeeloong.
20942
20943 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20944 * configure.ac: Check for LZMA.
20945 * grub-core/Makefile.core.def (xz_decompress): New target.
20946 (none_decompress): Likewise.
20947 * grub-core/boot/decompressor/minilib.c: New file.
20948 * grub-core/boot/decompressor/none.c: Likewise.
20949 * grub-core/boot/decompressor/xz.c: Likewise.
20950 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20951 * grub-core/kern/mips/cache_flush.S: Likewise.
20952 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20953 * grub-core/kern/mips/startup.S: Move first stage to ...
20954 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20955 nomacro.
20956 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20957 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20958 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20959 Allocate statically.
20960 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20961 Allocate statically or use scratch. Don't check CRC32.
20962 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20963 Allocate statically. Don't check CRC32.
20964 * include/grub/decompressor.h: New file.
20965 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20966 Removed.
20967 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20968 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20969 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20970 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20971 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20972 * util/grub-mkimage.c (grub_compression_t): New type.
20973 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20974 (image_target_desc): New field default_compression.
20975 (image_targets): Adjust yeeloong targets.
20976 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20977 (compress_kernel): New parameter comp.
20978 (generate_image): Likewise. Handle new compression case.
20979 (options): New option --compression
20980 (help): Likewise.
20981 (main): Handle new option.
20982
1b655af6
GS
209832010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20984
20985 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20986
8f03f0b5
CW
209872010-09-22 Colin Watson <cjwatson@ubuntu.com>
20988
20989 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20990 typo in __i386__ conditional.
20991
7835dfd3
VS
209922010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20995 include.
20996
e255597e
VS
209972010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20998
6d0fa83c 20999 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
21000
21001 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
21002 new tags as supported.
21003 (acpiv2_size): New function.
21004 (grub_multiboot_get_mbi_size): Take new tags into account.
21005 (grub_multiboot_make_mbi): Add new tags.
21006 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 21007
6cc14051 210082010-09-21 Aleš Nesrsta <starous@volny.cz>
21009
21010 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
21011 Added missing configuration of USB device.
21012
df7769d8
CW
210132010-09-21 Colin Watson <cjwatson@ubuntu.com>
21014
21015 * grub-core/normal/menu_entry.c (run): Make sure we always return
21016 a value.
21017
b031012d
CW
210182010-09-21 Colin Watson <cjwatson@ubuntu.com>
21019
21020 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
21021 NumberOfPages is UINT64 according to the UEFI specification, not
21022 UINTN. Fix printf format.
21023
174de8f3
CW
210242010-09-21 Colin Watson <cjwatson@ubuntu.com>
21025
21026 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
21027 `err' to grub_usb_err_t.
21028 Reported and tested by: KESHAV P.R.
21029
d7dbe923
CW
210302010-09-21 Colin Watson <cjwatson@ubuntu.com>
21031
21032 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
21033 tpart non-const, so that we can assign to it. (Since this is a
21034 typedef, the constness refers to the pointer rather than what it
21035 points to.)
21036
8d5e2af3
CW
210372010-09-21 Colin Watson <cjwatson@ubuntu.com>
21038
21039 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21040 $(top_srcdir)/grub-core/gnulib as well as
21041 $(top_builddir)/grub-core/gnulib.
21042 Reported by: KESHAV P.R.
21043
5c527783
CW
210442010-09-21 Colin Watson <cjwatson@ubuntu.com>
21045
21046 * util/grub-install.in: Fix the bootloader ID option to be
21047 consistently --bootloader-id, not --bootloader_id.
21048 Reported by: KESHAV P.R.
21049
d309a16e
CW
210502010-09-21 Colin Watson <cjwatson@ubuntu.com>
21051
21052 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21053 check hash checksum." consistently translatable.
21054
b830cd16
YB
210552010-09-21 Yves Blusseau <blusseau@zetam.org>
21056
21057 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21058 $(top_builddir).
21059
c4fe27a8
CW
210602010-09-21 Colin Watson <cjwatson@ubuntu.com>
21061
21062 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21063 (GRUB_MOD_INIT): Register sha1sum command.
21064 (GRUB_MOD_FINI): Unregister sha1sum command.
21065
a4c1d277
YB
210662010-09-21 Yves Blusseau <blusseau@zetam.org>
21067
21068 Keep boot and grub directory names in sync with utils scripts
21069
21070 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21071 * config.h.in: Add previous macros.
21072 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21073 * util/grub-install.in: Use $bootdir and $grubdir variables.
21074
4eff79d2
CW
210752010-09-21 Colin Watson <cjwatson@ubuntu.com>
21076
21077 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21078 convert partition names to disk names if the new `convert' parameter
21079 is set.
21080 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21081 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21082 disk in its own right. This can happen with Xen disk images.
21083
934d7e44
YB
210842010-09-21 Yves Blusseau <blusseau@zetam.org>
21085
21086 * util/grub-editenv.c: Update strings to avoid warnings when generating
21087 grub.pot file.
21088 * util/grub-setup.c: Likewise.
934d7e44 21089
df3367cc
VS
210902010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21091
21092 * configure.ac: Change version to 1.99~beta0.
21093
77a94e98
VS
210942010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21095
21096 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21097 Add BADRAM.
21098 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21099 Likewise.
21100 * include/multiboot.h: Resynced with specification.
21101 * include/multiboot2.h: Likewise.
21102
269004c1
CW
211032010-09-21 Colin Watson <cjwatson@ubuntu.com>
21104
21105 Fix po directory handling.
21106
21107 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21108 * grub-core/gnulib/Makefile.am: Import gettext module.
21109 * m4/gnulib-cache.m4: Likewise.
21110 * m4/gnulib-comp.m4: Likewise.
21111 * m4/gettext.m4: New file, from gnulib.
21112 * m4/glibc2.m4: Likewise.
21113 * m4/iconv.m4: Likewise.
21114 * m4/intdiv0.m4: Likewise.
21115 * m4/intl.m4: Likewise.
21116 * m4/intldir.m4: Likewise.
21117 * m4/intlmacosx.m4: Likewise.
21118 * m4/intmax.m4: Likewise.
21119 * m4/inttypes-pri.m4: Likewise.
21120 * m4/lcmessage.m4: Likewise.
21121 * m4/lib-ld.m4: Likewise.
21122 * m4/lib-link.m4: Likewise.
21123 * m4/lib-prefix.m4: Likewise.
21124 * m4/lock.m4: Likewise.
21125 * m4/nls.m4: Likewise.
21126 * m4/po.m4: Likewise.
21127 * m4/printf-posix.m4: Likewise.
21128 * m4/progtest.m4: Likewise.
21129 * m4/threadlib.m4: Likewise.
21130 * m4/uintmax_t.m4: Likewise.
21131 * m4/visibility.m4: Likewise.
21132 * po/Makefile.am: Remove.
21133 * po/Makefile.in.in: New file, from gettext.
21134 ($(DOMAIN).pot-update): Support POTFILES-shell.
21135 * po/Makevars: New file.
21136 * po/POTFILES-shell: Rename to ...
21137 * po/POTFILES-shell.in: ... this. Update.
21138 * po/POTFILES: Rename to ...
21139 * po/POTFILES.in: ... this. Update.
21140 * po/Rules-quot: New file, from gettext.
21141 * po/boldquot.sed: Likewise.
21142 * po/en@boldquot.header: Likewise.
21143 * po/en@quot.header: Likewise.
21144 * po/insert-header.sin: Likewise.
21145 * po/quot.sed: Likewise.
21146 * po/remove-potcdate.sin: Likewise.
21147
3e0fa5d0
VS
211482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21151
ade9bd66
VS
211522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * util/grub.d/20_linux_xen.in: Use submenus.
21155
fc55cc4c
VS
211562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 Support submenus.
21159
21160 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21161 parameter submenu. All users updated.
21162 * grub-core/normal/main.c (free_menu): Rename to ...
21163 (grub_normal_free_menu): ... this. Made global.
21164 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21165 if requested.
21166 * grub-core/normal/menu_entry.c (screen): New field submenu.
21167 (make_screen): Set submenu.
21168 (run): Open new context if requested.
21169 * include/grub/menu.h (grub_menu_entry): New field submenu.
21170 * include/grub/normal.h (grub_normal_free_menu): New proto.
21171
600cedf7
VS
211722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21173
21174 Menu entries extractor.
21175
21176 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21177 variants.
21178 (GRUB_MOD_INIT): Register new variants.
21179 (GRUB_MOD_FINI): Unregister new variants.
21180 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21181 into grub_cmd_legacy_source.
21182 (grub_cmd_legacy_source): Implement extractor variants.
21183 (GRUB_MOD_INIT): Register new variants.
21184 (GRUB_MOD_FINI): Unregister new variants.
21185 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21186 as an extractor.
21187 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21188 search as an extractor.
21189 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21190 test as an extractor.
21191 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21192 as an extractor.
21193 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21194 (grub_env_new_context): New function.
21195 (grub_env_context_open): Likewise.
21196 (grub_env_extractor_open): Likewise.
21197 (grub_env_extractor_close): Likewise.
21198 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21199 grub_extractor_level.
21200 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21201 * include/grub/env.h (grub_env_extractor_open): New proto.
21202 (grub_env_extractor_close): Likewise.
21203 * include/grub/normal.h (grub_extractor_level): New external variable.
21204
7bda3a87
VS
212052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 Make cutmem accept a region specification.
21208 Suggested by: Samuel Thibault
21209
21210 * grub-core/mmap/mmap.c (parsemem): New function.
21211 (grub_cmd_cutmem): Handle new arguments.
21212
2ea57f88
VS
212132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 New command cutmem.
21216
21217 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21218 (GRUB_MOD_INIT): Register new command.
21219 (GRUB_MOD_FINI): Unregister new command.
21220
74342e31
VS
212212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 Support some annoying BSD and Minix subpartitions.
21224
21225 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21226 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21227 Properly handle concatenation.
21228 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21229 * grub-core/normal/completion.c (iterate_partition): Likewise.
21230 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21231 contain partition. All users updated.
21232 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21233 struct.
21234 (grub_openbsdlabel_partition_map): Likewise.
21235 (bsdlabel_partition_map_iterate): Rename to ..
21236 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21237 (bsdlabel_partition_map_iterate): New function.
21238 (netopenbsdlabel_partition_map_iterate): Likewise.
21239 (netbsdlabel_partition_map_iterate): Likewise.
21240 (openbsdlabel_partition_map_iterate): Likewise.
21241 (GRUB_MOD_INIT): Register new partmaps.
21242 (GRUB_MOD_FINI): Unregister new partmaps.
21243 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21244 (grub_partition_msdos_iterate): ... this. All users updated.
21245 Don't support embedding other than in a minix partition.
21246 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21247 proto.
21248 * include/grub/partition.h (grub_partition): New field msdostype.
21249 * util/grub-install.in: Handle openbsd and netbsd types being in
21250 part_bsd module.
21251
1e8d555b
VS
212522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21253
21254 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21255
21256 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21257 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21258 (mdraid09): ... this.
21259 (mdraid1x): New module.
21260 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21261 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21262
899d8af4
VS
212632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21266 vsprintf.
21267
40901acd
CW
212682010-09-20 Colin Watson <cjwatson@ubuntu.com>
21269
21270 * grub-core/commands/efi/lsefimmap.c: Correct header.
21271 * NEWS: Update.
21272
dfe3b247
CW
212732010-09-20 Colin Watson <cjwatson@ubuntu.com>
21274
21275 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21276 as printf format strings; the translations might contain '%' which
21277 could cause a crash.
21278 (main): Likewise.
21279 * util/grub-fstest.c (argp_parser): Likewise.
21280 * util/grub-setup.c (argp_parser): Likewise.
21281 (main): Likewise.
21282
3286a4b4
VS
212832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Use argp in grub-fstest.
21286
21287 * util/grub-fstest.c: Don't include getopt.h.
21288 Include argp.h.
21289 (root): New variable.
21290 (args_count): Likewise.
21291 (nparm): Likewise.
21292 (num_disks): Likewise.
21293 (images): Likewise.
21294 (cmd): Likewise.
21295 (debug_str): Likewise.
21296 (args): Likewise.
21297 (options): Transformed to argp.
21298 (usage): Removed.
21299 (main): Split argument parsing into ...
21300 (argp_parser): ... this. Changed to argp format.
21301 (argp): New variable.
21302 (main): Use argp_parse.
21303
3dccbe4b
TG
213042010-09-20 Tristan Gingold <gingold@free.fr>
213052010-09-20 Robert Millan <rmh.grub@aybabtu.com>
213062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 * grub-core/commands/efi/lsefimmap.c: New file.
21309 * grub-core/Makefile.core.def (lsefimmap): New module.
21310 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21311
38c259a7
VS
213122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 Pause the execution (10s max) if any errors are displayed so the user
21315 has a chance to see them.
21316
21317 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21318 (grub_print_error): Increment grub_err_printed_errors.
21319 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21320 execution if any errors were displayed.
21321 (show_menu): Remove old code for pause.
21322 * grub-core/normal/menu_entry.c (run): Likewise.
21323 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21324 users updated.
21325 (grub_normal_get_char_counter): Likewise.
21326 * include/grub/err.h (grub_err_printed_errors): New external variable.
21327 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21328
f218b09c
VS
213292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 Support multiboot VBE info.
21332
21333 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21334 Take VBE info into account.
21335 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21336 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21337 Call fill_vbe_info when appropriate.
21338 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21339 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21340 as supported.
21341 (grub_multiboot_get_mbi_size): Take new tags into account.
21342 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21343 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21344 Call fill_vbe_tag when appropriate.
21345 (grub_multiboot_make_mbi): Properly align tags.
21346 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21347 function.
21348 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21349 proto.
21350 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21351
a9cc5438
VS
213522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21353
21354 Suport manual terminal geometry specification.
21355
21356 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21357 Save state in grub_ofconsole_terminfo_output.
21358 (grub_ofconsole_term): Use grub_terminfo_getwh.
21359 (grub_ofconsole_getwh): Removed.
21360 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21361 (grub_serial_term): Use grub_terminfo_getwh.
21362 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21363 (options): New struct.
21364 (OPTION_*): New enum.
21365 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21366 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21367 width and height.
21368 (grub_terminfo_getwh): New proto.
21369 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21370
1a8fed20
VS
213712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 Handle legacy "terminal" command.
21374
21375 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21376 and FLAG_TERMINAL.
21377 (legacy_commands): Add terminal and title.
21378 (grub_legacy_parse): Handle terminal. Simplify title handling.
21379
41e9c57d
VS
213802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21381
21382 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21383 parameters overflow.
21384
61c874c5
CW
213852010-09-20 Colin Watson <cjwatson@ubuntu.com>
21386
21387 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21388 widthspec.h.
21389
21390 * docs/grub.texi (Shell-like scripting): Document `!'.
21391 (Network): Simplify using new i386-pc-pxe format. Mention
21392 grub-mknetdir.
21393
21394 * NEWS: Update.
21395
943682b4
CW
213962010-09-20 Colin Watson <cjwatson@ubuntu.com>
21397
21398 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21399 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21400 when needed.
21401
6d3d698d
CW
214022010-09-20 Colin Watson <cjwatson@ubuntu.com>
21403
21404 * grub-core/commands/efi/lsefisystab.c: Correct header.
21405 * grub-core/commands/efi/lssal.c: Likewise.
21406 * grub-core/commands/testload.c: Likewise.
21407
c982589f
CW
214082010-09-20 Colin Watson <cjwatson@ubuntu.com>
21409
21410 * util/grub-mkrescue.in: Add explicit root argument to --set to
21411 prevent the UUID being interpreted as an argument to --set (matches
21412 previous change to prepare_grub_to_access_device).
21413
a63c31b6
CW
214142010-09-20 Colin Watson <cjwatson@ubuntu.com>
21415
21416 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21417 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21418 the verbosity of later #ifs.
21419 (find_partition_start): Define this function on FreeBSD too.
21420 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21421 function.
21422 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21423 on FreeBSD.
21424
6439b8ee
YB
214252010-09-20 Yves Blusseau <blusseau@zetam.org>
21426
21427 * util/grub-editenv.c: Use argp instead of getopt.
21428
c5930ec8
YB
214292010-09-20 Yves Blusseau <blusseau@zetam.org>
21430
21431 * util/grub-setup.c: Use argp instead of getopt.
21432
15c69261
YB
214332010-09-20 Yves Blusseau <blusseau@zetam.org>
21434
21435 Use gnulib-tool to create gnulib source files.
21436
21437 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21438 grub-core/gnulib directories
21439 * .bzignore: Add **/.deps and autogenerated gnulib files
21440 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21441 of gnulib macros, add grub-core/gnulib/Makefile
21442 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21443 include m4 directory to aclocal.
21444 * Makefile.util.def: Remove direct compilation of gnulib source files
21445 and use the new grub-core/gnulib/libgnu.a.
21446 * build-aux/config.rpath: move config.rpath from top directory to
21447 build-aux
21448 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21449 in gnulib headers
21450 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21451 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21452 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21453 header.
21454 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21455 string.
21456
e511c9f5
YB
214572010-09-20 Yves Blusseau <blusseau@zetam.org>
21458
21459 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21460 grub-core/genmod.sh and grub-core/gensyminfo.sh
21461
c2dede05
BC
214622010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21463
21464 Add a test for echo command options.
21465
21466 * tests/grub_cmd_echo.in: New test.
21467 * Makefile.util.def: Rules for new test.
21468
c55f5018
SJ
214692010-09-20 Szymon Janc <szymon@janc.net.pl>
21470
21471 Remove crc.mod and move crc command to hashsum.mod.
21472 Remove lib/crc.c - users updated to use gcrypt implementation.
21473
21474 * grub-core/commands/crc.c: Removed.
21475 * grub-core/Makefile.core.def (crc): Module removed.
21476 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21477 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21478 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21479 * grub-core/lib/crc.c: Removed.
21480 * include/grub/lib/crc.h: Removed.
21481 * Makefile.util.def (crc): Remove lib/crc.c
21482 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21483 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21484 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21485 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21486 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21487 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21488
e0337366
VS
214892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21490
21491 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21492
742f9232
VS
214932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 Split config.h for util and core.
21496
21497 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21498 (ADDR32): Likewise.
21499 (DATA32): Likewise.
21500 (BSS_START_SYMBOL): Likewise.
21501 (END_SYMBOL): Likewise.
21502 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21503 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21504 * config.h.in: New file.
21505 * configure.ac: Use config-util.h as config define file.
21506 Rename MACHINE into GRUB_MACHINE. All users updated.
21507 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21508 updated.
21509 (NESTED_FUNC_ATTR): Likewise.
21510 Substitue new variables.
21511 (COND_HAVE_ASM_USCORE): New conditional.
21512 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21513 (kernel_syms.lst): Use ASM_PREFIX.
21514 * grub-core/kern/emu/console.c: Include config-util.h.
21515 * grub-core/kern/emu/misc.c: Likewise.
21516 * grub-core/kern/emu/mm.c: Likewise.
21517 * include/grub/emu/misc.h: Likewise.
21518 * include/grub/libgcc.h: Likewise.
21519
39feb0e8
VS
215202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21521
21522 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21523 constants usage.
21524 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21525 Fix GRUB_TERM_KEY_* constants usage.
21526 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21527
9af6dac3
VS
215282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21531 print pointer.
21532 * grub-core/bus/usb/uhci.c: Remove empty define.
21533 (grub_uhci_check_transfer): Add missing cast.
21534 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21535 print pointer.
21536 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21537 PRIuGRUB_SIZE.
21538 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21539
d6d94820
VS
215402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21541
21542 * grub-core/Makefile.core.def (legacycfg): Add
21543 lib/i386/pc/vesa_modes_table.c on emu.
21544
3572f2b6
BC
215452010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21546
21547 Reduce number of temporary files generated by build system.
21548
21549 * grub-core/gencmdlist.sh: Removed.
21550 * grub-core/genfslist.sh: Removed.
21551 * grub-core/genhandlerlist.sh: Removed.
21552 * grub-core/genmodsrc.sh: Removed.
21553 * grub-core/genpartmaplist.sh: Removed.
21554 * grub-core/genparttoollist.sh: Removed.
21555 * grub-core/gentermiinallist.sh: Removed.
21556 * grub-core/genvideolist.sh: Removed.
21557
21558 * grub-core/genmod.sh.in: New file.
21559 * grub-core/gensyminfo.sh.in: New file.
21560
21561 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21562 * conf/Makefile.extra-dist: Update with new files.
21563 * gentpl.py: Remove rules related to unnecessary temporary files.
21564 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21565 and und-* files.
21566 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21567 genmod.sh scripts.
21568 * grub-core/bus/usb/uhci.c: Remove empty #define.
21569 * grub-core/genmoddep.awk: Updated with new syminfo format.
21570 * util/bash-completion.d/Makefile.am: Add config.log to
21571 CLEANFILES.
21572
c836b030
YB
215732010-09-19 Yves Blusseau <blusseau@zetam.org>
21574
21575 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21576
2f4e8053
BC
215772010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21578
21579 * util/grub-mkconfig.in: Check the config script for syntax errors
21580 before saving.
21581
75831c34
CW
215822010-09-19 Colin Watson <cjwatson@ubuntu.com>
215832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21586 platforms.
21587 * util/grub-install.in: Add EFI and IEEE1275 support.
21588 * util/i386/efi/grub-install.in: Removed.
21589 * util/ieee1275/grub-install.in: Likewise.
21590
eaf41b25
VS
215912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21594 (grub_cmd_cmosclean): Likewise.
21595 (GRUB_MOD_INIT): Register command cmosclean.
21596 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21597 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21598
1a9130dd
CPE
215992010-09-18 Carles Pina i Estany <carles@pina.cat>
216002010-09-18 Aleš Nesrsta <starous@volny.cz>
216012010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Add keyboard layouts support.
21604
21605 * Makefile.util.def (grub-mklayout): New file.
21606 (grub-kbdcomp): New script.
21607 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21608 Add keyboard_layouts.h.
21609 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21610 commands/boot.c on yeeloong.
21611 (keylayouts): New module.
21612 * grub-core/bus/usb/ohci.c
21613 * grub-core/bus/usb/uhci.c
21614 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21615 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21616 (attach_root_port): Likewise.
21617 (poll_nonroot_hub): Likewise.
21618 (grub_usb_poll_devices): Likewise.
21619 (detach_device): Close transfer.
21620 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21621 function.
21622 (grub_usb_bulk_setup_readwrite): Likewise.
21623 (grub_usb_bulk_finish_readwrite): Likewise.
21624 * grub-core/commands/keylayouts.c: New file.
21625 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21626 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21627 aliases.
21628 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21629 support scancode 2.
21630 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21631 * include/grub/keyboard_layouts.h: New file.
21632 * util/grub-mklayout.c: New file.
21633 * util/grub-kbdcomp.in: Likewise.
21634
a1d84a5e
VS
216352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21636
21637 Unify memory types.
21638
21639 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21640 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21641 types.
21642 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21643 (grub_upper_mem): Likewise.
21644 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21645 * include/grub/memory.h (grub_memory_type_t): New enum.
21646 All users updated.
21647
9696382e
VS
216482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21649
21650 * grub-core/Makefile.core.def (lsapm): New module.
21651 * grub-core/commands/i386/pc/lsapm.c: New file.
21652 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21653 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21654 Likewise.
21655 * include/grub/i386/pc/apm.h: New file.
21656 * include/multiboot.h (multiboot_apm_info): New struct.
21657
216582010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21659
21660 GRUB-legacy configuration file support.
21661
21662 * Makefile.util.def (grub-menulst2cfg): New util.
21663 * docs/man/grub-menulst2cfg.h2m: New file.
21664 * grub-core/Makefile.core.def (legacycfg): New module.
21665 * grub-core/commands/legacycfg.c: New file.
21666 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21667 (grub_normal_add_menu_entry): ... this.
21668 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21669 (grub_normal_set_password): ...this.
21670 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21671 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21672 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21673 * grub-core/lib/legacy_parse.c: New file.
21674 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21675 * include/grub/i386/pc/vesa_modes_table.h: New file.
21676 * include/grub/legacy_parse.h: Likewise.
21677 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21678 * util/grub-menulst2cfg.c: New file.
21679
bf8d1338
CW
216802010-09-17 Colin Watson <cjwatson@ubuntu.com>
21681
21682 * grub-core/kern/emu/hostdisk.c
21683 (convert_system_partition_to_system_disk): Initialise node.
21684
9c0bad2e
CW
216852010-09-17 Colin Watson <cjwatson@ubuntu.com>
21686
21687 * grub-core/kern/emu/hostdisk.c
21688 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21689 leak.
21690 Reported and based on patch by: Modestas Vainius.
21691
a939d135
CW
216922010-09-17 Colin Watson <cjwatson@ubuntu.com>
21693
21694 Fix DM-RAID probing with recent versions of device-mapper udev
21695 rules.
21696
21697 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21698 canonicalise device paths under /dev/mapper/.
21699 (convert_system_partition_to_system_disk): Compare the
21700 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21701 path, since device nodes under /dev/mapper/ are often symlinks.
21702
0f7ee3c9
YB
217032010-09-17 Yves Blusseau <blusseau@zetam.org>
21704
21705 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21706
10854d0d
YB
217072010-09-16 Yves Blusseau <blusseau@zetam.org>
21708
21709 * configure.ac: Avoid some annoying error messages if freetype-config
21710 program is not found.
21711
108538d8
CW
217122010-09-16 Colin Watson <cjwatson@ubuntu.com>
21713
21714 Support RAID on virtio devices, and others.
21715
21716 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21717 Rename to ...
21718 [__MINGW32__] (grub_find_device): ... this.
21719 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21720 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21721 reasonable default if dir is NULL.
21722 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21723 ...
21724 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21725 (grub_guess_root_device): Update callers.
21726 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21727
21728 * util/raid.c (grub_util_getdiskname): Remove.
21729 (grub_util_raid_getmembers): Use grub_find_device rather than
21730 grub_util_getdiskname.
21731
e5bfc130
CW
217322010-09-16 Colin Watson <cjwatson@ubuntu.com>
21733
21734 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21735 needing to be compiled with serial support.
21736 (ls): Indicate that multiple files are accepted.
21737 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21738 indicate that multiple files are accepted.
21739
be458ae2
CW
217402010-09-16 Colin Watson <cjwatson@ubuntu.com>
21741
21742 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21743 libgrub_a_init.c, and util/bash-completion.d/grub.
21744
cb731b5e
VS
217452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * util/grub-setup.c (setup): Fix incorrect container semantics.
21748
35139e8a
VS
217492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21752 misusage.
21753 Reported by: J. Nick Terry
21754
e50fca4a
VS
217552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21756
21757 Move embedding routines to partmap sources files.
21758
21759 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21760 [GRUB_UTIL]: New variable.
21761 (gpt_partition_map_iterate): Set part.parent.
21762 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21763 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21764 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21765 New function.
21766 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21767 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21768 (grub_partition_map) [GRUB_UTIL]: New field embed.
21769 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21770 (setup): Use ->embed.
21771
f00478b7
VS
217722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21775 function.
21776 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21777 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21778
2b94e3ff
YB
217792010-09-15 Yves Blusseau <blusseau@zetam.org>
21780
21781 Add function to get completions from usage.
21782
21783 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21784 completions from usage. Use LC_ALL=C to get options properly.
21785
2e04a006
VS
217862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21787
21788 * grub-core/gnulib/basename-lgpl.c: Imported.
21789 * grub-core/gnulib/basename.c: Likewise.
21790 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21791 * grub-core/gnulib/dirname.c: Likewise.
21792 * grub-core/gnulib/dirname.h: Likewise.
21793 * grub-core/gnulib/stripslash.c: Likewise.
21794
5dcdf93a
VS
217952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 * grub-core/gnulib/error.c: Resynced.
21798 * grub-core/gnulib/getopt.c: Likewise.
21799 * grub-core/gnulib/getopt_int.h: Likewise.
21800 * grub-core/gnulib/regex.h: Likewise.
21801 * grub-core/gnulib/regex_internal.c: Likewise.
21802 * grub-core/gnulib/regex_internal.h: Likewise.
21803
014f47b7
SJ
218042010-09-15 Szymon Janc <szymon@janc.net.pl>
21805
21806 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21807 CRC calculations and validity checks.
21808 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21809 calculations.
21810
dd521a4a
SJ
218112010-09-15 Szymon Janc <szymon@janc.net.pl>
21812
21813 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21814
79c4eeb9
VS
218152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 Fix incorrect echo options handling.
21818 Reported by: Yves Blusseau.
21819
21820 * include/grub/command.h (grub_command_flags_t): New flags
21821 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21822 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21823 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21824
ed80f7d5
VS
218252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21828 users updated.
21829 (GRUB_COMMAND_FLAG_MENU): Likewise.
21830 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21831 (GRUB_COMMAND_FLAG_TITLE): Removed.
21832 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21833 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21834 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21835 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21836 (grub_command_flags_t): New enum. All users updated.
21837
5fe7620a
SG
218382010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21839
21840 Fix solaris compilation.
21841
21842 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21843 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21844 (grub-emu-list): Likewise.
21845
545b752f
VS
218462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 Remove deprecated root command.
21849
21850 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21851 updated.
21852
6c1a338c
VS
218532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * util/i386/pc/grub-setup.c: Merge this ...
21856 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21857 * util/grub-setup.c: ... into this.
21858 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21859 New struct.
21860
218612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21864 possible.
21865
d2ea4551
VS
218662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21867
21868 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21869 allocate p.
21870
3c3b5040
VS
218712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21872
21873 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21874 explicit root argument to set to prevent UUID to be interpreted as
21875 argument to set.
21876
b71c3fae
VS
218772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21878
21879 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21880
275433e6
VS
218812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21882
21883 Don't export grub_gate_a20.
21884
21885 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21886 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21887 to ...
21888 (grub_gate_a20): ... this. All users updated.
21889 * include/grub/i386/pc/init.h: Removed. All users updated.
21890
a5dbb1f1
VS
218912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21892
21893 Create euro.pf2 which supports most European languages.
21894
21895 * Makefile.am (grubdata_DATA): Add euro.pf2.
21896 (euro.pf2): New target.
21897 (CLEANFILES): Add euro.pf2.
21898
62a747cb
VS
218992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21900
21901 * configure.ac: Disable emu-usb by default to prevent inadvertent
21902 device takeover.
21903
608e43b1
VS
219042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21905
21906 Disable usbserial on grub-emu since our libusb code isn't good enough
21907 yet.
21908
21909 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21910 (usbserial_pl2303): Likewise.
21911 (usbserial_ftdi): Likewise.
21912
94564f81
VS
219132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21914
21915 * include/grub/disk.h (grub_disk): Remove has_partitions.
21916 All users updated.
21917 * disk/loopback.c (grub_loopback): Remove has_partitions.
21918 All users updated.
21919 (options): Remove partitions. All users updated.
21920 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21921 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21922 actual partition table is found.
21923
3352800b
VS
219242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21925
21926 Remove readability checks (too many false negatives).
21927
21928 * util/grub-install.in: Remove readability checks.
21929 * util/grub-mkconfig.in: Likewise.
21930 * util/grub.d/10_hurd.in: Likewise.
21931 * util/grub.d/10_kfreebsd.in: Likewise.
21932 * util/grub.d/10_linux.in: Likewise.
21933 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21934 way.
21935
2419f17a
VS
219362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 Enable acpi shutdown on all ACPI platforms.
21939
21940 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21941 on coreboo, multiboot and EFI.
21942 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21943 (grub_acpi_halt): Likewise.
21944 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21945 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21946 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21947 * grub-core/lib/i386/halt.c (grub_halt)
21948 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21949
0575c7c3
VS
219502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21953 context.
21954
54ac3cd1
VS
219552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21956
21957 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21958 * grub-core/video/efi_uga.c: Likewise.
21959
b2a30ac5
VS
219602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 Filter devaliases and never open same device twice.
21963
21964 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21965 (last_ihandle): Likewise.
21966 (ofdisk_hash_ent): New member shortest.
21967 (ofdisk_hash_add): Add canonical path too.
21968 (scan): New function.
21969 (grub_ofdisk_iterate): Iterate over hashed entries.
21970 (compute_dev_path): Don't add :0.
21971 (grub_ofdisk_open): Don't really open the disk.
21972 (grub_ofdisk_close): Avoid closing unrelated disk.
21973 (grub_ofdisk_read): Implement reopen logic.
21974 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21975 New function.
21976 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21977 New proto.
21978
fb53b340
VS
219792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21980
21981 Fix sparc64.
21982
21983 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21984 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21985 right address. Add sparc64_ieee1275_ldflags.
21986 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21987 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21988 to grub_host_to_target_addr
21989 (load_image): Likewise.
21990
f452b040
VS
219912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21992
21993 * grub-core/normal/completion.c (complete_file): Handle device
21994 containing slash.
21995 Fix based on patch by Doug Nazar.
21996
9b5b2541
VS
219972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21998
21999 grub-mknetdir script.
22000
22001 * Makefile.util.def (grub-mknetdir): New module.
22002 * tests/util/grub-shell.in: Support boot=net
22003 * util/grub-mknetdir.in: New file.
22004
9d2be652
VS
220052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 videoinfo on non-vbe.
22008
22009 * grub-core/Makefile.core.def (vbeinfo): Removed.
22010 (vbetest): Removed.
22011 (videoinfo): New module.
22012 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
22013 * grub-core/commands/i386/pc/vbetest.c: Removed.
22014 * grub-core/commands/videoinfo.c: New file.
22015 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
22016 specification.
22017 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
22018 as vbetest.
22019 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
22020 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
22021 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
22022 mode_number. New parameter mode. All users updated.
22023 (grub_video_gop_iterate): New function.
22024 (grub_video_efi_gop): New member iterate.
22025 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
22026 (grub_vbe_set_video_mode): Remove setting useless fields.
22027 (vbe2videoinfo): New function.
22028 (grub_video_vbe_iterate): Likewise.
22029 (grub_video_vbe_setup): Use vbe2videoinfo.
22030 (grub_video_vbe_print_adapter_specific_info): New function.
22031 (grub_video_vbe_adapter): New fields iterate and
22032 print_adapter_specific_info.
22033 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
22034 All users updated.
22035 (grub_video_mode_info): New field mode_number.
22036 (grub_video_adapter): New fields iterate and
22037 print_adapter_specific_info.
22038
179503f5
TG
220392010-09-13 Tristan Gingold <gingold@free.fr>
220402010-09-13 Robert Millan <rmh.grub@aybabtu.com>
220412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * grub-core/commands/efi/lsefisystab.c: New file.
22044 * grub-core/commands/efi/lssal.c: Likewise.
22045 * grub-core/Makefile.core.def (lsacpi): New module.
22046 (lsefisystab): Likewise.
22047 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22048 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22049 (grub_efi_sal_system_table): New struct.
22050 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22051 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22052 (grub_efi_sal_system_table_platform_features): Likewise.
22053 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22054 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22055 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22056 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22057
cf9827de
VS
220582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 Support explicit user claim that a device is BIOS-visible.
22061
22062 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22063 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22064 * grub-core/kern/emu/hostdisk.c
22065 (convert_system_partition_to_system_disk): Support mdX.
22066 (find_system_device): New parameter add. All users updated.
22067 (grub_util_biosdisk_is_present): New function.
22068 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22069 proto.
22070
53f0eb1f
VS
220712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22072
22073 Search hints support.
22074
22075 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22076 All users updated.
22077
b23ffd70
YB
220782010-09-13 Yves Blusseau <blusseau@zetam.org>
22079
22080 Bash completion script for util commands
22081
22082 * Makefile.am: Add util/bash-completion.d directory
22083 * configure.ac: Likewise.
22084 * util/bash-completion.d/Makefile.am: New file.
22085 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22086
d547dc28
VS
220872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22090 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22091 Reported by: Yves Blusseau.
22092
2fc8ccb9
VS
220932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22096 partition size and offset.
22097
d8a84076
VS
220982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22099
22100 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22101
84fb3b3d
VS
221022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22103
22104 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22105
768ec2e2
VS
221062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22107
22108 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22109 (grub_xvasprintf): Likewise.
22110
4870900f
VS
221112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22114
faca6bec
VS
221152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22116
22117 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22118 args ending with NULL.
22119
221202010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
22121
22122 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22123 pointer.
22124
3c70f225
SJ
221252010-09-11 Szymon Janc <szymon@janc.net.pl>
22126
22127 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22128
4df7996d
VS
221292010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 Shutdown using ACPI.
22132
22133 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22134 * grub-core/commands/acpihalt.c: New file.
22135 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22136 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22137 (grub_acpi_halt): New proto.
22138 (GRUB_ACPI_SLP_EN): New const.
22139 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22140 (GRUB_ACPI_OPCODE_*): New enum.
22141 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22142
126b4c32
TG
221432010-09-11 Tristan Gingold <gingold@free.fr>
221442010-09-11 Robert Millan <rmh.grub@aybabtu.com>
221452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 * commands/lsacpi.c: New file.
22148 * grub-core/Makefile.core.def (lsacpi): New module.
22149 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22150 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22151 (grub_acpi_madt_entry_header): New struct.
22152 (grub_acpi_madt): Likewise.
22153 (grub_acpi_madt_entry_interrupt_override): Likewise.
22154 (grub_acpi_madt_entry_sapic): Likewise.
22155 (grub_acpi_madt_entry_lsapic): Likewise.
22156 (grub_acpi_madt_entry_platform_int_source): Likewise.
22157 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22158 (PRIuGRUB_UINT32_T): Likewise.
22159 (PRIxGRUB_UINT64_T): Likewise.
22160
1aa4fe88
VS
221612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22162
22163 Implement loading palette on ieee1275_fb.
22164
22165 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22166 (have_setcolors): Likewise.
22167 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22168 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22169 (grub_video_ieee1275_set_palette): Implement.
22170
25761e13
VS
221712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
221722010-09-11 Colin Watson <cjwatson@ubuntu.com>
22173
22174 * util/grub-install.in (grub_partition): New variable.
22175 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22176 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22177 Fixes a bug reported by Yves Blusseau.
22178
050abaea
VS
221792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 Fix emu on mipsel.
22182
22183 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22184 =grub_cpu_flush_cache on all mips and not only yeeloong.
22185 * configure.ac (COND_mips): New conditional.
22186 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22187 platforms.
22188 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22189 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22190 [GRUB_LINKER_HAVE_INIT]: New function.
22191 (grub_emu_post_init): Likewise.
22192 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22193 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22194 * include/grub/cache.h (_mips): Include mips/cache.h.
22195 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22196 LVM and RAID prototypes.
22197 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22198 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22199 function.
22200
5ed7d816
CW
222012010-09-10 Colin Watson <cjwatson@ubuntu.com>
22202
22203 * util/grub-install.in: Don't try to verify core.img until after
22204 running grub-mkimage to create it.
22205
90367e04
RM
222062010-09-10 Robert Millan <rmh@gnu.org>
22207
22208 * util/grub.d/10_hurd.in: Add misc readability checks.
22209 * util/grub.d/10_kfreebsd.in: Likewise.
22210 * util/grub.d/10_linux.in: Likewise.
22211
c452fa66
CW
222122010-09-10 Colin Watson <cjwatson@ubuntu.com>
22213
22214 * util/grub-install.in: ${imgext} won't be defined here until the
22215 install branch is merged. For the meantime, only verify core.img on
22216 i386-pc and sparc64-ieee1275 platforms.
22217
c38fe9f4
RM
222182010-09-10 Robert Millan <rmh@gnu.org>
22219
22220 Solaris support in grub_find_zpool_from_dir(). Thanks
22221 Seth Goldberg for referring to getextmntent() facility.
22222
22223 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22224 `sys/mkdev.h'.
22225 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22226 `<sys/mnttab.h>'.
22227 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22228 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22229 method for finding zpool name.
22230
905f7773
CW
222312010-09-10 Colin Watson <cjwatson@ubuntu.com>
22232
22233 grub-fstest needs the host and hostfs modules while other utilities
22234 actively require those modules to be absent, so grub-fstest needs
22235 its own initialisation and finalisation code.
22236
22237 * Makefile.am (grub_fstest.pp): New target.
22238 (grub_fstest_init.lst): Likewise.
22239 (grub_fstest_init.c): Likewise.
22240 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22241
fb90b546
RM
222422010-09-10 Robert Millan <rmh@gnu.org>
22243
22244 * configure.ac: Check for `struct statfs.f_fstypename' and
22245 `struct statfs.f_mntfromname'.
22246
22247 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22248 kFreeBSD-specific code.
22249
66d4bea5
RM
222502010-09-10 Robert Millan <rmh@gnu.org>
22251
22252 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22253 on ZFS. Now non-main filesystems are supported as / too.
22254
b6a690ee
CW
222552010-09-09 Colin Watson <cjwatson@ubuntu.com>
22256
22257 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22258 and grub-core/disk/host.c to ...
22259 (grub-fstest): ... here. Having the host disk implementation
22260 present confuses grub-probe and other utility programs.
22261
22262 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22263 when writing to a file, not when writing to stdout.
22264
8901b00c 222652010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22266
22267 * tests/partmap_test.in: New test for partitions.
22268 * Makefile.util.def: Rules for new test.
22269
7bf45fdd
RM
222702010-09-09 Robert Millan <rmh@gnu.org>
22271
22272 * util/grub-probe.c (probe): Fix a pair of unhandled error
22273 conditions.
22274
4dfbc574
RM
222752010-09-09 Robert Millan <rmh@gnu.org>
22276
22277 Basic Btrfs support (detection and UUID).
22278
22279 * grub-core/fs/btrfs.c: New file.
22280 * Makefile.util.def (library): Register btrfs.c.
22281 * grub-core/Makefile.core.def: Likewise.
22282
6b8e78ae
RM
222832010-09-08 Robert Millan <rmh@gnu.org>
22284
22285 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22286 with (optional) parameters to specify device and relative path.
22287 * util/grub-install.in: Use is_path_readable_by_grub() to
22288 verify readability of a few critical files.
22289 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22290 verify readability of grub.cfg.new.
22291
27f21a8b
VS
222922010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22293
22294 Split minix.mod into minix.mod and minix2.mod.
22295
22296 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22297 * grub-core/Makefile.core.def (minix2): New module.
22298 * grub-core/fs/minix.c: Use definitions instead of runtime version
22299 checking.
22300 * grub-core/fs/minix2.c: New file.
22301
c0e53ea5
YB
223022010-09-08 Yves Blusseau <blusseau@zetam.org>
22303
22304 Add new --boot-directory option to replace --root-directory
22305
22306 * util/grub-install.in: Add new --boot-directory option
22307 * util/grub-reboot.in: Likewise.
22308 * util/grub-set-default.in: Likewise.
22309
b9fe6ea2
YB
223102010-09-08 Yves Blusseau <blusseau@zetam.org>
22311
22312 * util/grub-mkconfig.in: Use new variable.
22313
d87aedff
YB
223142010-09-08 Yves Blusseau <blusseau@zetam.org>
22315
22316 * configure.ac: Define some useful variables.
22317
e55e8495
VS
223182010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22319
22320 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22321 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22322 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22323 Use terminfo and don't use cursor-on/cursor-off unless it's known
22324 to work.
22325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22326 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22327
6fa6d675
CW
223282010-09-08 Colin Watson <cjwatson@ubuntu.com>
22329
22330 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22331 starts with "(,", fill the drive containing the loaded image in
22332 between those two characters, but expect that a full partition
22333 specification including partition map names will follow.
22334
92f2aef0
RM
223352010-09-08 Robert Millan <rmh@gnu.org>
22336
22337 * configure.ac: Remove `--enable-grub-fstest' option.
22338 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22339
22340 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22341 `grub-fstest' instead of `grub-probe' for readability verification.
22342 * util/grub-probe.c (probe): Remove readability verification kludge.
22343
99fd620d
RM
223442010-09-08 Robert Millan <rmh@gnu.org>
22345
22346 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22347 initializing `GRUB_FS'.
22348
058e30ac 223492010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22350
22351 Not command (!) support to GRUB script.
22352
22353 * tests/grub_script_not.in: New test.
22354 * Makefile.util.def: Rules for new test.
22355
22356 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22357 ! command as a special case.
22358 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22359
b61d05ed 223602010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22361
058e30ac 22362 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22363 grub_free.
b61d05ed 22364
4d69c786 223652010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22366
22367 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22368
aa3119c4 223692010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22370
22371 * docs/grub.texi (Shell-like scripting): Documentation for break,
22372 continue, shift and return commands.
22373
db0f7e3d
VS
223742010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22375
22376 Rename CD-ROM to cd on BIOS.
22377
22378 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22379 "cd".
22380 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22381
88b87c93
VS
223822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22385 * util/grub-probe.c (main): Likewise.
22386 * util/i386/pc/grub-setup.c (main): Likewise.
22387 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22388 Reported and debugged by: alexxy
22389
294f324d
VS
223902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22391
22392 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22393 diagnostic info.
22394
d7ee3441
JS
223952010-09-05 Jo Shields <directhex@apebox.org>
22396
22397 * util/grub.d/30_os-prober.in: Add missing classes.
22398
d7e06c1f
VS
223992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22400
22401 * docs/grub.texi (Theme file format): Document new position format.
22402
fc157e53
VS
224032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22406 a table. Use @code instead of @verbatim.
22407
506e9a1c
CB
224082010-09-05 Colin D Bennett <colin@gibibit.com>
22409
22410 Gfxmenu documentation.
22411
22412 * docs/grub.texi (Theme file format): New chapter.
22413
f0aff67c
SJ
224142010-09-05 Szymon Janc <szymon@janc.net.pl>
22415
22416 * grub-core/Makefile.core.def (xzio): New module.
22417 * grub-core/io/xzio.c: New file.
22418 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22419 * grub-core/lib/xzembed/xz_config.h: Likewise.
22420 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22421 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22422 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22423 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22424 * grub-core/lib/xzembed/xz_private.h: Likewise.
22425 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22426 * include/grub/file.h (grub_file_filter_id): New compression filter
22427 GRUB_FILE_FILTER_XZIO.
22428
82a85062
VS
224292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22430
22431 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22432 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22433 size.
22434
3579415d
VS
224352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22436
22437 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22438 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22439
5124ae6d
VS
224402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22441
22442 Uncompressed checksum support.
22443
22444 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22445 (check_list): New parameter uncompress.
22446 (grub_cmd_hashsum): Handle --uncompress.
22447
9aadb3d1
VS
224482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 Reintroduce testload.
22451
22452 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22453 from here ...
22454 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22455 (GRUB_MOD_INIT): New function.
22456 (GRUB_MOD_FINI): Likewise.
22457 * grub-core/Makefile.core.def (testload): New module.
22458
a17792c3
SJ
224592010-09-05 Szymon Janc <szymon@janc.net.pl>
22460
22461 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22462 (uint8_t): New type.
22463 (uint16_t): Likewise.
22464 (uint32_t): Likewise.
22465 (uint64_t): Likewise.
22466
b81e40a3
SJ
224672010-09-05 Szymon Janc <szymon@janc.net.pl>
22468
22469 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22470
fc2ef117
VS
224712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22474 Made static.
22475 (grub_gzfile_open): Removed. All users updated.
22476 (GRUB_MOD_INIT): New function.
22477 (GRUB_MOD_FINI): Likewise.
22478 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22479 (grub_file_filters_enabled): Likewise.
22480 (grub_file_open): Handle filters.
22481 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22482 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22483 * include/grub/file.h (grub_file_filter_id_t): New type.
22484 (grub_file_filter_t): Likewise.
22485 (grub_file_filters_all): New extern variable.
22486 (grub_file_filters_enabled): Likewise.
22487 (grub_file_filter_register): New inline function.
22488 (grub_file_filter_unregister): Likewise.
22489 (grub_file_filter_disable): Likewise.
22490 (grub_file_filter_disable_compression): Likewise.
22491 * include/grub/gzio.h: Removed.
22492
35ee15e0
BC
224932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22494
22495 Filename expansion support for wildcards in GRUB script.
22496
22497 * tests/grub_script_expansion.in: New test.
22498 * Makefile.util.def: Rule for new test.
22499
22500 * grub-core/commands/wildcard.c: New file, implements filename
22501 expansion support for GRUB script.
22502 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22503 * grub-core/script/argv.c: Cosmetic changes.
22504 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22505 Refactored to perform wildcard expansion on arguments.
22506 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22507 struct.
22508
22509 * tests/util/grub-shell.in: Fix quoting for read input.
22510
5f0c4aca
BC
225112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22512
22513 Support for updating environment variables with matched substrings
22514 of regexp.
22515
22516 * tests/grub_cmd_regexp.in: New test.
22517 * Makefile.util.def: Rule for new test.
22518
22519 * grub-core/commands/regexp.c: New option -s to update environment
22520 variables with regexp matches.
22521
3759a35f
SJ
225222010-09-04 Szymon Janc <szymon@janc.net.pl>
22523
22524 * include/grub/file.h (grub_file): New member not_easly_seekable.
22525 (grub_file_seekable): New inline function.
22526 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22527 easily seekable.
22528 (grub_gzio_open): Set not_easly_seekable.
22529 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22530 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22531
ed8c6dec
BC
225322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22533
22534 Support for options to appear multiple times on cmdline.
22535
22536 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22537 * grub-core/commands/extcmd.c: Support for repeatable option.
22538 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22539 repeatable option support.
22540
22541 Refactor menuentry into a regular command.
22542
22543 * grub-core/commands/menuentry.c: New file, menuentry command
22544 implementation.
22545 * grub-core/Makefile.core.def: Rule update for normal.mod.
22546 * grub-core/normal/main.c: Moved menuentry creation to
22547 grub-core/commands/menuentry.c.
22548 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22549 (grub_menu_execute_entry_real): Removed.
22550 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22551 function.
22552 (grub_script_execute_menuentry): Removed.
22553 * grub-core/script/parser.y (menuentry): Removed.
22554 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22555 * grub-core/script/yylex.l (menuentry): Removed.
22556 * include/grub/menu.h (grub_menu_init): New prototype.
22557 (grub_menu_fini): New prototype.
22558 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22559 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22560 (grub_script_execute_sourcecode): New prototype.
22561
dacd0cf0
BC
225622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22563
22564 "return" command for GRUB script functions.
22565
22566 * tests/grub_script_return.in: New test.
22567 * Makefile.util.def: Rules for new test.
22568
22569 * grub-core/script/execute.c (grub_script_return): New function.
22570 * grub-core/script/main.c: Register/unregister return commaond.
22571 * include/grub/script_sh.h (grub_script_return): New prototype.
22572
52e72f9d
BC
225732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22574
22575 "setparams" command to update positional parameters.
22576
22577 * tests/grub_script_setparams.in: New test.
22578 * Makefile.util.def: Rules for new test.
22579
22580 * grub-core/script/argv.c (grub_script_argv_make): New function.
22581 * grub-core/script/execute.c (replace_scope): New function.
22582 (grub_script_setparams): New function.
22583 * grub-core/script/lexer.c: Remove unused variables.
22584 * grub-core/script/main.c: Register/unregister setparams command.
22585 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22586 (grub_script_setparams): New prototype.
22587
25b60c91
BC
225882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22589
22590 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22591 grub_free order.
22592
37e7bf68
BC
225932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22594
22595 Support for passing block of commands as an argument to extcmds.
22596
22597 * Makefile.util.def: Rules for new test.
22598 * tests/grub_script_blockarg.in: New test.
22599 * grub-core/tests/test_blockarg.c: New file, block argument
22600 command used in the test.
22601
22602 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22603 (grub_register_extcmd_prio): New function prototype.
22604 (grub_extcmd_dispatcher): New function prototype.
22605 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22606 type.
22607 * include/grub/script_sh.h (struct grub_script): New members
22608 `children', `next_siblings' and `refcnt' for block arguments and
22609 reference counting.
22610 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22611 (grub_script_arg): New member `script' for block argument.
22612 (grub_script_argv): New member `script' for block argument.
22613 (grub_parser_param): New member `scripts' for block argument.
22614 (grub_script_mem_free): New extern function prototype.
22615 (grub_script_ref): New function prototype.
22616 (grub_script_unref): New function prototype.
22617
22618 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22619 extcmd form to support block arguments.
22620 * grub-core/script/argv.c: Block arguments support.
22621 * grub-core/script/execute.c: Likewise.
22622 * grub-core/script/lexer.c: Likewise.
22623 * grub-core/script/main.c: Likewise.
22624 * grub-core/script/script.c: Likewise.
22625 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22626 non-terminals.
22627
22628 * grub-core/commands/acpi.c: Update extcmd implementations with
22629 grub_extcmd_context_t.
22630 * grub-core/commands/cat.c: Likewise.
22631 * grub-core/commands/echo.c: Likewise.
22632 * grub-core/commands/extcmd.c: Likewise.
22633 * grub-core/commands/hashsum.c: Likewise.
22634 * grub-core/commands/hdparm.c: Likewise.
22635 * grub-core/commands/help.c: Likewise.
22636 * grub-core/commands/hexdump.c: Likewise.
22637 * grub-core/commands/i386/cpuid.c: Likewise.
22638 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22639 * grub-core/commands/i386/pc/halt.c: Likewise.
22640 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22641 * grub-core/commands/iorw.c: Likewise.
22642 * grub-core/commands/keystatus.c: Likewise.
22643 * grub-core/commands/loadenv.c: Likewise.
22644 * grub-core/commands/ls.c: Likewise.
22645 * grub-core/commands/lspci.c: Likewise.
22646 * grub-core/commands/memrw.c: Likewise.
22647 * grub-core/commands/probe.c: Likewise.
22648 * grub-core/commands/search_wrap.c: Likewise.
22649 * grub-core/commands/setpci.c: Likewise.
22650 * grub-core/commands/sleep.c: Likewise.
22651 * grub-core/disk/loopback.c: Likewise.
22652 * grub-core/hello/hello.c: Likewise.
22653 * grub-core/loader/i386/bsd.c: Likewise.
22654 * grub-core/loader/xnu.c: Likewise.
22655 * grub-core/term/gfxterm.c: Likewise.
22656 * grub-core/term/serial.c: Likewise.
22657 * grub-core/tests/lib/functional_test.c: Likewise.
22658
888d1500
BC
226592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22660
22661 Multi-line quoted strings support.
22662
22663 * grub-core/script/lexer.c (append_newline): Removed.
22664 (grub_script_lexer_yywrap): Refactored.
22665 (grub_script_lexer_init): Refactored.
22666 * grub-core/script/yylex.l (yywrap): New function.
22667 (grub_lexer_resplit): New function.
22668 (grub_lexer_unput): New function.
22669 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22670 and resplit.
22671 * tests/grub_script_echo1.in: Added few more testcases.
22672
dda060dd
VS
226732010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * grub-core/kern/misc.c: Don't add abort alias in utils.
22676 Reported by: echoline.
22677
6556eba9
BC
226782010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22679
22680 Add missing files into "make dist" tarball for other platforms.
22681
22682 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22683 * conf/Makefile.common (dist_noinst_DATA): New variable.
22684 * conf/Makefile.extra-dist: Added missing make dist files.
22685 * grub-core/Makefile.core.def: Likewise.
22686
c8e7bf5f
VS
226872010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22688
22689 Compress grub_prefix.
22690
22691 * grub-core/boot/i386/pc/lnxboot.S: Use
22692 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22693 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22694 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22695 GRUB_MACHINE_PREFIX_END. All users updated.
22696 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22697 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22698 + 0x40.
22699 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22700 * util/grub-mkimage.c (image_target_desc): Change data_end to
22701 prefix_end. All users updated.
22702
a7c00cdb
VS
227032010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22706 value.
22707 (grub_openbsd_boot): Likewise.
22708 (grub_netbsd_boot): Likewise.
22709 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22710 (grub_xnu_boot): Likewise.
22711
9f915872
VS
227122010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22713
22714 * configure.ac: Clean LIBS variable after tests.
22715
efa1bee7
CW
227162010-09-02 Colin Watson <cjwatson@ubuntu.com>
22717
22718 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22719
61d720e5
VS
227202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22723 echo if libdevmapper will be used.
22724
ef8e0ec8
IT
227252010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22726
22727 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22728 constant for the same file.
22729
03e261d8
VS
227302010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22731
22732 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22733
c2a4eba6
CW
227342010-09-02 Colin Watson <cjwatson@ubuntu.com>
22735
22736 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22737 grub-core/*.pp.
22738
9056cbf3
CW
227392010-09-02 Colin Watson <cjwatson@ubuntu.com>
22740
22741 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22742 required by the boot protocol.
22743
22744 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22745 ebp and edi members.
22746 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22747 state.ebp and state.edi.
22748 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22749 %ebp and %edi according to grub_relocator32_ebp and
22750 grub_relocator32_edi respectively.
22751 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22752 and state.edi.
22753
529cc99a
VS
227542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22755
22756 Add i386-pc-pxe image target.
22757
22758 * util/grub-mkimage.c (image_target_desc): New enum value
22759 IMAGE_I386_PC_PXE.
22760 (image_targets): New target i386-pc-pxe.
22761 (generate_image): Handle i386-pc-pxe image.
22762
9a093920
VS
227632010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 Fix grub_pxe_scan.
22766
22767 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22768 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22769 All users updated.
22770 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22771 (grub_pxe_pxenv): Correct type.
22772
f9cefc4e
CW
227732010-09-01 Colin Watson <cjwatson@ubuntu.com>
22774
22775 * NEWS: Document most of the important changes since 1.98.
22776
4066f57f
CW
227772010-09-01 Colin Watson <cjwatson@ubuntu.com>
22778
22779 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22780 generated manual page) a little.
22781
da2891f9
CW
227822010-09-01 Colin Watson <cjwatson@ubuntu.com>
22783
22784 * docs/grub.texi: Add myself as an author.
22785
ad717fae
VS
227862010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * Makefile.util.def (libgrub.a): Add missing sunpc.
22789 Reported by: Seth Goldberg.
22790
eefe8abd
VS
227912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22792
22793 Interrupt wrapping and code simplifications.
22794
9494ef9a
VS
22795 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22796 x86_noieee1275 which are functionaly equivalent in this case.
22797 (grub-install): Make source on each platform explicit. Enable on
22798 all noemu.
22799 * gentpl.py (x86_efi_pc): Removed group.
22800 (x86_noefi): Likewise.
22801 (i386_noefi): Likewise.
22802 (x86_noieee1275): Likewise.
22803 (i386_noieee1275): Likewise.
22804 (i386_noefi_noieee1275): Likewise.
22805 (i386_pc_qemu_coreboot): Likewise.
22806 (i386_coreboot_multiboot): Likewise.
22807 (i386_pc_coreboot_multiboot_qemu): Likewise.
22808 (x86_noefi_mips): Likewise.
22809 (noieee1275): Likewise.
22810 (ieee1275_mips): Likewise.
22811 (noemu_noieee1275): Likewise.
22812 (cmos): New group.
22813 (usb): Likewise.
22814 (videoinkernel): Likewise.
22815 (videomodules): Likewise.
eefe8abd 22816 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22817 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22818 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22819 include/grub/loader.h, include/grub/msdos_partition.h,
22820 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22821 include/grub/machine/console.h, include/grub/machine/vga.h,
22822 include/grub/machine/vbe.h, include/grub/machine/init.h,
22823 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22824 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22825 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22826 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22827 * grub-core/Makefile.core.def (kernel): Explicit the source for
22828 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22829 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22830 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22831 Use videoinkernel tag.
22832 (usb): Enable on all usb.
22833 (usbserial_common): Likewise.
22834 (usbserial_pl2303): Likewise.
22835 (usbserial_ftdi): Likewise.
22836 (uhci): Enable on all x86.
22837 (ohci): Enable on all pci.
22838 (cmostest): Enable on all CMOS.
22839 (acpi): Include commands/acpi.c on all platforms.
22840 (halt): Add relevant lib/*/halt.c.
22841 (hdparm): Enable on all pci.
22842 (lspci): Likewise.
22843 (usbtest): Enable on all usb.
22844 (ata): Enable on all pci.
22845 (ata_pthru): Likewise.
22846 (usbms): Enable on all usb.
22847 (usb_keyboard): Likewise.
22848 (font): Use tag videomodules.
22849 (bufio): Likewise.
22850 (datetime): Use tag cmos. Enable on all noemu.
22851 (mmap): Use tags common and x86.
22852 (gfxterm): Use tag videomodules.
22853 (bitmap): Likewise.
22854 (bitmap_scale): Likewise.
22855 (video_fb): Likewise.
22856 (video): Likewise.
22857 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22858 adjust padding accordingly. All users updated.
22859 (grub_ohci_transaction): Fix bad format specification.
22860 (GRUB_MOD_INIT): Add asserts for struct size.
22861 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22862 (grub_alloc_td): Likewise.
22863 (grub_free_queue): Likewise.
22864 (grub_uhci_transfer): Likewise.
22865 (grub_uhci_transaction): Fix bad format specification.
22866 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22867 (grub_usb_bulk_readwrite): Likewise.
22868 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22869 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22870 Made static.
22871 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22872 Made static.
22873 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22874 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22875 Transformed into C.
22876 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22877 Moved from here ...
22878 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22879 ... here. Transformed into C. Made static.
22880 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22881 Moved from here ...
22882 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22883 ... here. Transformed into C. Made static.
22884 * grub-core/kern/i386/pc/startup.S
22885 (grub_biosdisk_check_int13_extensions): Moved from here ...
22886 * grub-core/disk/i386/pc/biosdisk.c
22887 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22888 Made static.
22889 * grub-core/kern/i386/pc/startup.S
22890 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22891 * grub-core/disk/i386/pc/biosdisk.c
22892 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22893 Transformed into C. Made static.
22894 * grub-core/kern/i386/pc/startup.S
22895 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22896 * grub-core/disk/i386/pc/biosdisk.c
22897 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22898 Transformed into C. Made static.
22899 * grub-core/kern/i386/pc/startup.S
22900 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22901 * grub-core/disk/i386/pc/biosdisk.c
22902 (grub_biosdisk_get_diskinfo_standard): ... here.
22903 Transformed into C. Made static.
22904 * grub-core/kern/i386/pc/startup.S
22905 (grub_biosdisk_get_num_floppies): Moved from here ...
22906 * grub-core/disk/i386/pc/biosdisk.c
22907 (grub_biosdisk_get_num_floppies): ... here.
22908 Transformed into C. Made static.
22909 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22910 New function.
22911 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22912 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22913 Transformed into C. Made static.
22914 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22915 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22916 Transformed into C. Made static.
22917 * grub-core/kern/i386/ieee1275/init.c: Removed.
22918 * grub-core/kern/i386/misc.S: Likewise.
22919 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22920 Splitted from here ...
22921 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22922 Transformed into C. Made static. All users updated.
22923 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22924 Transformed into C. Made static. All users updated.
22925 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22926 Moved from here...
22927 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22928 Transformed into C. Made static. All users updated.
22929 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22930 Moved from here...
22931 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22932 Transformed into C. Made static. All users updated.
22933 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22934 Removed (replaced by C version).
22935 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22936 Moved from here...
22937 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22938 Transformed into C. Made static.
22939 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22940 Moved from here...
22941 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22942 ... here. Transformed into C.
22943 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22944 Moved from here...
22945 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22946 ... here. Transformed into C.
22947 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22948 Moved from here...
22949 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22950 ... here. Transformed into C. Made static.
22951 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22952 Moved from here...
22953 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22954 ... here. Transformed into C.
21ed554b
VS
22955 * grub-core/kern/i386/pc/startup.S
22956 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22957 * grub-core/video/i386/pc/vbe.c
22958 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22959 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22960 Moved from here...
22961 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22962 ... here. Transformed into C.
22963 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22964 Moved from here...
22965 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22966 ... here. Transformed into C.
22967 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22968 Moved from here...
22969 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22970 ... here. Transformed into C.
22971 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22972 Moved from here...
22973 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22974 ... here. Transformed into C.
22975 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22976 Moved from here...
22977 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22978 ... here. Transformed into C. Made static.
22979 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22980 Moved from here...
22981 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22982 ... here. Transformed into C. Made static.
22983 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22984 Moved from here...
22985 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22986 ... here. Transformed into C. Made static.
22987 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22988 pxe_rm_entry as third argument.
22989 (grub_bios_interrupt): New function.
22990 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22991 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22992 of calling grub_stop.
22993 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22994 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22995 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22996 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22997 * grub-core/lib/i386/halt.c: Moved from here ...
22998 * grub-core/lib/i386/halt.c: ... here.
22999 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
23000 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
23001 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
23002 grub_stop_floppy.
23003 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
23004 * include/grub/i386/coreboot/init.h: Removed.
23005 * include/grub/i386/multiboot/init.h: Likewise.
23006 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
23007 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
23008 * include/grub/i386/pc/int.h: New file.
23009 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
23010 (grub_pxe_scan): Removed.
23011 (grub_pxe_call): Update prototype.
23012 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
23013 prototypes.
23014 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
23015 * include/grub/i386/qemu/init.h: Removed.
23016 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
23017 noreturn.
23018 (grub_halt): Likewise.
23019 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
23020 (grub_reboot): Likewise.
23021 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
23022 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
23023 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
23024
215dd471
RM
230252010-08-30 Robert Millan <rmh@gnu.org>
23026
23027 * NEWS: Document addition of ZFS support in `grub-install' and
23028 `grub-mkconfig'.
23029
ebd65b82
BC
230302010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
23031
23032 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
23033 dprintf output.
23034
11721d19
VS
230352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 Remove leftover embedding of font objects.
23038
23039 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23040 * util/grub-install.in (font): Removed.
23041 * util/grub-mkimage.c (generate_image): Remove font support. All users
23042 updated.
23043
37837d4e
VS
230442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 Remove leftover embedding of font objects.
23047
23048 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23049 * util/grub-install.in (font): Removed.
23050 * util/grub-mkimage.c (generate_image): Remove font support. All users
23051 updated.
23052
b4c1aae0
VS
230532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 23056 Reported by: Ian Turner
b4c1aae0 23057
8920a08d
VS
230582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23061 timeout to avoid indefinite boot stalling.
23062
f21db033
VS
230632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23066 (grub_env_write_color_highlight): Likewise.
23067
9a9de209
VS
230682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * grub-core/normal/term.c (print_more): Return to normal and not
23071 to standard state after printing "---MORE---".
23072
3dca01d7
VS
230732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23076 Mask out the bit 0x80 since it has other meaning that specifiing color.
23077
0b986c40
VS
230782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23079
23080 New relocator. Allows for more kernel support and more straightforward
23081 loader writing.
23082
23083 * Makefile.am (BOOTTARGET): New variable.
23084 (QEMU32): Likewise.
23085 (linux.init.x86_64): New target.
23086 (linux.init.i386): Likewise.
23087 (multiboot.elf): Likewise.
23088 (kfreebsd.elf): Likewise.
23089 (kfreebsd.aout): Likewise.
23090 (pc-chainloader.elf): Likewise.
23091 (pc-chainloader.bin): Likewise.
23092 (ntldr.elf): Likewise.
23093 (ntldr.bin): Likewise.
23094 (multiboot2.elf): Likewise.
23095 (kfreebsd.init.x86_64): Likewise.
23096 (kfreebsd.init.i386): Likewise.
23097 (knetbsd.init.i386): Likewise.
23098 (kopenbsd.init.i386): Likewise.
23099 (knetbsd.init.x86_64): Likewise.
23100 (kopenbsd.init.x86_64): Likewise.
23101 (linux-initramfs.i386): Likewise.
23102 (linux-initramfs.x86_64): Likewise.
23103 (kfreebsd-mfsroot.i386.img): Likewise.
23104 (knetbsd.image.i386): Likewise.
23105 (kopenbsd.image.i386): Likewise.
23106 (kopenbsd.image.x86_64): Likewise.
23107 (knetbsd.miniroot-image.i386.img): Likewise.
23108 (kfreebsd-mfsroot.x86_64.img): Likewise.
23109 (knetbsd.image.x86_64): Likewise.
23110 (knetbsd.miniroot-image.x86_64.img): Likewise.
23111 (kfreebsd-mfsroot.i386.gz): Likewise.
23112 (bootcheck-kfreebsd-i386): Likewise.
23113 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23114 (bootcheck-kfreebsd-x86_64): Likewise.
23115 (knetbsd.miniroot-image.i386.gz): Likewise.
23116 (bootcheck-knetbsd-i386): Likewise.
23117 (bootcheck-kopenbsd-i386): Likewise.
23118 (bootcheck-kopenbsd-x86_64): Likewise.
23119 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23120 (bootcheck-knetbsd-x86_64): Likewise.
23121 (bootcheck-linux-i386): Likewise.
23122 (bootcheck-linux-x86_64): Likewise.
23123 (bootcheck-linux16-i386): Likewise.
23124 (bootcheck-linux16-x86_64): Likewise.
23125 (bootcheck-multiboot): Likewise.
23126 (bootcheck-multiboot2): Likewise.
23127 (bootcheck-kfreebsd-aout): Likewise.
23128 (bootcheck-pc-chainloader): Likewise.
23129 (bootcheck-ntldr): Likewise.
23130 (CLEANFILES): Add new targets.
23131 (BOOTCHECKS): New variable.
23132 (.PHONY): Add bootchecks.
23133 (SUCCESSFUL_BOOT_STRING): New variable.
23134 (BOOTCHECK_TIMEOUT): Likewise.
23135 (bootcheck): New target
23136 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23137 * configure.ac: Correct efiemu excuse.
23138 * docs/grub.texi (Supported kernels): New chapter.
23139 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23140 include/grub/mm_private.h. Simplify inclusion of
23141 include/grub/boot.h, include/grub/loader.h
23142 and include/grub/msdos_partition.h
23143 (KERNEL_HEADER_FILES) [i386_coreboot]:
23144 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23145 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23146 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23147 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23148 include/grub/machine/loader.h.
23149 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23150 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23151 extra_dist.
23152 (pci.mod): Enable on i386-multiboot.
23153 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23154 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23155 i386-qemu.
23156 (relocator.mod): Rewritten.
23157 (aout.mod): Enable on all x86.
23158 (bsd.mod): Likewise.
23159 (ntldr.mod): New module.
23160 (linux.mod): Use loader/i386/linux.c on all x86.
23161 (xnu.mod): Enable on all x86.
23162 (vga_text.mod): disable on EFI and QEMU.
23163 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23164 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23165 * grub-core/efiemu/loadcore.c: Likewise.
23166 * grub-core/efiemu/main.c: Likewise.
23167 (grub_efiemu_exit_boot_services): Removed.
23168 (grub_efiemu_finish_boot_services): Likewise.
23169 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23170 function.
23171 * grub-core/efiemu/i386/nocfgtables.c: New file.
23172 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23173 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23174 (grub_efi_finish_boot_services): Moved from here ...
23175 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23176 Fille finish memory map and related data.
23177 (finish_mmap_buf): New variable.
23178 (grub_efi_uintn_t finish_mmap_size): Likewise.
23179 (grub_efi_uintn_t finish_key): Likewise.
23180 (grub_efi_uintn_t finish_desc_size): Likewise.
23181 (grub_efi_uint32_t finish_desc_version): Likewise.
23182 (grub_efi_is_finished): Likewise.
23183 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23184 finished.
23185 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23186 (grub_elf64_phdr_iterate): Likewise.
23187 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23188 (grub_os_area_size): Likewise.
23189 (grub_machine_init): Don't reserve os area.
23190 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23191 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23192 * grub-core/kern/i386/loader.S: Removed.
23193 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23194 (grub_os_area_size): Likewise.
23195 (grub_machine_init): Don't reserve os area.
23196 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23197 Don't call grub_dl_unload_all.
23198 Don't include loader.S.
23199 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23200 Declare the memory after _end as available.
23201 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 23202 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 23203 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
23204 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23205 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23206 * include/grub/mm_private.h (grub_mm_header): ... here.
23207 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23208 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
23209 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23210 (grub_mm_region): ..here. Removed addr. Added pre_size.
23211 All users updated.
23212 * grub-core/kern/mm.c (base): Renamed to ...
23213 (grub_mm_base): ... this. Made global.
23214 (grub_real_malloc): Alloc from end of region.
23215 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23216 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23217 * grub-core/kern/powerpc/cache_flush.S: ... here.
23218 * grub-core/lib/efi/relocator.c: New file.
23219 * grub-core/lib/i386/relocator.c: Rewritten.
23220 * grub-core/lib/i386/relocator16.S: New file.
23221 * grub-core/lib/i386/relocator32.S: Likewise.
23222 * grub-core/lib/i386/relocator64.S: Likewise.
23223 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23224 * grub-core/lib/i386/relocator_common.S: New file.
23225 * grub-core/lib/ieee1275/relocator.c: Likewise.
23226 * grub-core/lib/mips/relocator.c: Rewritten.
23227 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23228 stylistic adjustments.
23229 * grub-core/lib/powerpc/relocator.c: New file.
23230 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23231 * grub-core/lib/relocator.c: Rewritten.
23232 * grub-core/lib/x86_64/relocator_asm.S: New file.
23233 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23234 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23235 (bsd_tag): New struct.
23236 (tags): New variable.
23237 (tags_last): Likewise.
23238 (netbsd_module): New struct.
23239 (netbsd_mods): New variable.
23240 (netbsd_mods_last): Likewise.
23241 (openbsd_opts): New parameter "serial".
23242 (OPENBSD_SERIAL_ARG): New definition.
23243 (netbsd_opts): New parameter "serial".
23244 (NETBSD_SERIAL_ARG): New definition.
23245 (grub_freebsd_add_meta): Reorganised into ...
23246 (grub_bsd_add_meta): ...this. All users updated.
23247 (grub_freebsd_add_mmap): Reorganised into ...
23248 (generate_e820_mmap): ...this...
23249 (grub_bsd_add_mmap): ...and this. All users updated.
23250 (grub_freebsd_list_modules): Use tags.
23251 (grub_netbsd_add_meta_module): New function.
23252 (grub_netbsd_list_modules): Likewise.
23253 (grub_freebsd_boot): Use relocator and finish EFI.
23254 (grub_openbsd_boot): Likewise.
23255 (grub_netbsd_setup_video): New function.
23256 (grub_netbsd_add_modules): Likewise.
23257 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23258 and finish EFI.
23259 (grub_bsd_unload): Unload tags.
23260 (grub_bsd_load_aout): Use relocator.
23261 (grub_bsd_elf32_size_hook): New function.
23262 (grub_bsd_elf32_hook): Use relocator.
23263 (grub_bsd_elf64_size_hook): New function.
23264 (grub_bsd_elf64_hook): Use relocator.
23265 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23266 (grub_bsd_load): Zero-out openbsd_ramdisk.
23267 (grub_bsd_load): Use relocator.
23268 (grub_cmd_openbsd): Support serial.
23269 (grub_cmd_netbsd): Support modules.
23270 (grub_cmd_freebsd_module): Use relocator.
23271 (grub_netbsd_module_load): New function.
23272 (grub_cmd_netbsd_module): Likewise.
23273 (grub_cmd_openbsd_ramdisk): Likewise.
23274 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23275 kopenbsd_ramdisk.
23276 (GRUB_MOD_FINI): Unregister new commands.
23277 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23278 (grub_freebsd_load_elfmodule_obj): Use relocator.
23279 (grub_freebsd_load_elfmodule): Likewise.
23280 (grub_freebsd_load_elf_meta): Likewise.
23281 (grub_netbsd_load_elf_meta): New function.
23282 (grub_openbsd_find_ramdisk): Likewise.
23283 * grub-core/loader/i386/bsd_helper.S: Removed.
23284 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23285 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23286 * grub-core/loader/i386/efi/linux.c: Likewise.
23287 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23288 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23289 (DEFAULT_VIDEO_MODE): Likewise.
23290 (real_mode_target): New variable.
23291 (prot_mode_target): Likewise.
23292 (initrd_mem_target): Likewise.
23293 (relocator): Likewise.
23294 (efi_mmap_buf): Likewise.
23295 (efi_mmap_size): Likewise.
23296 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23297 (free_pages): Use relocator.
23298 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23299 (grub_linux_setup_video): Return error.
23300 (grub_linux_trampoline_start): Removed.
23301 (grub_linux_trampoline_end): Likewise.
23302 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23303 andd video parameters depending on firmware.
23304 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23305 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23306 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23307 (grub_cmd_initrd): Use relocator.
23308 * grub-core/loader/i386/linux_trampoline.S: Removed.
23309 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23310 (elf_sec_entsize): Likewise.
23311 (elf_sec_shstrndx): Likewise.
23312 (elf_sections): Likewise.
23313 (grub_multiboot_load): Use relocator.
23314 (grub_multiboot_get_mbi_size): Account for sections.
23315 (grub_multiboot_make_mbi): Use relocator and support sections.
23316 (grub_multiboot_add_elfsyms): New function.
23317 (grub_multiboot_free_mbi): Free sections.
23318 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23319 (grub_linux_real_target): Likewise.
23320 (grub_linux_real_chunk): Likewise.
23321 (grub_linux16_prot_size): Likewise.
23322 (grub_linux16_boot): Use relocator.
23323 (grub_linux_unload): Unload relocator.
23324 (grub_cmd_linux): Use relocator.
23325 (grub_cmd_initrd): Likewise.
23326 * grub-core/loader/i386/pc/ntldr.c: New file.
23327 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23328 Don't try to guess CPU frequency.
23329 (grub_xnu_set_video): Stretch bitmap.
23330 (grub_xnu_boot): Use relocator.
23331 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23332 (grub_linux_unload): Free relocator.
23333 (grub_linux_load32): Use relocator.
23334 (grub_linux_load64): Likewise.
23335 (grub_cmd_initrd): Likewise.
23336 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23337 (grub_multiboot_unload): Unload relocator.
23338 (grub_cmd_multiboot): Use relocator.
23339 (grub_cmd_module): Likewise.
23340 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23341 Use relocator and support sections.
23342 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23343 (elf_sec_entsize): Likewise.
23344 (elf_sec_shstrndx): Likewise.
23345 (elf_sections): Likewise.
23346 (grub_multiboot_load): Use relocator.
23347 (grub_multiboot_get_mbi_size): Account for sections.
23348 (grub_multiboot_make_mbi): Use relocator and support sections.
23349 (grub_multiboot_add_elfsyms): New function.
23350 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23351 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23352 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23353 Prototype changed. All users updated.
23354 (grub_xnu_align_heap): Simplified.
23355 (grub_xnu_writetree_toheap): Likewise.
23356 (grub_xnu_unload): Unload relocator.
23357 (grub_cmd_xnu_kernel): Use relocator.
23358 (grub_cmd_xnu_kernel64): Likewise.
23359 (grub_xnu_register_memory): Simplified.
23360 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23361 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23362 EFI is finished.
23363 (grub_console_checkkey): Likewise.
23364 (grub_console_getkey): Likewise.
23365 (grub_console_getwh): Likewise.
23366 (grub_console_getxy): Likewise.
23367 (grub_console_gotoxy): Likewise.
23368 (grub_console_cls): Likewise.
23369 (grub_console_setcolorstate): Likewise.
23370 (grub_console_setcursor): Likewise.
23371 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23372 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23373 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23374 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23375 * grub-core/tests/boot/kernel-8086.S: Likewise.
23376 * grub-core/tests/boot/kernel-i386.S: Likewise.
23377 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23378 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23379 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23380 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23381 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23382 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23383 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23384 * grub-core/tests/boot/linux.cfg: Likewise.
23385 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23386 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23387 * grub-core/tests/boot/linux16.cfg: Likewise.
23388 * grub-core/tests/boot/multiboot.cfg: Likewise.
23389 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23390 * grub-core/tests/boot/ntldr.cfg: Likewise.
23391 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23392 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23393 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23394 New definition.
23395 * include/grub/dl.h (grub_dl_unload_all): Removed.
23396 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23397 (grub_efi_finish_boot_services): Change prototype.
23398 (grub_efi_is_finished): New variable.
23399 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23400 Changed prototype.
23401 (grub_efiemu_finish_boot_services): Removed.
23402 (grub_machine_efiemu_init_tables): New prototype.
23403 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23404 (grub_elf64_phdr_iterate): Likewise.
23405 * include/grub/i386/bsd.h: Include relocator.h.
23406 (freebsd_tag_header): New struct.
23407 (grub_openbsd_bios_mmap): Removed.
23408 (grub_unix_real_boot): Removed.
23409 (grub_freebsd_load_elfmodule32): Changed prototype.
23410 (grub_freebsd_load_elfmodule_obj64): Likewise.
23411 (grub_freebsd_load_elf_meta32): Likewise.
23412 (grub_freebsd_load_elf_meta64): Likewise.
23413 (grub_freebsd_add_meta): Removed.
23414 (grub_netbsd_load_elf_meta32): New prototype.
23415 (grub_netbsd_load_elf_meta64): Likewise.
23416 (grub_bsd_add_meta): Likewise.
23417 (grub_openbsd_ramdisk_descriptor): New struct.
23418 (grub_openbsd_find_ramdisk32): New prototype.
23419 (grub_openbsd_find_ramdisk64): Likewise.
23420 * include/grub/i386/coreboot/loader.h: Removed.
23421 * include/grub/i386/efi/loader.h: Likewise.
23422 * include/grub/i386/ieee1275/loader.h: Likewise.
23423 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23424 to grub_uint32_t.
23425 * include/grub/i386/loader.h: Removed.
23426 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23427 value.
23428 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23429 (grub_phys_addr_t): New type.
23430 (grub_vtop): New inline function.
23431 (grub_map_memory): Likewise.
23432 (grub_unmap_memory): Likewise.
23433 * include/grub/i386/multiboot/loader.h: Removed.
23434 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23435 (NETBSD_BTINFO_CONSOLE): New definition.
23436 (NETBSD_BTINFO_SYMTAB): Likewise.
23437 (NETBSD_BTINFO_MODULES): Likewise.
23438 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23439 (grub_netbsd_bootinfo): New struct.
23440 (grub_netbsd_btinfo_common): Use explicit bitsize.
23441 (grub_netbsd_btinfo_mmap_entry): Removed.
23442 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23443 (grub_netbsd_btinfo_bootdisk): New struct.
23444 (grub_netbsd_btinfo_symtab): Likewise.
23445 (grub_netbsd_btinfo_serial): Likewise.
23446 (grub_netbsd_btinfo_modules): Likewise.
23447 (grub_netbsd_btinfo_framebuf): Likewise.
23448 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23449 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23450 Likewise.
23451 (grub_openbsd_bootargs): Use explicit bitsize.
23452 (grub_openbsd_bootarg_console): New struct.
23453 (GRUB_OPENBSD_COM_MAJOR): New definition.
23454 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23455 * include/grub/i386/pc/efiemu.h: Removed.
23456 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23457 * include/grub/i386/qemu/loader.h: Removed.
23458 * include/grub/i386/relocator.h: Rewritten.
23459 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23460 * include/grub/mips/memory.h: New file.
23461 * include/grub/mips/multiboot.h: Rewritten.
23462 * include/grub/mips/relocator.h: Rewritten.
23463 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23464 (grub_vtop): New function.
23465 (grub_map_memory): Likewise.
23466 (grub_unmap_memory): Likewise.
23467 * include/grub/misc.h (ALIGN_DOWN): New definition.
23468 * include/grub/mm.h (grub_mm_check_real): New proto.
23469 (GRUB_MM_CHECK): New definition.
23470 * include/grub/mm_private.h: New file.
23471 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23472 (grub_multiboot_get_mbi_size): Removed.
23473 (grub_multiboot_make_mbi): Change prottype.
23474 (grub_multiboot_set_accepts_video): New proto.
23475 (grub_multiboot_add_elfsyms): Likewise.
23476 (grub_multiboot_payload_eip): New variable.
23477 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23478 New prototype.
23479 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23480 New definition.
23481 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23482 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23483 * include/grub/powerpc/ieee1275/loader.h: Removed.
23484 * include/grub/powerpc/memory.h: New file.
23485 * include/grub/powerpc/relocator.h: Likewise.
23486 * include/grub/relocator.h: Likewise.
23487 * include/grub/relocator_private.h: Likewise.
23488 * include/grub/sparc64/ieee1275/loader.h: Removed.
23489 * include/grub/x86_64/memory.h: New file.
23490 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23491 (grub_xnu_heap_malloc): Likewise.
23492 (grub_xnu_heap_real_start): Removed.
23493 (grub_xnu_heap_start): Likewise.
23494 (grub_xnu_relocator): New variable.
23495 (grub_xnu_heap_target_start): Likewise.
23496 * tests/util/grub-shell.in: Support non-pc.
23497 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23498
5303b85d
VS
234992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23500
23501 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23502 on malloc error.
23503 (grub_bidi_logical_to_visual): Check that malloc succeded.
23504 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23505 puts.
23506 (grub_xputs_normal): Likewise.
23507
d768d159
VS
235082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23509
23510 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23511 extra_dist.
23512
235132010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23514
23515 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23516
5bf84df4
VS
235172010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23518
23519 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23520
3626810e
VS
235212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23522
23523 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23524 dprintf.
23525
a7363f53
BC
235262010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23527
23528 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23529
902f75f6
VS
235302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23531
23532 * grub-core/normal/term.c (print_more): Fix a memory leak.
23533 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23534 (grub_xputs_normal): Likewise.
23535
3c707967
VS
235362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23537
23538 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23539 the begining of the string
23540
2053cc07
VS
235412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23542
23543 * grub-core/script/script.c (grub_script_parse): Free parsed on
23544 failure.
23545
46422ebf
VS
235462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23549 on failure.
23550
9e0fa3f6
VS
235512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23552
23553 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23554 return.
23555
3393cf16
VS
235562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23557
23558 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23559 (scroll_up): Fix a memory leak.
23560
b17540cb
VS
235612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23562
23563 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23564 errors.
23565
67140446
VS
235662010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23567
23568 Handle USB pendrives exposed as floppies.
23569
23570 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23571 floppy.
23572 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23573 Check for partitions on all devices.
23574
e35e46fc
VS
235752010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23576
23577 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23578 (readkey): Likewise.
23579
d24c6190
BC
235802010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23581
23582 Multiple variable names support to "export" command.
23583
23584 * normal/context.c (grub_cmd_export): "export" command supports
23585 multiple variable names.
23586
04ddcc6a
ST
235872010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23588
23589 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23590 --target=drive output to Mach device name.
23591
0c8b61d8
BC
235922010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23593
23594 New Automake based build system for GRUB.
23595
23596 * ABOUT-NLS: New file.
23597 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23598 in Makefile.util.def file.
23599 * Makefile.util.def: New file. Autogen build definitions file for
23600 GRUB host utils.
23601 * conf/Makefile.common: New file. Common variables for GRUB host
23602 utils and target modules.
23603 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23604 * docs/Makefile.am: New file. Automake file for docs.
23605 * gentpl.py: New file. Python script to generate Autogen
23606 template.
23607 * grub-core/Makefile.am: New file. GRUB target modules' rules
23608 that doesn't fit in Makefile.core.def file.
23609 * grub-core/Makefile.core.def: New file. Autogen build
23610 definitions file for GRUB target modules.
23611 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23612 specific setjmp.S file.
23613 * po/Makefile.am: New file.
23614
23615 * .bzrignore: New ignores.
23616 * INSTALL: New requirements, without Ruby.
23617 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23618 * autogen.sh: Updated to invoke autogen as necessary.
23619 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23620 and defines for Automake conditionals.
23621 * geninit.sh: Refactoring.
23622
23623 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23624 necessary.
23625 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23626 New prototype.
23627
23628 * include/grub/test.h: Fix functional test modules' naming.
23629 * grub-core/tests/example_functional_test.c: Fix test module name.
23630
23631 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23632 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23633 * util/grub-editenv.c: Likewise.
23634 * util/grub-fstest.c: Likewise.
23635 * util/grub-mkdevicemap.c: Likewise.
23636 * util/grub-mkfont.c: Likewise.
23637 * util/grub-mkimage.c: Likewise.
23638 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23639 * util/grub-probe.c: Likewise.
23640 * util/grub-script-check.c: Likewise.
23641 * util/i386/pc/grub-setup.c: Likewise.
23642 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23643
23644 * tests/util/grub-shell.in: Fix override directory path.
23645 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23646 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23647
23648 * util/lvm.c: Update #includes.
23649 * util/raid.c: Likewise.
23650 * util/resolve.c: Likewise.
23651 * grub-core/bus/emu/pci.c: Likewise.
23652 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23653 * grub-core/lib/posix_wrap/string.h: Likewise.
23654 * grub-core/kern/emu/main.c: Likewise.
23655
23656 * grub-core/gensymlist.sh: New file. Script for generating kernel
23657 symbols file.
23658 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23659
23660 * grub-core/gentrigtables.c: Fix unused variable warnings.
23661
23662 * Makefile.in: Removed.
23663 * conf/any-emu.rmk: Removed.
23664 * conf/common.rmk: Removed.
23665 * conf/i386-coreboot.rmk: Removed.
23666 * conf/i386-efi.rmk: Removed.
23667 * conf/i386-ieee1275.rmk: Removed.
23668 * conf/i386-multiboot.rmk: Removed.
23669 * conf/i386-pc.rmk: Removed.
23670 * conf/i386-qemu.rmk: Removed.
23671 * conf/i386.rmk: Removed.
23672 * conf/mips-yeeloong.rmk: Removed.
23673 * conf/mips.rmk: Removed.
23674 * conf/powerpc-ieee1275.rmk: Removed.
23675 * conf/sparc64-ieee1275.rmk: Removed.
23676 * conf/tests.rmk: Removed.
23677 * conf/x86-efi.rmk: Removed.
23678 * conf/x86_64-efi.rmk: Removed.
23679 * gendistlist.sh: Removed.
23680 * geninitheader.sh: Removed.
23681 * genkernsyms.sh.in: Removed.
23682 * genmk.rb: Removed.
23683 * gensymlist.sh.in: Removed.
23684 * mkinstalldirs: Removed.
23685 * boot: Moved ...
23686 * grub-core/boot: ... to here.
23687 * bus: Moved ...
23688 * grub-core/bus: ... to here.
23689 * commands: Moved ...
23690 * grub-core/commands: ... to here.
23691 * disk: Moved ...
23692 * grub-core/disk: ... to here.
23693 * efiemu: Moved ...
23694 * grub-core/efiemu: ... to here.
23695 * font: Moved ...
23696 * grub-core/font: ... to here.
23697 * fs: Moved ...
23698 * grub-core/fs: ... to here.
23699 * gencmdlist.sh: Moved ...
23700 * grub-core/gencmdlist.sh: ... to here.
23701 * genemuinit.sh: Moved ...
23702 * grub-core/genemuinit.sh: ... to here.
23703 * genemuinitheader.sh: Moved ...
23704 * grub-core/genemuinitheader.sh: ... to here.
23705 * genfslist.sh: Moved ...
23706 * grub-core/genfslist.sh: ... to here.
23707 * genhandlerlist.sh: Moved ...
23708 * grub-core/genhandlerlist.sh: ... to here.
23709 * genmoddep.awk: Moved ...
23710 * grub-core/genmoddep.awk: ... to here.
23711 * genmodsrc.sh: Moved ...
23712 * grub-core/genmodsrc.sh: ... to here.
23713 * genpartmaplist.sh: Moved ...
23714 * grub-core/genpartmaplist.sh: ... to here.
23715 * genparttoollist.sh: Moved ...
23716 * grub-core/genparttoollist.sh: ... to here.
23717 * genterminallist.sh: Moved ...
23718 * grub-core/genterminallist.sh: ... to here.
23719 * gentrigtables.c: Moved ...
23720 * grub-core/gentrigtables.c: ... to here.
23721 * genvideolist.sh: Moved ...
23722 * grub-core/genvideolist.sh: ... to here.
23723 * gettext: Moved ...
23724 * grub-core/gettext: ... to here.
23725 * gfxmenu: Moved ...
23726 * grub-core/gfxmenu: ... to here.
23727 * gnulib: Moved ...
23728 * grub-core/gnulib: ... to here.
23729 * hello: Moved ...
23730 * grub-core/hello: ... to here.
23731 * hook: Moved ...
23732 * grub-core/hook: ... to here.
23733 * io: Moved ...
23734 * grub-core/io: ... to here.
23735 * kern: Moved ...
23736 * grub-core/kern: ... to here.
23737 * lib: Moved ...
23738 * grub-core/lib: ... to here.
23739 * loader: Moved ...
23740 * grub-core/loader: ... to here.
23741 * mmap: Moved ...
23742 * grub-core/mmap: ... to here.
23743 * normal: Moved ...
23744 * grub-core/normal: ... to here.
23745 * partmap: Moved ...
23746 * grub-core/partmap: ... to here.
23747 * parttool: Moved ...
23748 * grub-core/parttool: ... to here.
23749 * script: Moved ...
23750 * grub-core/script: ... to here.
23751 * term: Moved ...
23752 * grub-core/term: ... to here
23753 * tests/example_functional_test.c: Moved ...
23754 * grub-core/tests/example_functional_test.c: ... to here.
23755 * tests/lib/functional_test.c: Moved ...
23756 * grub-core/tests/lib/functional_test.c: ... to here.
23757 * tests/lib/test.c: Moved ...
23758 * grub-core/tests/lib/test.c: ... to here.
23759 * video: Moved ...
23760 * grub-core/video: ... to here.
23761
645586e6
BC
237622010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23763
23764 Replace --enable-grub-emu-modules with grub-emu-lite.
23765
23766 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23767 cache.S.
23768
23769 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23770 * kern/emu/full.c: New file. For grub-emu specific initialization.
23771 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23772 * kern/emu/main.c: Call initialization function grub_emu_init.
23773
23774 * Makefile.in: Include grub-emu-lite in install.
23775 * commands/parttool.c: Use grub_no_autoload to differentiate
23776 between grub-emu and grub-emu-lite.
23777 * include/grub/misc.h: New variable grub_no_autoload.
23778
23779 * conf/any-emu.rmk: New rules for grub-emu-lite.
23780 * configure.ac: Remove --enable-grub-emu-modules.
23781 * genmk.rb: Cleanup unnecessary rules.
23782 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23783
23784 * normal/main.c: Don't load list files on grub-emu-lite.
23785 * util/misc.c (grub_arch_sync_caches): Removed.
23786
f86a4030
CW
237872010-08-23 Colin Watson <cjwatson@ubuntu.com>
23788
23789 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23790 grub-mkimage rather than grub-mkelfimage.
23791 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23792
06776944
VS
237932010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23794
23795 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23796 a key after CapsLock or NumLock. It's just a qemu bug.
23797
df262419
VS
237982010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23801 needed by libusb wrapper.
23802
b40ea81b
ST
238032010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23804
23805 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23806
dee50575
VS
238072010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23810 --nounzip is passed.
23811
fb1d7b79
VS
238122010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23813
23814 USB hotunplugging and USB serial support.
23815
23816 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23817 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23818 (grub_uhci_transfer): Respect timeout and set *actual.
23819 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23820 non-standard length.
23821 (grub_usb_device_attach): Autoload modules.
23822 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23823 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23824 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23825 users updated.
23826 (grub_usb_add_hub): Fill nports and children.
23827 (attach_root_port): Receive hub instead of controller.
23828 All users updated. Fill hub->devices.
23829 (grub_usb_root_hub): Allocate hub->devices.
23830 (detach_device): New function.
23831 (poll_nonroot_hub): Fill children and detach devices.
23832 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23833 actual arguments. All users updated.
23834 (grub_usb_bulk_read_extended): New function.
23835 * bus/usb/serial/common.c: New file.
23836 * bus/usb/serial/ftdi.c: Likewise.
23837 * bus/usb/serial/pl2303.c: Likewise.
23838 * commands/terminal.c (handle_command): Support wildcard.
23839 * commands/usbtest.c: Output "Unknown" instead of empty string.
23840 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23841 (usbserial_common_mod_SOURCES): New variable.
23842 (usbserial_common_mod_CFLAGS): Likewise.
23843 (usbserial_common_mod_LDFLAGS): Likewise.
23844 (pkglib_MODULES): Add usbserial_pl2303.mod.
23845 (usbserial_pl2303_mod_SOURCES): New variable.
23846 (usbserial_pl2303_mod_CFLAGS): Likewise.
23847 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23848 (pkglib_MODULES): Add usbserial_ftdi.mod.
23849 (usbserial_ftdi_mod_SOURCES): New variable.
23850 (usbserial_ftdi_mod_CFLAGS): Likewise.
23851 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23852 (pkglib_MODULES): Add serial.mod.
23853 (serial_mod_SOURCES): New variable.
23854 (serial_mod_CFLAGS): Likewise.
23855 (serial_mod_LDFLAGS): Likewise.
23856 * conf/i386-pc.rmk: Likewise.
23857 * conf/mips-yeeloong.rmk: Likewise.
23858 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23859 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23860 * disk/usbms.c (first_available_slot): New variable.
23861 (grub_usbms_attach): Don't reuse free slots due to potential cache
23862 problems.
23863 * include/grub/serial.h: Moved to ..
23864 * include/grub/ns8250.h: ...this.
23865 * include/grub/serial.h: New file.
23866 * include/grub/term.h (grub_term_poll_usb): New variable.
23867 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23868 readkey. All users updated.
23869 (grub_terminfo_output_state): Pass term to put.
23870 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23871 (grub_usb_controller_dev): Add timeout and actual arguments to
23872 transfer. All users updated.
23873 (grub_usb_interface): New field detach_data.
23874 (grub_usb_device): New fields children and nports.
23875 (grub_usb_ep_type_t): New type.
23876 (grub_usb_get_ep_type): New function.
23877 (grub_usb_bulk_read_extended): Likewise.
23878 * include/grub/usbdesc.h (grub_usb_desc): New type.
23879 * include/grub/usbserial.h: New file.
23880 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23881 * kern/term.c (grub_term_poll_usb): New variable.
23882 (grub_getkey): Call grub_term_poll_usb if set.
23883 (grub_checkkey): Likewise.
23884 (grub_getkeystatus): Likewise.
23885 * term/serial.c: Moved controller-specific parts to ...
23886 * term/ns8250.c: ... here.
23887 * term/serial.c: Mostly rewritten.
23888 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23889 according to spec.
23890
21a313de
RM
238912010-08-20 Robert Millan <rmh@gnu.org>
23892
23893 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23894 a separate module and maybe other interesting combinations.
23895
23896 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23897 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23898 (kfreebsd_entry): Add generic filesystem module load routine.
23899 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23900
63c734a6
CW
239012010-08-20 Colin Watson <cjwatson@ubuntu.com>
23902
23903 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23904 "numcenter" (I misunderstood the purpose of this entry).
23905 * docs/grub.texi (sendkey): Likewise.
23906
c4d16542
CW
239072010-08-20 Colin Watson <cjwatson@ubuntu.com>
23908
23909 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23910 status flag options; simply omitting the option is equivalent and
23911 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23912 (keysym_table): Rename "num5numlock" to "numlock".
23913 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23914 can uniformly say that only the last of multiple `sendkey'
23915 invocations has any effect.
23916 * docs/grub.texi (sendkey): New section.
23917
93541d66
CW
239182010-08-19 Colin Watson <cjwatson@ubuntu.com>
23919
23920 * commands/i386/pc/sendkey.c (options): Fix three typos.
23921
b4ece5e1
VS
239222010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 Implement sendkey support.
23925
23926 * commands/i386/pc/sendkey.c: New file.
23927 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23928 (sendkey_mod_SOURCES): New variable.
23929 (sendkey_mod_CFLAGS): Likewise.
23930 (sendkey_mod_LDFLAGS): Likewise.
23931
51f1f5af
CW
239322010-08-18 Colin Watson <cjwatson@ubuntu.com>
23933
23934 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23935 fix warnings from Autoconf.
23936
9da94e05
CW
239372010-08-18 Colin Watson <cjwatson@ubuntu.com>
23938
23939 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23940 to avoid false positives with some assemblers that output things
23941 like "someprefix_func" as part of their output.
23942
729a0f2e
RM
239432010-08-15 Robert Millan <rmh@gnu.org>
23944
23945 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23946 errors.
23947 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23948 grub_get_libzfs_handle() errors.
23949
f3710e08
RM
239502010-08-14 Robert Millan <rmh@gnu.org>
23951
23952 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23953 filesystem is not ZFS.
23954
7a3c13de
BC
239552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23956
23957 Fix for misspelled color names defaulting to black/black (bug
23958 reported by Doug Nazar)
23959
23960 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23961 status to prototype.
23962 * normal/color.c (grub_parse_color_name_pair): Return failure
23963 status.
23964 (grub_env_write_color_normal): Ignore bad color names.
23965 (grub_env_write_color_highlight): Likewise.
23966 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23967
ab8ba50d
BC
239682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23969
23970 "shift" command support to GRUB script.
23971
23972 * include/grub/script_sh.h (grub_script_shift): New prototype.
23973 * script/execute.c (grub_script_shift): New function.
23974 * script/main.c (grub_script_init): Register shift command.
23975 (grub_script_fini): Unregister shift command.
23976 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23977
23978 * tests/grub_script_shift.in: New testcase.
23979 * conf/tests.rmk: Rules for new testcase.
23980
4d61999e
BC
239812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23982
23983 "continue" command support to GRUB script.
23984
23985 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23986 (grub_script_break): Continue support.
23987 * script/main.c (grub_script_init): Register continue command.
23988 (grub_script_fini): Unregister continue command.
23989
23990 * tests/grub_script_continue.in: New testcase.
23991 * conf/tests.rmk: Rules for new testcase.
23992
4df51e00
BC
239932010-08-12 BVK Chaitanya <bvk@dbook>
23994
23995 "break" command support to GRUB script.
23996
23997 * conf/common.rmk: Rule updates to grub-script-check.
23998 * include/grub/misc.h (grub_min): New function.
23999 * include/grub/script_sh.h (grub_script_init): New prototype.
24000 (grub_script_fini): New prototype.
24001 (grub_script_break): New prototype.
24002 * script/main.c (grub_script_init): New function.
24003 (grub_script_fini): New function.
24004 * script/execute.c (grub_script_break): New function.
24005 * normal/main.c: Calls to grub_script_{init,fini}.
24006 * util/grub-script-check.c (grub_script_break): New function.
24007
24008 * tests/grub_script_break.in: New testcase.
24009 * conf/tests.rmk: Rules for new test case.
24010
f12c8420
BC
240112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24012
24013 Function parameters support to GRUB script.
24014
24015 * script/yylex.l (VARIABLE): Regular expression update.
24016 * script/function.c (grub_script_function_call): Moved ...
24017 * script/execute.c (grub_script_function_call): ... to here.
24018 (grub_script_execute_arglist_to_argv): Removed.
24019 (grub_script_arglist_to_argv): New function.
24020 * script/argv.c: New file.
24021 (grub_script_argv_free): New function.
24022 (grub_script_argv_next): Likewise.
24023 (grub_script_argv_append): Likewise.
24024 (grub_script_argv_split_append): Likewise.
24025 * include/grub/script_sh.h (grub_script_argv): New struct.
24026 (grub_script_argv_free): New function.
24027 (grub_script_argv_next): Likewise.
24028 (grub_script_argv_append): Likewise.
24029 (grub_script_argv_split_append): Likewise.
24030
24031 * conf/common.rmk (normal.mod): New source script/argv.c.
24032
24033 * tests/grub_script_echo1.in: More tests.
24034 * tests/grub_script_vars1.in: Likewise.
24035 * tests/grub_script_functions.in: New test case.
24036 * conf/tests.rmk: Rules for new testcase.
24037
8022b748
BC
240382010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24039
24040 Remove grub_script_cmdblock struct.
24041
24042 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24043 * script/parser.y: Likewise.
24044 * script/execute.c: Rename cmdblock suffix to cmdlist.
24045 * script/script.c: Likewise.
24046 * util/grub-script-check.c: Likewise.
24047
79a6ba61
YB
240482010-08-11 Yves Blusseau <blusseau@zetam.org>
24049
24050 * .bzrignore: add grub-macho2img
24051
d04b9414
VS
240522010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24055
f947ab49
VS
240562010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24057
24058 Remove the dump of sm712 initialisation sequence.
24059
24060 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24061 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24062 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24063 (GRUB_VGA_CR_*): Added many registers.
24064 (GRUB_VGA_SR_*): Likewise.
24065 (GRUB_VGA_GR_*): Likewise.
24066 (grub_vga_write_arx): New function.
24067 (grub_video_hw_config): New struct.
24068 (grub_vga_set_geometry): New function.
24069 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24070 GRUB_PCI_CLASS_SUBCLASS_VGA.
24071 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24072 * video/sm712.c (grub_sm712_write_reg): New function
24073 (grub_sm712_read_reg): Likewise.
24074 (grub_sm712_sr_write): Likewise.
24075 (grub_sm712_gr_write): Likewise.
24076 (grub_sm712_cr_write): Likewise.
24077 (grub_sm712_write_arx): Likewise.
24078 (grub_sm712_cr_shadow_write): Likewise.
24079 (grub_sm712_write_dda_lookup): Likewise.
24080 (grub_video_sm712_setup): Initialise the video rather then
24081 blindly replay the dump.
24082 (main) [TEST]: Add a routine to be able to compile as standalone for
24083 tests.
24084 * video/sm712_init.c (sm712_init): Removed.
24085 (sm712_sr_seq1): New array.
24086 (sm712_sr_seq2): Likewise.
24087
f0206638
VS
240882010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24089
24090 * include/grub/vga.h: Add missing grub/pci.h include.
24091
2764da3b
YB
240922010-08-10 Yves Blusseau <blusseau@zetam.org>
24093
24094 * util/grub-macho2img.c (main): fix typo
24095
cf0c775e
VS
240962010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24097
24098 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24099 (grub_vga_gr_read): Likewise.
24100 (grub_vga_cr_write): Likewise.
24101 (grub_vga_cr_read): Likewise.
24102 (grub_vga_sr_write): Likewise.
24103 (grub_vga_sr_read): Likewise.
24104 (grub_vga_palette_read): Likewise.
24105 (grub_vga_palette_write): Likewise.
24106 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24107 (grub_sm712_sr_read): New function.
24108 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24109 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24110
07f360e9
RM
241112010-08-09 Robert Millan <rmh@gnu.org>
24112
24113 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24114 out unused variables on non-ZFS build.
24115
346c2072
RM
241162010-08-08 Robert Millan <rmh@gnu.org>
24117
24118 Fix path generation for sub-filesystems in ZFS.
24119
24120 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24121 missing slash.
24122
71175420
RM
241232010-08-08 Robert Millan <rmh@gnu.org>
24124
24125 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24126
0d8286f3
RM
241272010-08-08 Robert Millan <rmh@gnu.org>
24128
24129 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24130 exist, issue a proper error message (rely on `ls' for translated
24131 strings).
24132
55dd2924
RM
241332010-08-08 Robert Millan <rmh@gnu.org>
24134
24135 Fix grub-probe invocation.
24136
24137 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24138
d3dd9e80
RM
241392010-08-04 Robert Millan <rmh@gnu.org>
24140
24141 * configure.ac: Remove checks for getfsstat() and getmntany().
24142 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24143 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24144 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24145 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24146 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24147 function.
24148 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24149 via find_mount_point_from_dir() and getfsstat() / getmntany().
24150
0de22aa9
RM
241512010-08-04 Robert Millan <rmh@gnu.org>
24152
24153 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24154 (grub_find_zpool_from_mount_point): Merge into ...
24155 (grub_find_zpool_from_dir): ... this.
24156 * kern/emu/misc.c: Likewise.
24157
24158 * kern/emu/misc.c
24159 (grub_make_system_path_relative_to_its_root): Replace
24160 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24161 with grub_find_zpool_from_dir().
24162 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24163
62858144
RM
241642010-08-04 Robert Millan <rmh@gnu.org>
24165
24166 Support OpenSolaris in ZFS device resolution.
24167
24168 * configure.ac: Check for getmntany().
24169 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24170 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24171 support.
24172
9dd6fd50
RM
241732010-08-03 Robert Millan <rmh@gnu.org>
24174
24175 Fix grub-emu build.
24176
24177 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24178 * include/grub/emu/misc.h: ... here.
24179
24180 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24181 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24182
24183 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24184 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24185 (grub_get_libzfs_handle): Move to ...
24186 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24187 (grub_get_libzfs_handle): ... here.
24188
c9f7ff97
BC
241892010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24190
24191 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24192 as command name case.
24193
a870a783
CW
241942010-08-02 Colin Watson <cjwatson@ubuntu.com>
24195
24196 * disk/raid.c (insert_array): Select unique numbers for named arrays
24197 as well, for use as keys in the disk cache.
24198
c7db243b
RM
241992010-08-01 Robert Millan <rmh@gnu.org>
24200
24201 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24202 kFreeBSD device name, except on ZFS where the filesystem label is
24203 used.
24204 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24205 `/boot/zfs/zpool.cache'.
24206 Set mountfrom kernel variable using ${kfreebsd_device}.
24207
f7abdefb
RM
242082010-08-01 Robert Millan <rmh@gnu.org>
24209
24210 Make it even harder to use uninitialized `libzfs_handle' (and
24211 make the interface a bit simpler).
24212
24213 * include/grub/util/misc.h (grub_util_init_libzfs)
24214 (libzfs_handle): Remove.
24215 (grub_get_libzfs_handle): New prototype.
24216
24217 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24218 attribute.
24219 (grub_util_init_libzfs): Remove.
24220 (grub_get_libzfs_handle): New function.
24221
24222 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24223 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24224 accessing `libzfs_handle' directly.
24225
c882acc0
RM
242262010-08-01 Robert Millan <rmh@gnu.org>
24227
24228 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24229 (grub_find_zpool_from_mount_point): New function prototypes.
24230
24231 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24232 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24233
24234 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24235 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24236 `static' attribute.
24237
24238 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24239 finding zpool from mount point into ...
24240 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24241
24242 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24243 requested path is part of a ZFS pool, use
24244 grub_find_zpool_from_mount_point() to detect its filesystem name,
24245 and generate a path with `/fsname@path' syntax.
24246
8bfe31d8
CW
242472010-08-01 Colin Watson <cjwatson@ubuntu.com>
24248
24249 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24250 (void) rather than () so that this is a proper prototype.
24251
553df63d
VS
242522010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24255
8687cf07
VS
242562010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24259 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24260
ea9be8ea
CW
242612010-08-01 Colin Watson <cjwatson@ubuntu.com>
24262
24263 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24264
6eea041a
CW
242652010-08-01 Colin Watson <cjwatson@ubuntu.com>
24266
24267 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24268
2cfb45df
CW
242692010-08-01 Colin Watson <cjwatson@ubuntu.com>
24270
24271 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24272 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24273 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24274 disable gfxpayload.
24275 (Shell-like scripting): Add real content.
24276 (Serial terminal): Suggest `terminal_input serial; terminal_output
24277 serial' rather than putting the two commands on separate lines,
24278 since console input will be inoperative after the first command.
24279 (menuentry): Document --class, --users, and --hotkey options.
24280 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24281 Vladimir Serbinenko).
24282
7decd202
VS
242832010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
242842010-08-01 Colin Watson <cjwatson@ubuntu.com>
24285
24286 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24287
c882acc0
RM
242882010-08-01 Robert Millan <rmh@gnu.org>
24289
24290 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24291 (grub_find_zpool_from_mount_point): New function prototypes.
24292
24293 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24294 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24295
24296 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24297 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24298 `static' attribute.
24299
24300 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24301 finding zpool from mount point into ...
24302 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24303
24304 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24305 requested path is part of a ZFS pool, use
24306 grub_find_zpool_from_mount_point() to detect its filesystem name,
24307 and generate a path with `/fsname@path' syntax.
24308
deb0caa3
RM
243092010-08-01 Robert Millan <rmh@gnu.org>
24310
24311 Prevent accidental use of uninitialized libzfs_handle.
24312
24313 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24314 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24315 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24316
ce04ef47
CW
243172010-08-01 Colin Watson <cjwatson@ubuntu.com>
24318
24319 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24320 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24321
ebf53056
RM
243222010-08-01 Robert Millan <rmh@gnu.org>
24323
24324 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24325
3710bb6b
RM
243262010-07-31 Robert Millan <rmh@gnu.org>
24327
24328 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24329
8072efeb
RM
243302010-07-31 Robert Millan <rmh@gnu.org>
24331
24332 * kern/emu/misc.c: Add missing license header.
24333
3169f4c7
RM
243342010-07-31 Robert Millan <rmh@gnu.org>
24335
24336 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24337
24338 * include/grub/util/libnvpair.h: Include `<config.h>'.
24339 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24340 declaring libnvpair prototypes ourselves.
24341 * include/grub/util/libzfs.h: Include `<config.h>'.
24342 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24343 declaring libzfs prototypes ourselves.
24344
24345 (libzfs_handle): Moved to ...
24346 * include/grub/util/misc.h (libzfs_handle): ... here.
24347 Include `<grub/util/libzfs.h>'.
24348
c9a00aee
RM
243492010-07-30 Robert Millan <rmh@gnu.org>
24350
24351 * include/grub/emu/misc.h: Add missing license header.
24352
a184f9c8
RM
243532010-07-30 Robert Millan <rmh@gnu.org>
24354
24355 Enable `grub-probe -t device' resolution on ZFS.
24356
24357 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24358 * include/grub/util/libnvpair.h: New file.
24359 * include/grub/util/libzfs.h: New file.
24360
24361 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24362 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24363 `<grub/util/libnvpair.h>'.
24364 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24365
24366 (find_mount_point_from_dir): New static function.
24367 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24368 function.
24369 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24370 find_root_device_from_libzfs() before ressorting to find_root_device().
24371
24372 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24373 prototype.
24374 * util/misc.c: Include `<grub/util/libzfs.h>'.
24375 (grub_util_init_libzfs): New function.
24376 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24377 [HAVE_LIBZFS] (fini_libzfs): New static function.
24378 (grub_util_init_libzfs): New function.
24379 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24380
f7790cdd
RM
243812010-07-30 Robert Millan <rmh@gnu.org>
24382
24383 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24384 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24385 `warn_unused_result' attribute.
24386 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24387 (grub_xasprintf, grub_xvasprintf): Likewise.
24388 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24389
0806b63c
RM
243902010-07-29 Robert Millan <rmh@gnu.org>
24391
24392 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24393 (probe): Handle `PRINT_FS_LABEL'.
24394 (main): Handle `-t fs_label'.
24395
9f841f5c
RM
243962010-07-29 Robert Millan <rmh@gnu.org>
24397
24398 * configure.ac: Remove grub-mkisofs checks.
24399
46371121
VS
244002010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24401
24402 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24403 Reported by: Lennart Sorensen.
24404
244052010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24406
24407 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24408 prior to terminal_input/terminal_output separation. It's been over 1.5
24409 years and those versions weren't widely deployed.
24410
a9600892
CW
244112010-07-22 Colin Watson <cjwatson@ubuntu.com>
24412
24413 * disk/raid.c (insert_array): Don't count named arrays when looking
24414 for unused array numbers.
697e053c 24415 Reported and tested by: Michael Guntsche.
a9600892 24416
c03507df
CW
244172010-07-20 Colin Watson <cjwatson@ubuntu.com>
24418
24419 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24420 implementation of this so that grub-emu links again, with a note
24421 that this should support hotplugging in the future.
24422
b26f1c11
CW
244232010-07-20 Colin Watson <cjwatson@ubuntu.com>
24424
24425 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24426
efc9d7f1
CW
244272010-07-20 Colin Watson <cjwatson@ubuntu.com>
24428
24429 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24430 handle on failure.
24431 (grub_loopback_close): Remove empty function.
24432 (grub_loopback_dev): Remove close method.
24433
dd8ff5c9
CW
244342010-07-20 Colin Watson <cjwatson@ubuntu.com>
24435
24436 Disable EFI cursor when the EFI console becomes inactive.
24437
24438 * term/efi/console.c (grub_efi_console_init): New function.
24439 (grub_efi_console_fini): New function.
24440 (grub_console_term_output): Register init and fini methods.
24441
5e3bec67
VS
244422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24445 sh script.
24446
afaec079
VS
244472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24448
24449 * disk/loopback.c (grub_loopback): Replace filename with file.
24450 (delete_loopback): Handle new semantics.
24451 (grub_cmd_loopback): Likewise.
24452 (grub_loopback_iterate): Likewise.
24453 (grub_loopback_close): Likewise.
24454
a6a11f3c
VS
244552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24456
24457 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24458 with -p "".
24459 Reported by: Tito Keitel.
24460
64a638b0
VS
244612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24462
24463 * docs/grub.texi (Naming convention): Document new naming convention.
24464
ab8ba957
VS
244652010-07-20 Vadim Solomin <vadic052@gmail.com>
244662010-07-20 Colin Watson <cjwatson@ubuntu.com>
24467
24468 Generate device.map in something closer to the old ordering.
24469
24470 * util/deviceiter.c (struct device): New declaration.
24471 (compare_file_names): Rename to ...
24472 (compare_devices): ... this. Sort by kernel name in preference to
24473 the stable by-id name, but keep the latter as a fallback comparison.
24474 Update header comment.
24475 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24476 of `struct device' rather than of plain file names.
24477
a29d6a4b
TF
244782010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24479
24480 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24481 on i386.
24482
39d824e8
VS
244832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24484
24485 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24486 hardcoding size.
24487 (setv1table): Likewise.
24488
f058276b
FZ
244892010-07-20 Colin Watson <cjwatson@ubuntu.com>
24490
24491 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24492 removing the homehost if present.
24493 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24494 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24495 removing the homehost if present.
24496 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24497 if possible.
24498 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24499
24500 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24501 parameter. Set its pointer target to 0.
24502 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24503 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24504 `data_offset' value from the superblock for 1.x metadata.
24505 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24506 data on the device.
24507 (insert_array): Record the start sector of data on the device.
24508 (grub_raid_register): Pass start_sector parameters to
24509 grub_raid_list->detect and insert_array.
24510 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24511 member.
24512 (struct grub_raid): Add start_sector parameter to `detect'.
24513
24514 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24515 __attribute__ ((packed)), leaving a comment.
24516 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24517 (grub_mdraid_detect_09): ... here and ...
24518 (grub_mdraid_detect_1x): ... here.
24519
245202010-07-20 Peter Henn <peter.henn@web.de>
24521
24522 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24523 chunk size and disk size, which are already given as sector counts
24524 as distinct from the 0.90 units. Fetch the correct device number
24525 from the role table instead of using the table index.
24526
245272010-07-20 Felix Zielcke <fzielcke@z-51.de>
24528
24529 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24530 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24531 (WriteMostly1): New macro.
24532 Set array->name to NULL for metadata format 0.90. Add support for
24533 metadata 1.x. Fix some comments.
24534 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24535 few comments.
24536 * util/getroot.c (grub_util_get_grub_dev): Add support for
24537 /dev/md/name style devices.
24538
4b761da9
CW
245392010-07-20 Colin Watson <cjwatson@ubuntu.com>
24540
24541 * .bzrignore: Ignore 20_linux_xen.
24542
5771289a
CW
245432010-07-17 Colin Watson <cjwatson@ubuntu.com>
24544
24545 * util/import_unicode.py: Remove unnecessary imports.
24546
5dab68df
AN
245472010-07-17 Aleš Nesrsta <starous@volny.cz>
24548
24549 Hotplugging and USB hub support.
24550
24551 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24552 (grub_ohci): Likewise.
24553 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24554 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24555 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24556 (GRUB_OHCI_CTRL_EDS): Likewise.
24557 (GRUB_OHCI_BULK_EDS): Likewise.
24558 (GRUB_OHCI_TDS): Likewise.
24559 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24560 (grub_ohci_ed_phys2virt): New function.
24561 (grub_ohci_virt_to_phys): Likewise.
24562 (grub_ohci_td_phys2virt): Likewise.
24563 (grub_ohci_td_virt2phys): Likewise.
24564 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24565 attachment.
24566 (grub_ohci_find_ed): New function.
24567 (grub_ohci_alloc_td): Likewise.
24568 (grub_ohci_free_td): Likewise.
24569 (grub_ohci_free_tds): Likewise.
24570 (grub_ohci_transfer): Use previously allocated memory.
24571 (grub_ohci_portstatus): Reset status changed bit.
24572 (grub_ohci_detect_dev): Supply status changed.
24573 (grub_ohci_fini_hw): Free memory.
24574 (grub_ohci_restore_hw): Reallocate memory.
24575 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24576 Reset status change.
24577 (grub_uhci_detect_dev): Supply status_change.
24578 * bus/usb/usb.c (attach_hooks): New var.
24579 (grub_usb_device_attach): New function.
24580 (grub_usb_register_attach_hook_class): Likewise.
24581 (grub_usb_unregister_attach_hook_class): Likewise.
24582 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24583 (grub_usb_add_hub): Reset connection changed bit.
24584 (attach_root_port): New function.
24585 (grub_usb_root_hub): Likewise.
24586 (poll_nonroot_hub): Likewise.
24587 (grub_usb_poll_devices): Likewise.
24588 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24589 * disk/usbms.c (grub_usbms_open): Use device hooks.
24590 (grub_usbms_iterate) :Poll devices.
24591 (grub_usbms_finddevs): Split into ...
24592 (grub_usbms_attach): ... this ...
24593 (grub_usbms_attach): ... and this.
24594 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24595 in detect_dev.
24596 (grub_usb_interface): New fields attached and detach_hook.
24597 (grub_usb_attach_hook_class): New type.
24598 (grub_usb_attach_desc): New struct.
24599 (grub_usb_register_attach_hook_class): New function.
24600 (grub_usb_unregister_attach_hook_class): Likewise.
24601 (grub_usb_poll_devices): Likewise.
24602 (grub_usb_device_attach): Likewise.
24603 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24604 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24605
3222efaf
VS
246062010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24609 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24610 delta determination style. Works with most NetBSD partitions too.
24611
139b714a
VS
246122010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24615 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24616
986aad56
VS
246172010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24620
99be513c
AB
246212010-07-14 Anton Blanchard <anton@samba.org>
24622
24623 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24624 ET_DYN files.
24625
18075f62
GS
246262010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24627
24628 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24629
8d9a5b15
GS
246302010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24631
24632 * kern/partition.c (grub_partition_check_containment): New function to
24633 check that a partition is physically contained in a parent. Since
24634 offsets are relative (and non-negative), this reduces to checking that
24635 the partition ends before its parent.
24636 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24637 (grub_partition_iterate): Likewise.
24638 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24639 comments.
24640 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24641 partitions that start before their parent, and add debug printfs.
24642
19563c25
CW
246432010-07-13 Colin Watson <cjwatson@ubuntu.com>
24644
24645 * Makefile.in (.SUFFIX): Spell correctly, as ...
24646 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24647 bare module name without `.mod', e.g. `test') tried to invoke a
24648 Modula-2 compiler.
24649
1a1f1e67
CW
246502010-07-13 Colin Watson <cjwatson@ubuntu.com>
24651
24652 * README: Point to the Info manual.
24653
811b0dca
JS
246542010-07-13 Jiro SEKIBA <jir@unicus.jp>
24655
24656 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24657 2nd superblock position from partition size.
24658
e4f4eafc
CW
246592010-07-10 Colin Watson <cjwatson@ubuntu.com>
24660
24661 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24662 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24663 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24664 outputs.
24665
4274c30f
VS
246662010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24667
24668 Restructure SCSI .id handling.
24669 Reported and tested by: Aleš Nesrsta.
24670
24671 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24672 (grub_atapi_dev): Changed .name to "ata". New field .id.
24673 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24674 (grub_usbms_dev): New field .id.
24675 * disk/scsi.c (grub_scsi_iterate): Generate name.
24676 (grub_scsi_open): Parse name.
24677 * include/grub/scsi.h (grub_make_scsi_id): New function.
24678 (grub_scsi_dev): Change iterate and open to number instead of naming
24679 busses. All users updated.
24680 (grub_scsi): Remove name. Add .bus.
24681
5bc24388
VS
246822010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24683
24684 * commands/help.c (grub_cmd_help): Fix a typo.
24685
249975ba
VS
246862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24687
24688 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24689 Reported and tested by: Colin Watson.
24690
3eaac1a1
VS
246912010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24692
24693 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24694 in this context.
24695
becce1b1
VS
246962010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24697
24698 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24699
f7bf0918
CW
247002010-07-07 Colin Watson <cjwatson@ubuntu.com>
24701
24702 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24703 indentation.
24704
0b0f9620
CW
247052010-07-06 Colin Watson <cjwatson@ubuntu.com>
24706
24707 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24708 and disk/raid6_recover.c.
24709 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24710 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24711
1e545469
CW
247122010-07-06 Colin Watson <cjwatson@ubuntu.com>
24713
24714 * term/gfxterm.c (repaint_schedulded): Rename to ...
24715 (repaint_scheduled): ... this. Update all callers.
24716 (repaint_was_schedulded): Rename to ...
24717 (repaint_was_scheduled): ... this. Update all callers.
24718
5357687a
CW
247192010-07-06 Colin Watson <cjwatson@ubuntu.com>
24720
24721 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24722 which we expect to be handled by upper layers.
24723
29d7e783
BC
247242010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24725
24726 * bus/usb/usbhub.c: #include time.h header.
24727
37582066
CW
247282010-07-06 Colin Watson <cjwatson@ubuntu.com>
24729
24730 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24731 entry_name also for entries without stat blocks (e.g. ".."); fixes
24732 corruption of the first entry in a directory.
24733
c8c06953
CW
247342010-07-06 Colin Watson <cjwatson@ubuntu.com>
24735
24736 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24737 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24738 doesn't work otherwise.
24739
e75056f1
CW
247402010-07-05 Colin Watson <cjwatson@ubuntu.com>
24741
24742 * docs/grub.texi (Features): Update list of supported file systems.
24743 (GNU/Linux): Update for GRUB 2.
24744 (Serial terminal): Remove mention of --disable-serial, which was a
24745 GRUB Legacy configure option. Update instructions to use
24746 `terminal_input' and `terminal_output' rather than `terminal'.
24747 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24748 configuration' and `Installing GRUB using grub-install'.
24749 (Menu entry editor): Update for GRUB 2.
24750 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24751 Document new -a, -u, and -v options.
24752 (initrd): New section.
24753 (initrd16): New section.
24754 (linux): New section.
24755 (linux16): New section.
24756 (search): The `var' argument to `--set' is optional.
24757 (GRUB only offers a rescue shell): Go into a little more detail on
24758 drive ordering.
24759
5cf69151
CW
247602010-07-05 Colin Watson <cjwatson@ubuntu.com>
24761
24762 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24763
e3f90044
CW
247642010-07-05 Colin Watson <cjwatson@ubuntu.com>
24765
24766 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24767 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24768
38d8f4f3
CW
247692010-07-05 Colin Watson <cjwatson@ubuntu.com>
24770
24771 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24772 install_prefix, in line with install_dos_part and install_bsd_part.
24773 Add new prefix variable, which is copied to install_prefix after
24774 comparing core.img in memory with the one read from disk in the
24775 no-embedding case, and use that rather than overwriting
24776 install_prefix immediately when installing to a partition.
24777 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24778 Bicakci.
24779
57ebd41e
GS
247802010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24781
24782 * configure.ac: Avoid == in test command, it's not portable.
24783 * util/grub.d/30_os-prober.in: Likewise.
24784
cb7f64b2
CW
247852010-07-04 Colin Watson <cjwatson@ubuntu.com>
24786
24787 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24788
6b654bb0
GS
247892010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24790
24791 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24792 multiple (top-level) partmaps.
24793
72a2026d
VS
247942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24797 Reported by: Tino Keitel.
72a2026d 24798
df3eb88f
VS
247992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 Bidi and diacritics support.
24802
24803 * Makefile.in (widthspec.bin): New target.
24804 (widthspec.h): Likewise.
24805 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24806 * autogen.sh: Generate unidata.c.
24807 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24808 * commands/ls.c (grub_ls_list_devices): Likewise.
24809 (grub_ls_list_files): Likewise.
24810 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24811 (grub_mini_cmd_lsmod): Likewise.
24812 * commands/read.c: Likewise.
24813 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24814 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24815 * lib/arg.c (grub_arg_show_help): Likewise.
24816 * lib/crypto.c (grub_password_get): Likewise.
24817 * normal/auth.c (grub_username_get): Likewise.
24818 * normal/misc.c (grub_normal_print_device_info): Likewise.
24819 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24820 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24821 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24822 (normal/charset.c_DEPENDENCIES): New variable.
24823 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24824 (pkglib_MODULES): Remove charset.mod.
24825 (charset_mod_SOURCES): Removed.
24826 (charset_mod_CFLAGS): Likewise.
24827 (charset_mod_LDFLAGS): Likewise.
24828 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24829 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24830 and term/tparm.c.
24831 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24832 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24833 (kernel_img_HEADERS): Add terminfo.h.
24834 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24835 Fill ->font. Reverse ascii bitmaps.
24836 (grub_font_get_xheight): New function.
24837 * font/font.c (grub_font_get_string_width): Moved from here ...
24838 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24839 * font/font.c (grub_font_draw_string): Moved from here ...
24840 * gfxmenu/font.c (grub_font_draw_string): ... here.
24841 * font/font.c (grub_font_dup_glyph): New function.
24842 (grub_font_blit_glyph): Likewise.
24843 (grub_font_blit_glyph_mirror): Likewise.
24844 (blit_comb): Likewise.
24845 (grub_font_construct_dry_run): Likewise.
24846 (grub_font_get_constructed_device_width): Likewise.
24847 (grub_font_construct_glyph): Likewise.
24848 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24849 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24850 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24851 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24852 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24853 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24854 (grub_font_get_xheight): New proto.
24855 (grub_font_get_constructed_device_width): Likewise.
24856 (grub_font_construct_glyph): Likewise.
24857 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24858 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24859 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24860 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24861 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24862 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24863 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24864 (grub_console_getcharwidth): Likewise.
24865 * include/grub/misc.h (grub_xputs): New proto.
24866 (grub_puts): Inlined.
24867 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24868 (grub_normal_get_line_counter): Removed.
24869 (grub_install_newline_hook): Likewise.
24870 (grub_normal_get_char_counter): New proto.
24871 (grub_normal_reset_more): Likewise.
24872 (grub_xputs_normal): Likewise.
24873 * include/grub/powerpc/ieee1275/console.h: Removed.
24874 * include/grub/sparc64/ieee1275/console.h: Likewise.
24875 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24876 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24877 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24878 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24879 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24880 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24881 (grub_term_input): Pass reference to self. All users updated.
24882 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24883 Pass reference to self. New fields normal_color, highlight_color and
24884 data. All users updated.
24885 (grub_putchar): Removed.
24886 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24887 (grub_unicode_estimate_width): New function.
24888 (grub_term_getcharwidth): Add defaults.
24889 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24890 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24891 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24892 (grub_cls): Remove EXPORT_FUNC.
24893 (grub_setcolorstate): Inline.
24894 (grub_newline_hook): Removed.
24895 * include/grub/terminfo.h: Rewritten. All users updated.
24896 * include/grub/unicode.h: New file.
24897 * include/grub/video.h (grub_video_signed_rect): New type.
24898 * kern/emu/console.c (grub_console_highlight_color): Removed.
24899 (grub_console_normal_color): Likewise.
24900 (grub_console_standard_color): Made static.
24901 (grub_ncurses_putchar): Remove mapping.
24902 (grub_ncurses_getcharwidth): Removed.
24903 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24904 (grub_ncurses_setcolor): Removed.
24905 (grub_ncurses_getcolor): Likewise.
24906 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24907 (grub_console_putchar): ... this.
24908 (grub_console_putchar): Handle argument difference.
24909 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24910 console_init_early and console_init_lately.
24911 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24912 * kern/misc.c (grub_puts): Removed.
24913 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24914 (grub_vsnprintf_real): Remove str = NULL support.
24915 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24916 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24917 * kern/term.c (grub_putcode): Renamed to ...
24918 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24919 (grub_putchar): Removed.
24920 (grub_xputs_dumb): New function.
24921 (grub_xputs): New variable.
24922 * lib/charset.c: Move from here ...
24923 * normal/charset.c: ... to here.
24924 (grub_ucs4_to_utf8): New function.
24925 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24926 (join_types): New variable.
24927 (unpack_join): New function.
24928 (bidi_types): New variable.
24929 (unpack_bidi): New function.
24930 (get_bidi_type): Likewise.
24931 (get_join_type): Likewise.
24932 (is_mirrored): Likewise.
24933 (grub_unicode_get_comb_type): Likewise.
24934 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24935 (is_type_after): Likewise.
24936 (grub_unicode_aglomerate_comb): Likewise.
24937 (bidi_line_wrap): Likewise.
24938 (grub_bidi_line_logical_to_visual): Likewise.
24939 (grub_bidi_logical_to_visual): Likewise.
24940 (grub_unicode_mirror_code): Likewise.
24941 (grub_unicode_shape_code): Likewise.
24942 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24943 Don't use grub_putchar.
24944 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24945 (grub_normal_reader_init): Likewise.
24946 (grub_xputs_saved): New variable.
24947 (GRUB_MOD_INIT): Set grub_xputs.
24948 (GRUB_MOD_FINI): Restore grub_xputs.
24949 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24950 (menu_init): Avoid printing gfxmenu error.
24951 (show_menu): Use grub_normal_get_char_counter.
24952 * normal/menu_entry.c (update_screen): Fix out-of-array.
24953 (complete): Avoid NULL dereferencing.
24954 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24955 * normal/menu_text.c (print_spaces): Removed.
24956 (grub_print_ucs4): Likewise.
24957 (grub_print_message_indented): Use grub_print_ucs4.
24958 (print_message): Use grub_putcode.
24959 (print_entry): Hanlde diacritics.
24960 * normal/term.c (term_state): New type.
24961 (grub_more_lines): Removed.
24962 (term_states): New variable.
24963 (grub_normal_line_counter): Renamed to ..
24964 (grub_normal_char_counter): ...this. All users updated.
24965 (grub_normal_get_line_counter): Renamed to ...
24966 (grub_normal_get_char_counter): ... this.
24967 (grub_normal_reset_more): New function.
24968 (process_newline): Removed.
24969 (print_more): New function.
24970 (grub_install_newline_hook): Removed.
24971 (map_code): New function.
24972 (grub_puts_terminal): Use grub_print_ucs4.
24973 (putglyph): New function.
24974 (putcode_real): Likewise.
24975 (grub_putcode): Use putcode_real.
24976 (get_maxwidth): New function.
24977 (get_startwidth): Likewise.
24978 (print_ucs4_terminal): Likewise.
24979 (find_term_state): Likewise.
24980 (put_glyphs_terminal): Likewise.
24981 (print_backlog): Likewise.
24982 (print_ucs4_real): Likewise.
24983 (grub_print_ucs4): Likewise.
24984 (grub_xputs_normal): Likewise.
24985 * term/efi/console.c (grub_console_putchar): Output diacritics.
24986 (grub_console_getcharwidth): Removed.
24987 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24988 * term/gfxterm.c (clear_char): Free chars.
24989 (scroll_up): Avoid leaking memory.
24990 (grub_gfxterm_putchar): Support diacritics.
24991 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24992 * term/i386/pc/console.c (grub_console_term_output): Declare as
24993 GRUB_TERM_CODE_TYPE_VGA.
24994 * term/i386/pc/vga.c (grub_vga_term): Declare as
24995 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24996 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24997 GRUB_TERM_CODE_TYPE_VGA.
24998 * term/i386/vga_common.c (map_char): Removed.
24999 (grub_console_putchar): Likewise.
25000 (grub_console_getcharwidth): Likewise.
25001 * term/ieee1275/ofconsole.c: Simplify using terminfo.
25002 (colors): Reordered to match terminfo.
25003 (grub_ofconsole_normal_color): Removed.
25004 (grub_ofconsole_writeesc): Likewise.
25005 (grub_ofconsole_highlight_color): Likewise.
25006 (grub_ofconsole_getcharwidth): Likewise.
25007 (grub_ofconsole_setcolorstate): Likewise.
25008 (grub_ofconsole_setcolor): Likewise.
25009 (grub_ofconsole_getcolor): Likewise.
25010 (grub_ofconsole_readkey): Renamed to ...
25011 (readkey): ... this. Remove escape sequence handling. Return -1 on no
25012 key.
25013 (grub_ofconsole_checkkey): Removed.
25014 (grub_ofconsole_getkey): Likewise.
25015 (grub_ofconsole_getxy): Likewise.
25016 (grub_ofconsole_gotoxy): Likewise.
25017 (grub_ofconsole_cls): Likewise.
25018 (grub_ofconsole_refresh): Likewise.
25019 (grub_ofconsole_terminfo_input): New struct.
25020 (grub_ofconsole_terminfo_output): Likewise.
25021 (grub_ofconsole_term_input): Use terminfo.
25022 (grub_ofconsole_term_output): Likewise.
25023 (grub_console_init): Split into ...
25024 (grub_console_init_early): ...this and ...
25025 (grub_console_init_lately): ...this. Use terminfo.
25026 (grub_ofconsole_putchar): Renamed to ...
25027 (put): ... this. Remove mapping.
25028 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
25029 * term/serial.c: Simplify using terminfo.
25030 (xpos): Removed.
25031 (ypos): Likewise.
25032 (keep_track): Likewise.
25033 (registered): Likewise.
25034 (input_buf): Likewise.
25035 (npending): Likewise.
25036 (serial_translate_key_sequence): Likewise.
25037 (fill_input_buf): Likewise.
25038 (grub_serial_checkkey): Likewise.
25039 (grub_serial_getkey): Likewise.
25040 (grub_serial_getxy): Likewise.
25041 (grub_serial_gotoxy): Likewise.
25042 (grub_serial_putchar): Likewise.
25043 (grub_serial_cls): Likewise.
25044 (grub_serial_setcolorstate): Likewise.
25045 (grub_serial_setcursor): Likewise.
25046 (serial_hw_init): Use serial_hw_fetch.
25047 (grub_serial_terminfo_input): New variable.
25048 (grub_serial_terminfo_output): Likewise.
25049 (grub_serial_term_input): Use terminfo.
25050 (grub_serial_term_output): Likewise.
25051 * term/terminfo.c (putstr): Use put.
25052 (grub_terminfo_all_free): New function
25053 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25054 (grub_terminfo_output_register): New function.
25055 (grub_terminfo_output_unregister): Likewise.
25056 (grub_terminfo_getxy): Likewise.
25057 (grub_terminfo_readkey): Likewise.
25058 (grub_terminfo_checkkey): Likewise.
25059 (grub_terminfo_getkey): Likewise.
25060 (grub_terminfo_input_init): Likewise.
25061 (print_terminfo): Likewise.
25062 (grub_cmd_terminfo): Handle encoding.
25063 (grub_terminfo_gotoxy): Track position.
25064 (grub_terminfo_cls): Likewise.
25065 (grub_terminfo_putchar): Likewise.
25066 (grub_terminfo_setcolorstate): Handle colors
25067 (grub_terminfo_cursor_on): This ...
25068 (grub_terminfo_cursor_off): ... and this merged into ...
25069 (grub_terminfo_setcursor): ... this.
25070 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25071 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25072 * unicode/BidiMirroring.txt: Likewise.
25073 * unicode/UnicodeData.txt: Likewise.
25074 * unicode/COPYING: Likewise.
25075 * util/grub-editenv.c (grub_putchar): Removed.
25076 (grub_xputs_real): New function.
25077 (grub_xputs): New variable.
25078 * util/grub-fstest.c (grub_putchar): Removed.
25079 (grub_xputs_real): New function.
25080 (grub_xputs): New variable.
25081 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25082 (grub_xputs_real): New function.
25083 (grub_xputs): New variable.
25084 * util/grub-probe.c (grub_putchar): Removed.
25085 (grub_xputs_real): New function.
25086 (grub_xputs): New variable.
25087 * util/grub-script-check.c (grub_putchar): Removed.
25088 (grub_xputs_real): New function.
25089 (grub_xputs): New variable.
25090 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25091 (grub_xputs_real): New function.
25092 (grub_xputs): New variable.
25093 * util/import_unicode.py: New file.
25094 * util/grub-mkfont.c (ft_errmsgs): New array.
25095 (grub_glyph_info): Make bitmap a pointer.
25096 (file_formats): New type WIDTH_SPEC.
25097 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25098 (options): Add width-spec.
25099 (help): Likewise.
25100 (add_char): Renamed to ...
25101 (add_glyph): ... this.
25102 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25103 (glyph_replace): New type.
25104 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25105 (add_char): New function.
25106 (add_subst): Likewise.
25107 (process_cursive): Likewise.
25108 (add_font): Handle GSUB.
25109 (write_font_width_spec): New function.
25110 (main): Sort glyphs.
25111 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25112 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25113 * kern/term.c (grub_cls): Moved from here...
25114 * normal/term.c (grub_cls): ... here.
25115
50f0bcda
CW
251162010-07-02 Colin Watson <cjwatson@ubuntu.com>
25117
25118 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25119 suitable for using within the format argument of printf when
25120 converting grub_size_t.
25121 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25122 "x" to convert grub_size_t arguments.
25123
40372103
VS
251242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25125
25126 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25127 too long captions.
25128 (list_get_minimal_size): Take selection box into account.
25129
942a10c7
VS
251302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25131
25132 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25133 NULL font.
25134
2bdb2892
CW
251352010-07-02 Colin Watson <cjwatson@ubuntu.com>
25136
25137 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25138 devices when iterating over /dev/disk/by-id; they will be handled
25139 later if appropriate, which they aren't always (e.g. LVM).
25140
e03ed6c1
CW
251412010-07-02 Colin Watson <cjwatson@ubuntu.com>
25142
25143 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25144 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25145 fails.
25146 (grub_halt): Likewise.
25147 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25148 reset-all fails.
25149 (grub_halt): Don't return, even if all of shut-down, power-off, and
25150 poweroff fail.
25151
47695765
CW
251522010-07-02 Colin Watson <cjwatson@ubuntu.com>
25153
25154 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25155 arguments, not three.
25156
507736c8
CW
251572010-07-02 Colin Watson <cjwatson@ubuntu.com>
25158
25159 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25160 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25161 LVM-on-RAID is handled correctly.
25162
e3c8cd37
CW
251632010-07-02 Colin Watson <cjwatson@ubuntu.com>
25164
25165 * docs/grub.texi (Changes from GRUB Legacy): New section.
25166 (Future): Fix typo.
25167
8d4a2fec
CW
251682010-07-02 Colin Watson <cjwatson@ubuntu.com>
25169
25170 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25171 grub.d/README accidentally ends up executable for one reason or
25172 another. Ignore it.
25173
1c4827be
VS
251742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25175
25176 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25177 (gpt_partition_map_iterate): Support non-512B sectors.
25178
d9a0c941
VS
251792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25180
25181 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25182 Tested by: Seth Goldberg.
25183
48f27e87
VS
251842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25185
25186 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25187 Properly align mbi.
25188 Reported by: Seth Goldberg.
25189
b0c4f956
VS
251902010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25191
25192 * util/grub-mkrescue.in: Avoid module duplication.
25193
105a2e8c
SF
251942010-07-01 Sean Finney <seanius@seanius.net>
25195
25196 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25197
5944958c
SF
251982010-07-01 Sean Finney <seanius@seanius.net>
25199
25200 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25201
252022010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25203
25204 * disk/lvm.c (grub_lvm_checkvalue): New function.
25205 (grub_lvm_check_flag): Likewise.
25206
b79889ba
RM
252072010-07-01 Robert Millan <rmh@gnu.org>
25208
25209 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25210 Support 'p' as partition separator on kernel of FreeBSD (used
25211 with GPT labels).
25212 (grub_util_biosdisk_get_grub_dev): Likewise.
25213
ec1d04f1
VS
252142010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25215
25216 Yeeloong firmware port.
25217
25218 * boot/mips/yeeloong/fwstart.S: New file.
25219 * bus/cs5536.c (gpiodump): New const.
25220 (set_io_space): New function.
25221 (set_iod): Likewise.
25222 (set_p2d): Likewise.
25223 (grub_cs5536_init_geode): Likewise.
25224 * commands/mips/yeeloong/lsspd.c: New file.
25225 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25226 (serial_mod_SOURCES): New variable.
25227 (serial_mod_CFLAGS): Likewise.
25228 (serial_mod_LDFLAGS): Likewise.
25229 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25230 term/terminfo.c and term/tparm.c.
25231 (pkglib_IMAGES): Add fwstart.img.
25232 (fwstart_img_SOURCES): New variable.
25233 (fwstart_img_CFLAGS): Likewise.
25234 (fwstart_img_ASFLAGS): Likewise.
25235 (fwstart_img_LDFLAGS): Likewise.
25236 (fwstart_img_FORMAT): Likewise.
25237 (pkglib_MODULES): Add lsspd.mod.
25238 (lsspd_mod_SOURCES): New variable.
25239 (lsspd_mod_CFLAGS): Likewise.
25240 (lsspd_mod_LDFLAGS): Likewise.
25241 (pkglib_MODULES): Add halt.mod.
25242 (halt_mod_SOURCES): New variable.
25243 (halt_mod_CFLAGS): Likewise.
25244 (halt_mod_LDFLAGS): Likewise.
25245 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25246 (serial_mod_SOURCES): Removed.
25247 (serial_mod_CFLAGS): Likewise.
25248 (serial_mod_LDFLAGS): Likewise.
25249 * disk/ata.c (check_device): New function.
25250 (grub_ata_device_initialize): Use check_device.
25251 (grub_ata_iterate): Recheck devices.
25252 (grub_ata_open): Likewise.
25253 (grub_atapi_iterate): Likewise.
25254 (grub_atapi_open): Likewise.
25255 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25256 (GRUB_ATA_CH1_PORT1): Likewise.
25257 (GRUB_ATA_CH0_PORT2): Likewise.
25258 (GRUB_ATA_CH1_PORT2): Likewise.
25259 * include/grub/mips/loongson.h: New file.
25260 * include/grub/mips/yeeloong/ec.h: Likewise.
25261 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25262 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25263 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25264 * include/grub/misc.h (grub_halt): Declare as noreturn.
25265 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25266 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25267 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25268 (UART_ENABLE_DTRRTS): Likewise.
25269 (UART_ENABLE_MODEM): Removed.
25270 (UART_ENABLE_OUT2): New const.
25271 * include/grub/term.h (grub_term_register_input_active): New function.
25272 (grub_term_register_output_active): Likewise.
25273 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25274 argument.
25275 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25276 (init_pci): New function.
25277 (grub_machine_init): Execute platform init when firmware. Init serial.
25278 (grub_halt): Implement.
25279 (grub_exit): Likewise.
25280 (grub_reboot): Likewise.
25281 * term/serial.c (serial_hw_init): Update macros.
25282 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25283 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25284 (image_targets): New target mipsel-yeeloong-flash.
25285 (generate_image): Support IMAGE_YEELOONG_FLASH.
25286 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25287 (grub_video_sm712_setup): Init card.
25288 (grub_video_sm712_set_palette): Removed.
25289 * video/sm712_init.c: New file.
25290
ff4a70d2
CW
252912010-06-30 Colin Watson <cjwatson@ubuntu.com>
25292
25293 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25294 PATH when running help2man and then run it on the unadorned
25295 executable names, rather than passing $(builddir)/* paths to
25296 help2man. This avoids the build directory ending up in generated
25297 manual pages.
25298
1246efeb
CW
252992010-06-29 Colin Watson <cjwatson@ubuntu.com>
25300
25301 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25302 to avoid accidents when debugging with 'sh -x'.
25303 * util/grub-mkrescue.in: Likewise.
25304 * util/grub.d/00_header.in: Likewise.
25305 * util/grub.d/10_hurd.in: Likewise.
25306 * util/grub.d/10_kfreebsd.in: Likewise.
25307 * util/grub.d/10_linux.in: Likewise.
25308 * util/grub.d/10_netbsd.in: Likewise.
25309 * util/grub.d/10_windows.in: Likewise.
25310 * util/grub.d/20_linux_xen.in: Likewise.
25311 * util/grub.d/30_os-prober.in: Likewise.
25312 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25313
1ba9b889
CW
253142010-06-29 Colin Watson <cjwatson@ubuntu.com>
25315
25316 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25317 last character in the buffer.
25318 Reported by: Vladimir Serbinenko.
25319
dccaf99d
RM
253202010-06-29 Robert Millan <rmh@gnu.org>
25321
25322 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25323 (Command-line and menu entry commands): Document `badram' command.
25324
d500ed12
RM
253252010-06-28 Robert Millan <rmh@gnu.org>
25326
25327 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25328 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25329 command using ${GRUB_BADRAM} as parameter.
25330
20bc84a6
CW
253312010-06-28 Colin Watson <cjwatson@ubuntu.com>
25332
25333 * docs/grub.texi (Device map): New section.
25334 (Themes): New section (stub).
25335 * Makefile.in (docs/grub.info): The info documentation now builds
25336 without errors. Make sure it stays that way.
25337
4045dee1
VS
253382010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25339
25340 Use normal parser for menu entries.
25341 Reported by: Thomas Frauendorfer
25342
25343 * include/grub/parser.h (grub_parser_execute): Don't export.
25344 * normal/menu.c (grub_menu_execute_entry_real): New function.
25345 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25346
bca58c7b
CW
253472010-06-28 Colin Watson <cjwatson@ubuntu.com>
25348
25349 * docs/grub.texi (Embedded configuration): New section (replacing
25350 old "Preset Menu" stub).
25351 (Images): New section.
25352 (configfile): Note that any menu entries defined in `file' are shown
25353 immediately.
25354
dec53e63
JT
253552010-06-28 Josh Triplett <josh@joshtriplett.org>
25356
25357 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25358
c06e40f7
CW
253592010-06-28 Colin Watson <cjwatson@ubuntu.com>
25360
25361 * util/grub-install.in: Add --debug-image= option.
25362
cb88052b
CW
253632010-06-28 Colin Watson <cjwatson@ubuntu.com>
25364
25365 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25366 possible on Linux.
25367
25368 * util/deviceiter.c (check_device): Rename to ...
25369 (check_device_readable_unique): ... this. Update all callers.
25370 Maintain and check a list of which devices (by canonicalized name)
25371 have already been seen.
25372 (clear_seen_devices): New function.
25373 (compare_file_names) [__linux__]: New function.
25374 (grub_util_iterate_devices): Clear the list of seen devices on exit
25375 and (just in case) on entry.
25376 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25377 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25378 seen-devices list, superseded by general code in check_device.
25379
bbe34652
CW
253802010-06-28 Colin Watson <cjwatson@ubuntu.com>
25381
25382 * commands/cat.c (options): New variable.
25383 (grub_cmd_cat): Parse options. If the --dos option is given, print
25384 DOS-style "\r\n" line endings as simple newlines (Debian bug
25385 #586358).
25386 (GRUB_MOD_INIT): Use extcmd.
25387 (GRUB_MOD_FINI): Likewise.
25388 * docs/grub.texi (cat): Document --dos.
25389
412e09f3
VS
253902010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25391
25392 XEN with Linux grub-mkconfig support.
25393
25394 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25395 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25396 GRUB_CMDLINE_XEN_DEFAULT.
25397 * util/grub.d/20_linux_xen.in: New file.
25398
53f3ef38 253992010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25400
25401 Initialise VGA video on qemu ourselves.
25402
25403 * boot/i386/qemu/boot.S: Don't call 0xc000.
25404 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25405 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25406 (kernel_img_HEADERS): Add pci.h.
25407 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25408 * configure.ac: Force unifont on qemu and yeeloong.
25409 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25410 (grub_vga_palette_write): Use correct register.
25411 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25412 Call grub_qemu_init_cirrus.
25413 * kern/i386/qemu/init.c: New file.
25414 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25415
25416 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25417
c75be4fb
PR
254182010-06-26 Pavel Roskin <proski@gnu.org>
25419
25420 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25421 13.
25422
d8034603
CW
254232010-06-26 Colin Watson <cjwatson@ubuntu.com>
25424
25425 * docs/grub.texi (Simple configuration): Explain that
25426 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25427 set to `true' to disable their respective recovery entries, not
25428 merely set.
25429
3fa06487
CW
254302010-06-26 Colin Watson <cjwatson@ubuntu.com>
25431
25432 Make the `source' command slightly faster.
25433
25434 * normal/main.c (grub_normal_execute): Don't re-read list files when
25435 nested.
25436
e9b29642
CW
254372010-06-23 Colin Watson <cjwatson@ubuntu.com>
25438
25439 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25440 field position and mask size to red fields from mode_info, not
25441 green.
25442 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25443 Remove redundant tag->common.framebuffer_type assignment.
25444 Reported by: Seth Goldberg.
25445
e726542f
CW
254462010-06-23 Colin Watson <cjwatson@ubuntu.com>
25447
25448 Sync up other versions of the Linux loader with Robert Millan's
25449 change of 2010-01-09, "Make loader output a bit more user-friendly".
25450
25451 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25452 grub_dprintf().
25453 (grub_cmd_linux): Likewise.
25454 (grub_cmd_initrd): Likewise.
25455 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25456 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25457
d6e98a17
CW
254582010-06-21 Colin Watson <cjwatson@ubuntu.com>
25459
25460 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25461 larger than MEMORY_MAP_SIZE.
25462
14d3f08e
BC
254632010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25464
25465 Fix parallel build.
25466
25467 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25468 dependency.
25469 * script/parser.y: #include grub_script.tab.h header.
25470
4f9613a3
VS
254712010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25472
25473 Support >3GiB and <16MiB RAM in i386-qemu.
25474
25475 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25476 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25477 (grub_lower_mem): Removed.
25478 (grub_upper_mem): Likewise.
25479 (mem_size): Made static.
25480 (above_4g): New variable.
25481 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25482 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25483 support.
25484
05e51879
VS
254852010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25486
25487 Cirrus 5446 and Bochs video cards support.
25488
25489 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25490 video_bochs.mod
25491 (video_cirrus_mod_SOURCES): New variable.
25492 (video_cirrus_mod_CFLAGS): Likewise.
25493 (video_cirrus_mod_LDFLAGS): Likewise.
25494 (video_bochs_mod_SOURCES): Likewise.
25495 (video_bochs_mod_CFLAGS): Likewise.
25496 (video_bochs_mod_LDFLAGS): Likewise.
25497 * include/grub/vga.h: New file.
25498 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25499 (grub_video_fb_set_page_t): New type.
25500 (grub_video_fb_setup): New prototype.
25501 (grub_video_fb_swap_buffers): Likewise.
25502 (grub_video_fb_get_info_and_fini): Likewise.
25503 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25504 (CRTC_DATA_PORT): Likewise.
25505 (CRTC_CURSOR): Likewise.
25506 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25507 (CRTC_CURSOR_ADDR_LOW): Likewise.
25508 (CRTC_CURSOR_DISABLE): Likewise.
25509 (update_cursor): Use grub_vga_cr_write.
25510 (grub_vga_text_setcursor): Likewise.
25511 * video/bochs.c: New file.
25512 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25513 (palette): Likewise.
25514 (palette_size): Likewise.
25515 (framebuffer): New variable.
25516 (grub_video_fb_init): Use 'framebuffer'.
25517 (grub_video_fb_fini): Likewise.
25518 (grub_video_fb_get_info): Likewise.
25519 (grub_video_fb_get_palette): Likewise.
25520 (grub_video_fb_set_palette): Likewise.
25521 (grub_video_fb_set_viewport): Likewise.
25522 (grub_video_fb_get_viewport): Likewise.
25523 (grub_video_fb_map_color): Likewise.
25524 (grub_video_fb_map_rgb): Likewise.
25525 (grub_video_fb_map_rgba): Likewise.
25526 (grub_video_fb_unmap_color): Likewise.
25527 (grub_video_fb_unmap_color_int): Likewise.
25528 (grub_video_fb_fill_rect): Likewise.
25529 (grub_video_fb_blit_bitmap): Likewise.
25530 (grub_video_fb_blit_render_target): Likewise.
25531 (grub_video_fb_scroll): Likewise.
25532 (grub_video_fb_create_render_target): Likewise.
25533 (grub_video_fb_doublebuf_blit_init): Likewise.
25534 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25535 (doublebuf_pageflipping_update_screen): New function.
25536 (doublebuf_pageflipping_init): Likewise.
25537 (grub_video_fb_setup): Likewise.
25538 (grub_video_fb_swap_buffers): Likewise.
25539 (grub_video_fb_get_info_and_fini): Likewise.
25540 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25541 All users updated.
25542 (doublebuf_pageflipping_commit): Restructured into ...
25543 (doublebuf_pageflipping_set_page): ... this.
25544 (doublebuf_pageflipping_update_screen): Removed.
25545 (doublebuf_pageflipping_init): Likewise.
25546 (double_buffering_init): Likewise.
25547 (grub_video_vbe_setup): Use grub_video_fb_setup.
25548 (grub_video_vbe_swap_buffers): Removed.
25549 (grub_video_vbe_set_active_render_target): Likewise.
25550 (grub_video_vbe_get_active_render_target): Likewise.
25551 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25552 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25553 grub_video_fb_set_active_render_target and
25554 grub_video_fb_get_active_render_target.
25555 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25556 (SEQUENCER_DATA_PORT): Likewise.
25557 (MAP_MASK_REGISTER): Likewise.
25558 (CRTC_ADDR_PORT): Likewise.
25559 (CRTC_DATA_PORT): Likewise.
25560 (START_ADDR_HIGH_REGISTER): Likewise.
25561 (START_ADDR_LOW_REGISTER): Likewise.
25562 (GRAPHICS_ADDR_PORT): Likewise.
25563 (GRAPHICS_DATA_PORT): Likewise.
25564 (READ_MAP_REGISTER): Likewise.
25565 (INPUT_STATUS1_REGISTER): Likewise.
25566 (INPUT_STATUS1_VERTR_BIT): Likewise.
25567 (get_map_mask): Use grub_vga_sr_read.
25568 (set_map_mask): Use grub_vga_sr_write.
25569 (set_read_map): Use grub_vga_gr_write.
25570 (set_start_address): Use grub_vga_cr_write.
25571 * video/sm712.c (framebuffer): Remove leftover fields.
25572
4321c64a
CW
255732010-06-20 Colin Watson <cjwatson@ubuntu.com>
25574
25575 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25576 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25577 instead. Replace the gfxterm backend check with a check that
25578 ${GRUB_PREFIX}/video.lst is non-empty.
25579 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25580 again.
25581 (load_video): New generated function. Call it before loading
25582 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25583 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25584 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25585 * docs/grub.texi (Simple configuration): Document
25586 GRUB_VIDEO_BACKEND.
25587
255882010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25589
25590 Use video functions in linux and xnu loaders.
25591
25592 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25593 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25594 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25595 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25596 loader/i386/pc/linux.c.
25597 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25598 (find_line_len): Removed.
25599 (find_framebuf): Likewise.
25600 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25601 * loader/i386/efi/xnu.c: Removed.
25602 * loader/i386/pc/xnu.c: Moved from here...
25603 * loader/i386/xnu.c: ...here.
25604
25605 Enable priorities in video drivers.
25606
25607 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25608 (grub_video_adapter): New field prio.
25609 (grub_video_register): Respect prio when inserting.
25610 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25611 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25612 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25613 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25614 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25615 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25616 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25617
25618 Fix SDL driver ID.
25619
25620 * include/grub/video.h (grub_video_driver_id_t): New value
25621 GRUB_VIDEO_DRIVER_SDL.
25622 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25623
7d24e434
CW
256242010-06-17 Colin Watson <cjwatson@ubuntu.com>
25625
25626 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25627 argument to printf.
25628 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25629
c88a83f6
CW
256302010-06-17 Colin Watson <cjwatson@ubuntu.com>
25631
25632 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25633 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25634
094dfb69
CW
256352010-06-17 Colin Watson <cjwatson@ubuntu.com>
25636
25637 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25638 directly, and recommend grub-install instead.
25639 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25640
2164da6b
CW
256412010-06-17 Colin Watson <cjwatson@ubuntu.com>
25642
25643 Fix i386-pc prefix handling with nested partitions (Debian bug
25644 #585068). Note that the case where the core image is booted using
25645 multiboot and relocated from its original location still requires
25646 more work.
25647
25648 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25649 with "(,", fill the boot drive in between those two characters, but
25650 expect that a full partition specification including partition map
25651 names will follow.
25652 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25653 specified, write a prefix without the drive name but including a
25654 full partition specification.
25655
044e2e60
CW
256562010-06-16 Colin Watson <cjwatson@ubuntu.com>
25657
25658 * util/grub-mkconfig.in: Ignore non-option arguments, for
25659 compatibility with older versions (before 2010-06-12) which did the
25660 same. In particular, this makes it easier to ship an update-grub
25661 wrapper which is compatible with that used with GRUB Legacy (Debian
25662 bug #586056).
25663
5591324f
GS
256642010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25665
25666 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25667 for manual page generation.
25668
662e24d5
GS
256692010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25670
25671 * po/POTFILES: Remove leftover commands/handler.c.
25672
8d70754e
CW
256732010-06-14 Colin Watson <cjwatson@ubuntu.com>
25674
25675 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25676 left this script non-functional.
25677
41160e2e
CW
256782010-06-14 Colin Watson <cjwatson@ubuntu.com>
25679
25680 * docs/man/grub-emu.h2m: New file.
25681
b5309cc1
CW
256822010-06-13 Colin Watson <cjwatson@ubuntu.com>
25683
25684 * docs/grub.texi (Commands): Document reduced command set in rescue
25685 mode.
25686 (cpuid): New section.
25687
fcb2d090
GS
256882010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25689
25690 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25691 new partition naming style.
25692 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25693
96e5c556
BC
256942010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25695
25696 Add "-o grub.iso" like cmdline options support.
25697
25698 * util/grub-install.in: Improve cmdline option parsing.
25699 * util/grub-mkconfig.in: Likewise.
25700 * util/grub-mkrescue.in: Likewise.
25701 * util/grub-reboot.in: Likewise.
25702 * util/grub-set-default.in: Likewise.
25703 * util/i386/efi/grub-install.in: Likewise.
25704 * util/ieee1275/grub-install.in: Likewise.
25705 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25706
c16be99b
CW
257072010-06-12 Colin Watson <cjwatson@ubuntu.com>
25708
25709 * .bzrignore: Ignore 41_custom.
25710
ce08a9fb
TS
257112010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25712
25713 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25714
7beac90c
CW
257152010-06-12 Colin Watson <cjwatson@ubuntu.com>
25716
25717 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25718 prototype declarations.
25719
25720 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25721 generating fs, partmap, and video lists.
25722 * include/grub/fs.h (grub_fs_register): Omit prototype if
25723 GRUB_LST_GENERATOR is defined.
25724 * include/grub/partition.h (grub_partition_map_register): Likewise.
25725 * include/grub/video.h (grub_video_register): Likewise.
25726
1c8f0f8d
JM
257272010-06-12 Javier Martín <lordhabbit@gmail.com>
25728
25729 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25730
a6085973
TS
257312010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25732
25733 * util/grub-mkrescue.in: Support --xorriso argument.
25734
25c56d29
VS
257352010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25736
25737 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25738 Suggested by: Thomas Schmitt.
25739
e03e4b24
VS
257402010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25741
25742 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25743 Suggested by: Thomas Schmitt.
25744
57711df6
VS
257452010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25746
25747 custom.cfg support.
25748
25749 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25750 * util/grub.d/41_custom.in: New file.
25751
ee62c427
CW
257522010-06-12 Colin Watson <cjwatson@ubuntu.com>
25753
25754 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25755 been merged back into normal.
25756
283af07a
CW
257572010-06-11 Colin Watson <cjwatson@ubuntu.com>
25758
25759 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25760 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25761
56a0d956
CW
257622010-06-11 Colin Watson <cjwatson@ubuntu.com>
25763
25764 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25765 when generating manual pages.
25766 * docs/man/grub-bin2h.h2m: New file.
25767 * docs/man/grub-editenv.h2m: New file.
25768 * docs/man/grub-fstest.h2m: New file.
25769 * docs/man/grub-install.h2m: New file.
25770 * docs/man/grub-macho2img.h2m: New file.
25771 * docs/man/grub-mkconfig.h2m: New file.
25772 * docs/man/grub-mkdevicemap.h2m: New file.
25773 * docs/man/grub-mkfont.h2m: New file.
25774 * docs/man/grub-mkimage.h2m: New file.
25775 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25776 * docs/man/grub-mkrelpath.h2m: New file.
25777 * docs/man/grub-mkrescue.h2m: New file.
25778 * docs/man/grub-ofpathname.h2m: New file.
25779 * docs/man/grub-pe2elf.h2m: New file.
25780 * docs/man/grub-probe.h2m: New file.
25781 * docs/man/grub-reboot.h2m: New file.
25782 * docs/man/grub-script-check.h2m: New file.
25783 * docs/man/grub-set-default.h2m: New file.
25784 * docs/man/grub-setup.h2m: New file.
25785
3a37e322
VS
257862010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25787
25788 Use FOR_* macros instead of *_iterate whenever possible.
25789
25790 * commands/handler.c: Removed.
25791 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25792 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25793 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25794 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25795 (grub_probe_SOURCES): Remove kern/parser.c.
25796 (util/grub-script-check.c_DEPENDENCIES): Removed.
25797 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25798 and grub_script_check_init.c.
25799 (grub_script_check_init.lst): Removed.
25800 (grub_script_check_init.h): Likewise.
25801 (grub_script_check_init.c): Likewise.
25802 (pkglib_MODULES): Remove handler.mod and sh.mod.
25803 (handler_mod_SOURCES): Removed.
25804 (handler_mod_CFLAGS): Likewise.
25805 (handler_mod_LDFLAGS): Likewise.
25806 (normal_mod_SOURCES): Remove normal/handler.c.
25807 Add script/main.c, script/script.c, script/execute.c,
25808 script/function.c, script/lexer.c, grub_script.tab.c
25809 and grub_script.yy.c.
25810 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25811 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25812 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25813 (grub_setup_SOURCES): Remove kern/parser.c.
25814 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25815 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25816 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25817 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25818 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25819 (grub_setup_SOURCES): Remove kern/parser.c.
25820 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25821 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25822 * include/grub/command.h (grub_command_iterate): Removed.
25823 (FOR_COMMANDS): New macro.
25824 * include/grub/dl.h (grub_dl): New member next.
25825 (grub_dl_iterate): Removed.
25826 (grub_dl_head): New variable declaration.
25827 (FOR_DL_MODULES): New macro.
25828 * include/grub/fs.h: Include list.h.
25829 (grub_fs): Make next first element.
25830 (grub_fs_list): New variable declaration.
25831 (grub_fs_register): Make inline.
25832 (grub_fs_unregister): Likewise.
25833 (grub_fs_iterate): Removed.
25834 (FOR_FILESYSTEMS): New macro.
25835 * include/grub/handler.h: Removed.
25836 * include/grub/list.h (grub_list_hook_t): Removed.
25837 (grub_list_test_t): Likewise.
25838 (grub_list_pop): Likewise.
25839 (grub_list_iterate): Likewise.
25840 (grub_list_insert): Likewise.
25841 (FOR_LIST_ELEMENTS): New macro.
25842 * include/grub/parser.h (grub_parser_class): Removed.
25843 (grub_parser_register): Likewise.
25844 (grub_parser_unregister): Likewise.
25845 (grub_parser_get_current): Likewise.
25846 (grub_parser_set_current): Likewise.
25847 (grub_register_rescue_parser): Likewise.
25848 (grub_rescue_parse_line): New function.
25849 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25850 * include/grub/script_sh.h (grub_script_function_list): New variable
25851 declaration.
25852 (FOR_SCRIPT_FUNCTIONS): New macro.
25853 (grub_script_function_iterate): Removed.
25854 (grub_normal_parse_line): New prototype.
25855 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25856 (FOR_DISABLED_TERM_INPUTS): Likewise.
25857 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25858 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25859 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25860 element.
25861 (grub_video_register): Inline.
25862 (grub_video_unregister): Likewise.
25863 (grub_video_adapter_list): New variable declaration.
25864 (grub_video_iterate): Removed.
25865 (FOR_VIDEO_ADAPTERS): New macro.
25866 * kern/dl.c (grub_dl_list): Removed. All users updated.
25867 (grub_dl_iterate): Removed.
25868 * kern/fs.c (grub_fs_list): Make global.
25869 (grub_fs_register): Removed.
25870 (grub_fs_unregister): Likewise.
25871 (grub_fs_iterate): Likewise.
25872 * kern/handler.c: Removed.
25873 * kern/list.c (grub_list_pop): Removed.
25874 (grub_list_iterate): Likewise.
25875 (grub_list_insert): Likewise.
25876 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25877 (grub_prio_list_insert): Don't use grub_list_insert.
25878 * kern/main.c (grub_register_rescue_parser): Don't call
25879 grub_register_rescue_parser.
25880 * kern/parser.c (grub_parser_class): Removed.
25881 (grub_parser_execute): Use grub_rescue_parse_line.
25882 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25883 (grub_rescue_parser): Removed.
25884 (grub_register_rescue_parser): Likewise.
25885 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25886 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25887 (grub_auth_check_authentication): Likewise.
25888 * normal/completion.c (iterate_command): Removed.
25889 (grub_normal_do_completion): Use FOR_COMMANDS.
25890 * normal/handler.c: Removed.
25891 * normal/main.c (read_config_file): Remove parser changing.
25892 (grub_normal_execute): Don't call read_handler_list.
25893 (grub_normal_read_line_real): Statically allocate prompt.
25894 (grub_cmdline_run): Use grub_normal_parse_line.
25895 (GRUB_MOD_FINI): Don't call free_handler_list.
25896 * normal/menu_entry.c (run): Likewise.
25897 * script/function.c (grub_script_function_list): Make global.
25898 (grub_script_function_iterate): Removed.
25899 * script/main.c (grub_normal_parse_line): Make global.
25900 (grub_sh_parser): Removed.
25901 (GRUB_MOD_INIT): Likewise.
25902 (GRUB_MOD_FINI): Likewise.
25903 * tests/lib/functional_test.c (grub_functional_test): Use
25904 FOR_LIST_ELEMENTS.
25905 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25906 (grub_test_run): Use FOR_LIST_ELEMENTS.
25907 * tests/lib/unit_test.c (main): Likewise.
25908 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25909 grub_list_pop.
25910 * util/grub-fstest.c (grub_term_input_class): Removed.
25911 (grub_term_output_class): Likewise.
25912 * util/grub-probe.c: Likewise.
25913 * util/i386/pc/grub-setup.c: Likewise.
25914 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25915 * util/grub-script-check.c (main): Don't call grub_init_all and
25916 grub_fini_all.
25917 * video/video.c (grub_video_adapter_list): Make global.
25918 (grub_video_register): Removed.
25919 (grub_video_unregister): Likewise.
25920 (grub_video_iterate): Likewise.
25921
6289c3a7
VS
259222010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25923
25924 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25925 reported by Henrique Ferreiro.
25926
91460247
RM
259272010-06-09 Robert Millan <rmh@gnu.org>
25928
25929 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25930 ones, when both are available.
25931
0ea7c4f9
GS
259322010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25933
25934 Make --version uniform and avoid hard-coded program name.
25935
25936 * util/grub-mkimage.c (main): Use `program_name' instead of
25937 hard-coded string.
25938 * util/i386/pc/grub-setup.c (main): Likewise.
25939 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25940 * util/grub-install.in: Save the basename of $0 in $self, and use the
25941 latter in informational messages. Use the same format for --version
25942 as the binary programs.
25943 * util/grub-mkconfig.in: Likewise.
25944 * util/grub-mkrescue.in: Likewise.
25945 * util/grub-reboot.in: Likewise.
25946 * util/grub-set-default.in: Likewise.
25947 * util/i386/efi/grub-install.in: Likewise.
25948 * util/ieee1275/grub-install.in: Likewise.
25949 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25950
e8a6f3b6
GS
259512010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25952
25953 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25954 embedding area. Use <= instead of == when checking for non-emptiness.
25955
f4d095d7
GS
259562010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25957
25958 * configure.ac: Add `.' to the directories searched for unifont.
25959
50e532ca
CW
259602010-06-08 Colin Watson <cjwatson@ubuntu.com>
25961
25962 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25963 grub_script.yy.h.
25964
d39f3dec
CW
259652010-06-08 Colin Watson <cjwatson@ubuntu.com>
25966
25967 * docs/grub.texi (History): Expand to cover GRUB 2.
25968 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25969 commands, not `terminal'.
25970 (serial): Likewise.
25971 (terminal_input): New section.
25972 (terminal_output): New section.
25973 (uppermem): New section (stub).
25974 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25975
6ef0ddb4
CW
259762010-06-08 Colin Watson <cjwatson@ubuntu.com>
25977
25978 * docs/grub.texi (Security): Menu entries are unrestricted by
25979 default, not restricted to superusers as I had previously thought.
25980 Reword to account for this.
25981
e0f4c438
CW
259822010-06-07 Colin Watson <cjwatson@ubuntu.com>
25983
25984 * kern/emu/misc.c (device_mapper_null_log): New function.
25985 (grub_device_mapper_supported): New function.
25986 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25987 prototype.
25988 * kern/emu/hostdisk.c (find_partition_start): Check whether
25989 device-mapper is supported before trying to use it.
25990 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25991
da908200
CW
259922010-06-07 Colin Watson <cjwatson@ubuntu.com>
25993
25994 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25995 (File name syntax): Likewise.
25996 (help): --all is no longer supported in GRUB 2. Be more precise
25997 about pattern matching.
25998
fb55c3ac
CW
259992010-06-07 Colin Watson <cjwatson@ubuntu.com>
26000
26001 * normal/completion.c (grub_normal_do_completion): When completing
26002 arguments to "set" and the current word contains an equals sign,
26003 skip to after the equals sign before starting completion.
26004
258c2573
CW
260052010-06-07 Colin Watson <cjwatson@ubuntu.com>
26006
26007 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
26008
ee75515e
CW
260092010-06-07 Colin Watson <cjwatson@ubuntu.com>
26010
26011 * docs/grub.texi (Network): New section.
26012 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
26013 `(nd)' as in GRUB Legacy.
26014 (pxe_unload): New section.
26015
a6a700aa
CW
260162010-06-07 Colin Watson <cjwatson@ubuntu.com>
26017
26018 * docs/grub.texi (Troubleshooting): `echo' is not usually available
26019 in the rescue shell, so recommend using `set' instead. Thanks,
26020 Jordan Uggla.
26021
4003dd38
CW
260222010-06-07 Colin Watson <cjwatson@ubuntu.com>
26023
26024 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
26025 (password): New section.
26026 (password_pbkdf2): New section.
26027 (search): New section.
26028 (Security): New section.
26029 (Troubleshooting): New section, currently very incomplete.
26030 (Invoking grub-mkpasswd-pbkdf2): New section.
26031 (Internals): New section, currently very incomplete.
26032
e1cbcc40
CW
260332010-06-07 Colin Watson <cjwatson@ubuntu.com>
26034
26035 * util/grub.d/00_header.in: Add some more quoting (of
26036 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26037 work again.
26038 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26039
db8fa1ad
CW
260402010-06-07 Colin Watson <cjwatson@ubuntu.com>
26041
26042 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26043 to `count', fixing variable shadowing that broke the -c option.
26044
260452010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
26046
26047 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26048 in case they contain spaces.
26049
f28a9212
CW
260502010-06-04 Colin Watson <cjwatson@ubuntu.com>
26051
26052 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26053 "part_" to partmap module names, in line with grub-install.
26054 Reported by: Jindřich Makovička (Debian bug #584426).
26055
9cdfe32f
CW
260562010-06-04 Colin Watson <cjwatson@ubuntu.com>
26057
26058 * util/grub-mkimage.c: Make target-related error messages slightly
26059 more helpful; -O talks about "format". Explicitly point to the use
26060 of -O if no target is specified.
26061 Reported by: Didier Raboud (Debian bug #584415).
26062
795b593a
CW
260632010-06-03 Colin Watson <cjwatson@ubuntu.com>
26064
26065 * INSTALL: Document several build requirements for optional features
26066 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26067
9d9b5833
GS
260682010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26069
26070 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26071 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26072 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26073
0819fec8
CW
260742010-06-02 Colin Watson <cjwatson@ubuntu.com>
26075
26076 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26077 Thanks to Jordan Uggla for spotting this.
26078
49396b4f
VS
260792010-06-02 Aleš Nesrsta <starous@volny.cz>
26080
26081 Finally make USB usable.
26082
26083 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26084 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26085 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26086 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26087 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26088 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26089 (GRUB_OHCI_FSMPS): Likewise.
26090 (GRUB_OHCI_PERIODIC_START): Likewise.
26091 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26092 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26093 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26094 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26095 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26096 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26097 (grub_ohci_transaction): Likewise.
26098 (grub_ohci_transfer): Improve condition detection algorithms.
26099 Handle toggle property. Program the transactions correctly.
26100 Improve error handling. Various important fixups.
26101 (grub_ohci_portstatus): Put register writes in right order.
26102 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26103 (grub_uhci_transfer): Don't show "failed" message on success.
26104 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26105 array.
26106 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26107 determine its size.
26108 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26109 before initialization is completed. Use IN direction for empty
26110 transfers. Use last_trans and compute toggle.
26111 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26112 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26113 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26114 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26115 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26116 (grub_usb_device): Increase toggle to 256.
26117 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26118 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26119 GRUB_USBMS_SUBCLASS_SFF8070.
26120 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26121 (grub_scsi_inquiry): New member page and alloc_length.
26122 (grub_scsi_request_sense): New structure.
26123 (grub_scsi_request_sense_data): Likewise.
26124 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26125 control.
26126 * disk/scsi.c (grub_scsi_request_sense): New function.
26127 (grub_scsi_test_unit_ready): Likewise.
26128 (grub_scsi_inquiry): Fill new fields.
26129 (grub_scsi_read_capacity): Likewise.
26130 (grub_scsi_read10): Add request sense at the end.
26131 (grub_scsi_read12): Likewise.
26132 (grub_scsi_write10): Likewise.
26133 (grub_scsi_write12): Likewise.
26134 (grub_scsi_open): Add Test Unit Ready.
26135 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26136 Support additional subclasses. Con't clear halt yet. Activate the
26137 proper config. Calculate LUNs correctly.
26138 (grub_usbms_transfer): Various important fixups.
26139
261402010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26143 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26144 (grub_ohci_fini_hw): New function.
26145 (grub_ohci_restore_hw): Likewise.
26146 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26147 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26148 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26149
261502010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26151
26152 Dedicated DMA allocations.
26153
26154 * bus/pci.c (grub_memalign_dma32): New function
26155 (grub_dma_free): Likewise.
26156 (grub_dma_get_virt): Likewise.
26157 (grub_dma_get_phys): Likewise.
26158 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26159 (grub_ohci_pci_iter): Use dma32_alloc.
26160 (grub_ohci_transfer): Likewise.
26161 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26162 (grub_usb_bulk_readwrite): Likewise.
26163 * include/grub/pci.h: Add declarations.
26164
261652010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 CS5536 support.
26168
26169 * bus/cs5536.c: New file.
26170 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26171 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26172 (cs5536_mod_SOURCES): New variable.
26173 (cs5536_mod_CFLAGS): Likewise.
26174 (cs5536_mod_LDFLAGS): Likewise.
26175 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26176 machine/pci.h.
26177 (kernel_img_SOURCES): Add bus/cs5536.c.
26178 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26179 usb_keyboard.mod.
26180 (usb_mod_SOURCES): New variable.
26181 (usb_mod_CFLAGS): New variable.
26182 (usb_mod_LDFLAGS): New variable.
26183 (usbtest_mod_SOURCES): New variable.
26184 (usbtest_mod_CFLAGS): New variable.
26185 (usbtest_mod_LDFLAGS): New variable.
26186 (ohci_mod_SOURCES): New variable.
26187 (ohci_mod_CFLAGS): New variable.
26188 (ohci_mod_LDFLAGS): New variable.
26189 (usbms_mod_SOURCES): New variable.
26190 (usbms_mod_CFLAGS): New variable.
26191 (usbms_mod_LDFLAGS): New variable.
26192 (usb_keyboard_mod_SOURCES): New variable.
26193 (usb_keyboard_mod_CFLAGS): New variable.
26194 (usb_keyboard_mod_LDFLAGS): New variable.
26195 * include/grub/smbus.h: New file.
26196 * include/grub/cs5536.h: New file.
26197
0b35b2a9
CW
261982010-06-02 Colin Watson <cjwatson@ubuntu.com>
26199
26200 * util/grub.d/00_header.in: Add safety check to make sure that
26201 ${locale_dir} exists before trying to probe it.
26202
ca0afd5b
CW
262032010-06-02 Colin Watson <cjwatson@ubuntu.com>
26204
26205 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26206 per the GNU Coding Standards; this is now too obscure to be worth
26207 documenting.
26208 (QNX): Likewise.
26209 (chainloader): Remove cross-reference to `SCO UnixWare'.
26210
1c41aa78
CW
262112010-06-02 Colin Watson <cjwatson@ubuntu.com>
26212
26213 * docs/grub.texi (Chain-loading): New section.
26214 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26215 adjusted for GRUB 2.
26216 (SCO UnixWare): Likewise.
26217 (QNX): Likewise.
26218 (chainloader): Add reference to `Block list syntax'.
26219 (drivemap): New section.
26220 (parttool): New section.
26221
bb8ea0f5
CW
262222010-06-02 Colin Watson <cjwatson@ubuntu.com>
26223
26224 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26225 the grub shell'.
26226 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26227 (Installing GRUB using grub-install): Remove reference to the grub
26228 shell; mention `grub-mkimage' and `grub-setup' instead.
26229 (Invoking grub-install): Likewise.
26230 (Interface): Add reference to `Menu entry editor'.
26231 (serial): Remove `--device' option.
26232
288dd6ed
CW
262332010-06-02 Colin Watson <cjwatson@ubuntu.com>
26234
26235 * docs/grub.texi (Configuration): New section, documenting
26236 configuration file generation using grub-mkconfig. I've left a slot
26237 for documenting the full shell scripting format but have not yet
26238 started on writing that up.
26239 (Invoking grub-mkconfig): New section.
26240
34c9f0e9
CW
262412010-06-02 Colin Watson <cjwatson@ubuntu.com>
26242
26243 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26244 (GNU GRUB manual): Likewise.
26245 (General commands): Update description of `terminfo' for GRUB 2.
26246
9121567e
CW
262472010-06-02 Colin Watson <cjwatson@ubuntu.com>
26248
26249 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26250 (GRUB_MOD_INIT): Fix capitalisation.
26251 * docs/grub.texi (Command-line and menu entry commands): Document
26252 gettext and gptsync commands.
26253
ab631611
CW
262542010-06-02 Colin Watson <cjwatson@ubuntu.com>
26255
26256 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26257 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26258
bde4a9ac
CW
262592010-06-01 Colin Watson <cjwatson@ubuntu.com>
26260
26261 Add btrfs probing support, currently only in the single-device case.
26262
26263 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26264 function.
26265 (grub_guess_root_device): Call find_root_device_from_mountinfo
26266 before looking in /dev.
26267
b1d17e10
VS
262682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26269
26270 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26271 GRUB_DISK_SIZE_UNKNOWN.
26272 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26273
dfbfe004
JS
262742010-05-31 Jiro SEKIBA <jir@unicus.jp>
26275
26276 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26277 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26278 corrupted or not synced properly.
26279
c2ffc8e9
VS
262802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26281
26282 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26283 Reported by: Seth Goldberg.
26284
56293166
VS
262852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26286
26287 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26288 addition of dest.
26289 Reported by: Seth Goldberg.
26290
7620e7de
VS
262912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26292
26293 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26294 Reported by: Seth Goldberg.
26295
c837af3f
VS
262962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26297
26298 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26299 64-bit address as signed on MIPS.
26300
c7c75cf4
CW
263012010-05-28 Colin Watson <cjwatson@ubuntu.com>
26302
26303 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26304 to the empty string.
26305
fa4b8490
BC
263062010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26307
26308 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26309
26310 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26311 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26312 * kern/misc.c (__enable_execute_stack): Disable on
26313 GRUB_MACHINE_EMU.
26314
a33075b9
CW
263152010-05-28 Colin Watson <cjwatson@ubuntu.com>
26316
26317 Make grub-probe work with symbolic links under /dev/mapper as well
26318 as with real block devices. The Linux world seems to be (at best)
26319 in transition here, and GRUB shouldn't get caught in the middle.
26320
26321 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26322 /dev/mapper.
26323
d8708134
CW
263242010-05-27 Colin Watson <cjwatson@ubuntu.com>
26325
26326 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26327 input files (in which case exit zero).
26328
db2102a0
CW
263292010-05-27 Colin Watson <cjwatson@ubuntu.com>
26330
26331 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26332 return NULL for various reasons even if it has a maximum-length
26333 buffer: for example, there might be a symlink loop, or the path
26334 might exceed PATH_MAX. If this happens, return NULL.
26335
5fdba519
RM
263362010-05-27 Robert Millan <rmh@gnu.org>
26337
26338 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26339 partmap module to handle cross-partmap setups.
26340 Reported by Orestes Mas. Gràcies!
26341
d1d368e4
CW
263422010-05-27 Colin Watson <cjwatson@ubuntu.com>
26343
26344 * util/grub-mkrescue.in: Initialise override_dir rather than
26345 assuming that it's unset or empty in the environment.
26346
95ac3c73
GS
263472010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26348
26349 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26350 variable index into p_index to suppress a warning with -Wshadow.
26351
7d8c0213
BC
263522010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26353
26354 * INSTALL: Added flex >= 2.5.35 requirement.
26355
db4d5813
VS
263562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26357
26358 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26359
f24f4300
VS
263602010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26361
26362 cmostest support.
26363
26364 * commands/i386/cmostest.c: New file.
26365 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26366 (cmostest_mod_SOURCES): New variable.
26367 (cmostest_mod_CFLAGS): Likewise.
26368 (cmostest_mod_LDFLAGS): Likewise.
26369 * conf/i386-pc.rmk: Likewise.
26370 * docs/grub.texi (Vendor power-on keys): New section.
26371 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26372 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26373 and GRUB_BUTTON_CMOS_ADDRESS.
26374 * util/grub.d/00_header.in: Handle powering-on by separate button.
26375
ad603f61
VS
263762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26377
26378 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26379 Removed drawing_scrollbar argument. All users updated
26380 Fixes #29792.
26381 Reported by Jo Shields
26382
3ecb080a
VS
263832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26384
26385 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26386 buffer since gfxterm handles double repaint.
26387
5f2316c1
VS
263882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26389
26390 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26391 * term/gfxterm.c (real_scroll): Likewise.
26392
9a25f885
VS
263932010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26394
26395 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26396 before calling BIOS.
26397
39fbb79a
VS
263982010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26399
26400 * include/grub/i18n.h: Always enable grub_gettext.
26401
228cfa97
VS
264022010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26403
26404 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26405 partition naming style.
26406
21717c8f
CW
264072010-05-21 Colin Watson <cjwatson@ubuntu.com>
26408
26409 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26410 not the first option.
26411
c0f48e65
CW
264122010-05-20 Colin Watson <cjwatson@ubuntu.com>
26413
26414 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26415
96779aec
CW
264162010-05-20 Colin Watson <cjwatson@ubuntu.com>
26417
26418 * util/misc.c: Move inclusion of <limits.h> to ...
26419 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26420
fa9d256e
GS
264212010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26422
26423 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26424 Fix merge error in NetBSD code.
26425 (find_partition_start) [__NetBSD__]: Likewise.
26426
123b7a85
BC
264272010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26428
26429 Fix grub-mkrescue usage unit testing.
26430
26431 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26432
74276c0d
CF
264332010-05-18 Christian Franke <franke@computer.org>
26434
26435 * util/grub.d/10_windows.in: Use path names instead of
26436 drive letters to prevent warning from Cygwin 1.7.
26437 Add drivemap command to menuentry if needed.
26438
c4f7b523
ST
264392010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26440
26441 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26442 gnumach and gnumach.gz.
26443
95b97950
VS
264442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26445
26446 * include/grub/i18n.h (gettext): Inline instead of using #define.
26447 (grub_gettext): Likewise.
26448 (_): Likewise.
26449
01b8d2d7
VS
264502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26451
26452 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26453 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26454 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26455 (main): Add a slash after pkglibdirroot.
26456
654e1d1e
VS
264572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26458
26459 * util/grub-install.in: Add missing "in" keyword.
26460
26966aeb
VS
264612010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26462
26463 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26464 Reported by: Seth Goldberg.
26465
75006747
VS
264662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26467
26468 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26469
74cbf5bd
CW
264702010-05-18 Colin Watson <cjwatson@ubuntu.com>
26471
26472 * configure.ac: Check for Linux device-mapper support.
26473
26474 * util/hostdisk.c (device_is_mapped): New function.
26475 (find_partition_start): New function, partly broken out from
26476 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26477 device-mapper support added.
26478 (linux_find_partition): Use find_partition_start.
26479 (convert_system_partition_to_system_disk): Add `st' argument.
26480 Support Linux /dev/mapper/* devices if device-mapper support is
26481 available; only DM-RAID devices are understood at present.
26482 (find_system_device): Add `st' argument. Pass it to
26483 convert_system_partition_to_system_disk.
26484 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26485 find_system_device and convert_system_partition_to_system_disk. Use
26486 find_partition_start.
26487
26488 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26489 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26490 * util/deviceiter.c [__linux__]: Define MINOR.
26491 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26492 * util/mkdevicemap.c (grub_putchar): New function.
26493 (grub_getkey): New function.
26494 (grub_refresh): New function.
26495 (main): Set debug=all if -v -v is used.
26496
355b51e9
CW
264972010-05-18 Colin Watson <cjwatson@ubuntu.com>
26498
26499 Fix build with non-GNU libcs.
26500
26501 * util/misc.c (canonicalize_file_name): Move to ...
26502 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26503 grub_make_system_path_relative_to_its_root.
26504
7fb5c25f
CW
265052010-05-18 Colin Watson <cjwatson@ubuntu.com>
26506
26507 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26508 we handle finding grub-mkimage. Default to finding grub-mkimage in
26509 ${bindir} with program_transform_name applied, and provide a
26510 --grub-mkimage option to override this.
26511
1d3293d6
VS
265122010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26513
26514 Remove grub-mkisofs.
26515
26516 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26517 (grub_mkisofs_SOURCES): Removed.
26518 (grub_mkisofs_CFLAGS): Removed.
26519 * util/mkisofs/defaults.h: Removed.
26520 * util/mkisofs/eltorito.c: Likewise.
26521 * util/mkisofs/exclude.h: Likewise.
26522 * util/mkisofs/hash.c: Likewise.
26523 * util/mkisofs/include/: Likewise.
26524 * util/mkisofs/include/fctldefs.h: Likewise.
26525 * util/mkisofs/include/mconfig.h: Likewise.
26526 * util/mkisofs/include/prototyp.h: Likewise.
26527 * util/mkisofs/include/statdefs.h: Likewise.
26528 * util/mkisofs/iso9660.h: Likewise.
26529 * util/mkisofs/joliet.c: Likewise.
26530 * util/mkisofs/match.c: Likewise.
26531 * util/mkisofs/match.h: Likewise.
26532 * util/mkisofs/mkisofs.c: Likewise.
26533 * util/mkisofs/mkisofs.h: Likewise.
26534 * util/mkisofs/msdos_partition.h: Likewise.
26535 * util/mkisofs/multi.c: Likewise.
26536 * util/mkisofs/name.c: Likewise.
26537 * util/mkisofs/rock.c: Likewise.
26538 * util/mkisofs/tree.c: Likewise.
26539 * util/mkisofs/write.c: Likewise.
26540
5dde9afe
VS
265412010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26542
26543 Unify grub-mkimage accross platforms.
26544
26545 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26546 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26547 (grub_mkelfimage_SOURCES): Removed.
26548 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26549 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26550 (bin_UTILITIES): Add grub-mkimage.
26551 (grub_mkimage_SOURCES): New variable.
26552 (kernel_img_HEADERS): Remove machine/kernel.h.
26553 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26554 (pkglib_PROGRAMS): Add kernel.img.
26555 (kernel_img_HEADERS): Add machine/kernel.h.
26556 (kernel_img_FORMAT): Removed.
26557 (bin_UTILITIES): Remove grub-mkimage.
26558 (grub_mkimage_SOURCES): Removed.
26559 (grub_mkimage_CFLAGS): Likewise.
26560 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26561 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26562 (pkglib_PROGRAMS): Add kernel.img.
26563 (bin_UTILITIES): Remove grub-mkimage.
26564 (grub_mkimage_SOURCES): Removed.
26565 (grub_mkimage_CFLAGS): Likewise.
26566 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26567 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26568 (pkglib_PROGRAMS): Add kernel.img.
26569 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26570 (pkglib_PROGRAMS): Add kernel.img.
26571 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26572 (grub_mkimage_SOURCES): Removed.
26573 (grub_mkimage_CFLAGS): Likewise.
26574 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26575 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26576 (pkglib_PROGRAMS): Add kernel.img.
26577 (bin_UTILITIES): Remove grub-mkimage.
26578 (grub_mkimage_SOURCES): Removed.
26579 (grub_mkimage_CFLAGS): Likewise.
26580 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26581 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26582 (grub_mkimage_SOURCES): Removed.
26583 (grub_mkimage_CFLAGS): Likewise.
26584 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26585 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26586 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26587 (grub_pe32_optional_header): ... this.
26588 (grub_pe64_optional_header): ... and this. All users updated.
26589 (GRUB_PE32_PE32_MAGIC): Split into ..
26590 (GRUB_PE32_PE32_MAGIC): .. this.
26591 (GRUB_PE32_PE64_MAGIC): .. and this.
26592 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26593 * include/grub/elf.h (PT_GNU_STACK): New definition.
26594 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26595 * include/grub/i386/efi/kernel.h: Likewise.
26596 * include/grub/i386/kernel.h: Likewise.
26597 * include/grub/i386/pc/kernel.h: Likewise.
26598 * include/grub/i386/qemu/boot.h: Likewise.
26599 * include/grub/mips/kernel.h: Likewise.
26600 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26601 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26602 * include/grub/powerpc/kernel.h: Likewise.
26603 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26604 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26605 * include/grub/sparc64/kernel.h: Likewise.
26606 * include/grub/x86_64/efi/kernel.h: Likewise.
26607 * include/grub/x86_64/kernel.h: Likewise.
26608 * include/grub/offsets.h: New file.
26609 * include/grub/kernel.h (grub_module_info): Split into ...
26610 (grub_module_info32): ... this.
26611 (grub_module_info64): ... and this.
26612 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26613 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26614 (grub_boot_blocklist): Moved from here ...
26615 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26616 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26617 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26618 * include/grub/types.h (grub_target_to_host16): Removed.
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 (grub_host_to_target_addr): Likewise.
26625
26626 Support grub-mkrescue for efi, coreboot and qemu.
26627
26628 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26629 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26630 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26631 * util/grub-mkrawimage.c: Moved from here ...
26632 * util/grub-mkimage.c: ... here. All users updated.
26633 (ALIGN_ADDR): Use image_target.
26634 (TARGET_NO_FIELD): New const.
26635 (image_target_desc): New type.
26636 (image_targets): New array.
26637 (grub_target_to_host64): Use image_target.
26638 (grub_target_to_host32): Likewise.
26639 (grub_target_to_host16): Likewise.
26640 (grub_host_to_target64): Likewise.
26641 (grub_host_to_target32): Likewise.
26642 (grub_host_to_target16): Likewise.
26643 (grub_host_to_target_addr): Likewise.
26644 (generate_image): Handle multiimage.
26645 (main): Require -O parameter. All users updated.
26646 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26647 util/efi/grub-mkimage.c
26648 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26649 New option --rom-directory.
26650 Use xorriso.
26651 * util/i386/efi/grub-mkimage.c: Removed.
26652 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26653 (grub_target_to_host32): Likewise.
26654 (grub_target_to_host64): Likewise.
26655 (grub_host_to_target16): Likewise.
26656 (grub_host_to_target32): Likewise.
26657 (grub_host_to_target64): Likewise.
26658 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26659 (grub_target_to_host32): Likewise.
26660 (grub_target_to_host64): Likewise.
26661 (grub_host_to_target16): Likewise.
26662 (grub_host_to_target32): Likewise.
26663 (grub_host_to_target64): Likewise.
26664
f4fc97d0
BC
266652010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26666
26667 Source tree is reorganized for emu build.
26668
26669 * include/grub/util/console.h: Move from here...
26670 * include/grub/emu/console.h: ...to here.
26671 * include/grub/util/getroot.h: Move from here...
26672 * include/grub/emu/getroot.h: ...to here.
26673 * include/grub/util/hostdisk.h: Move from here...
26674 * include/grub/emu/hostdisk.h: ...to here.
26675 * util/console.c: Move from here...
26676 * kern/emu/console.c: ...to here.
26677 * util/getroot.c: Move from here...
26678 * kern/emu/getroot.c: ...to here.
26679 * util/grub-emu.c: Move from here...
26680 * kern/emu/main.c: ...to here.
26681 * util/hostdisk.c: Move from here...
26682 * kern/emu/hostdisk.c: ...to here.
26683 * util/hostfs.c: Move from here...
26684 * kern/emu/hostfs.c: ...to here.
26685 * util/mm.c: Move from here...
26686 * kern/emu/mm.c: ...to here.
26687 * util/pci.c: Move from here...
26688 * bus/emu/pci.c: ...to here.
26689 * util/sdl.c: Move from here...
26690 * video/emu/sdl.c: ...to here.
26691 * util/time.c: Move from here...
26692 * kern/emu/time.c: ...to here.
26693 * util/usb.c: Move from here...
26694 * bus/usb/emu/usb.c: ...to here.
26695
26696 * include/grub/emu/misc.h: New header for grub-emu functions.
26697 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26698
26699 * conf/any-emu.rmk: Rule updates for above renames.
26700 * conf/common.rmk: Likewise.
26701 * conf/i386-pc.rmk: Likewise.
26702 * conf/i386-qemu.rmk: Likewise.
26703 * conf/mips.rmk: Likewise.
26704 * conf/sparc64-ieee1275.rmk: Likewise.
26705 * conf/x86-efi.rmk: Likewise.
26706
26707 * disk/lvm.h: #include updates for above renames.
26708 * util/grub-mkrelpath.c: Likewise.
26709 * util/grub-probe.c: Likewise.
26710 * util/i386/pc/grub-setup.c: Likewise.
26711 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26712 * kern/emu/console.c: Likewise.
26713 * kern/emu/getroot.c: Likewise.
26714 * kern/emu/hostdisk.c: Likewise.
26715 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26716
26717 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26718 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26719 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26720 * util/misc.c: Remove grub-emu functions.
26721
cced9145
VS
267222010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26723
26724 Fix gfxmenu crash.
26725 Reported by: Thorsten Grützmacher.
26726
26727 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26728 timeout hook.
26729 (circprog_set_property): Register and unregister timeout hook.
26730 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26731 (label_destroy): Free template. and unregister hook.
26732 (label_set_state): New function.
26733 (label_set_property): Handle templates and hooks.
26734 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26735 timeout hook.
26736 (progress_bar_set_property): Register and unregister timeout hook.
26737 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26738 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26739 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26740 (update_timeout_visit): Removed.
26741 (update_timeouts): New function.
26742 (redraw_timeouts): Likewise.
26743 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26744 (grub_gfxmenu_clear_timeout): Likewise.
26745 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26746 (grub_gfxmenu_timeout_notify): Likewise.
26747 (grub_gfxmenu_timeout_notifications): New external variable.
26748 (grub_gfxmenu_timeout_register): New function.
26749 (grub_gfxmenu_timeout_unregister): Likewise.
26750
c6e5caab
VS
267512010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26752
26753 Transform (broken) vga terminal into (working) vga video driver.
26754
26755 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26756 video/i386/pc/vga.c.
26757 * include/grub/video.h (grub_video_driver_id):
26758 Add GRUB_VIDEO_DRIVER_VGA.
26759 * term/i386/pc/vga.c: Renamed to ...
26760 * video/i386/pc/vga.c: ...this
26761 (DEBUG_VGA): Removed.
26762 (CHAR_WIDTH): Likewise.
26763 (CHAR_HEIGHT): Likewise.
26764 (TEXT_WIDTH): Likewise.
26765 (TEXT_HEIGHT): Likewise.
26766 (DEFAULT_FG_COLOR): Likewise.
26767 (DEFAULT_BG_COLOR): Likewise.
26768 (colored_char): Likewise.
26769 (xpos): Likewise.
26770 (ypos): Likewise.
26771 (cursor_state): Likewise.
26772 (fg_color): Likewise.
26773 (bg_color): Likewise.
26774 (text_buf): Likewise.
26775 (page): Likewise.
26776 (font): Likewise.
26777 (framebuffer): New variable.
26778 (set_read_map): Disabled.
26779 (setup): New variable.
26780 (is_target): Likewise.
26781 (grub_vga_mod_init): Likewise.
26782 (grub_vga_mod_fini): Likewise.
26783 (check_vga_mem): Likewise.
26784 (write_char): Likewise.
26785 (write_cursor): Likewise.
26786 (scroll_up): Likewise.
26787 (grub_vga_putchar): Likewise.
26788 (grub_vga_getcharwidth): Likewise.
26789 (grub_vga_getwh): Likewise.
26790 (grub_vga_getxy): Likewise.
26791 (grub_vga_gotoxy): Likewise.
26792 (grub_vga_cls): Likewise.
26793 (grub_vga_setcolorstate): Likewise.
26794 (grub_vga_setcursor): Likewise.
26795 (grub_video_vga_init): New function.
26796 (grub_video_vga_setup): Likewise.
26797 (grub_video_vga_fini): Likewise.
26798 (update_target): Likewise.
26799 (grub_video_vga_blit_bitmap): Likewise.
26800 (grub_video_vga_blit_render_target): Likewise.
26801 (grub_video_vga_set_active_render_target): Likewise.
26802 (grub_video_vga_get_active_render_target): Likewise.
26803 (grub_video_vga_swap_buffers): Likewise.
26804 (grub_video_vga_set_palette): Likewise.
26805 (grub_video_vga_get_info_and_fini): Likewise.
26806 (grub_vga_term): Removed.
26807 (grub_video_vga_adapter): New variable.
26808 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26809 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26810
2bf61a98
VS
268112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26812
26813 * video/readers/jpeg.c: Indented.
26814
09ddcd11
VS
268152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26816
26817 Various jpeg cleanups.
26818
26819 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26820 (grub_jpeg_decode_quan_table): Use sizeof.
26821 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26822
e5507505
PH
268232010-05-05 Peter Hurley <No e-mail available> (tiny change)
26824
26825 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26826 tables. Ignore non-last ac bit.
26827 (grub_jpeg_decode_quan_table): Likewise.
26828
7e720a9b
VS
268292010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26830
26831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26832 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26833 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26834 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26835 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26836 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26837
a7fc080b
VS
268382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26839
26840 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26841 error.
26842
2bf6012d
VS
268432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26844
26845 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26846
265d68cd
VS
268472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26848
26849 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26850 condition.
26851
268522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26853
26854 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26855 part.
26856
265d68cd 268572010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26858
26859 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26860 pointers.
26861
265d68cd 268622010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26863
26864 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26865
d1b61374
CF
268662010-05-01 Christian Franke <franke@computer.org>
26867
26868 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26869 Remove broken Cygwin path conversion.
26870 * util/misc.c: [__CYGWIN__] Add include and define.
26871 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26872 for Cygwin 1.7.
26873 (make_system_path_relative_to_its_root): Simplify loop, replace early
26874 return by break.
26875 [__CYGWIN__] Add conversion to win32 path.
26876 Include "/" case in trailing slash removal.
26877
3558c6e9
VS
268782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26879
26880 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26881 Reported by: Seth Goldberg
26882
f5f3ff93
VS
268832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26884
26885 * commands/help.c (grub_cmd_help): Fix a typo.
26886 Reported by: Seth Goldberg
26887
d8b5cd40
VS
268882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26889
26890 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26891 name and add N_.
26892 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26893 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26894 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26895 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26896 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26897 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26898 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26899 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26900 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26901 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26902 * normal/context.c (GRUB_MOD_INIT): Likewise.
26903 * normal/main.c (GRUB_MOD_INIT): Likewise.
26904 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26905 * term/serial.c (GRUB_MOD_INIT): Likewise.
26906 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26907
88c14915
VS
269082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26909
26910 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26911 extra == 0.
26912
165134bc
VS
269132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26914
26915 * commands/iorw.c: New file.
26916 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26917 (iorw_mod_SOURCES): New variable.
26918 (iorw_mod_CFLAGS): Likewise.
26919 (iorw_mod_LDFLAGS): Likewise.
26920
c5ac9b32
VS
269212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 Hotkey support
26924
26925 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26926 * normal/main.c (hotkey_aliases): New variable.
26927 (grub_normal_add_menu_entry): Parse "--hotkey".
26928 * normal/menu_text.c (run_menu): Handle hotkeys.
26929
ce60689c
VS
269302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 * kern/i386/coreboot/init.c (grub_machine_init): Call
26933 grub_machine_mmap_init on qemu.
26934
0359d006
VS
269352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26936
26937 * boot/i386/qemu/boot.S: Add a missing .code16.
26938
7819a456
VS
269392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 Use LBIO on coreboot.
26942
26943 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26944 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26945 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26946 New declaration.
26947 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26948 grub_machine_mmap_init on coreboot.
26949 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26950 GRUB_LINUXBIOS_MEMBER_LINK.
26951 (grub_machine_mmap_iterate): Fix declaration.
26952 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26953
7210dca9
VS
269542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26955
26956 Split coreboot and multiboot ports.
26957
26958 * conf/i386-multiboot.rmk: New file.
26959 * configure.ac: Add multiboot port.
26960 * include/grub/i386/multiboot/boot.h: New file.
26961 * include/grub/i386/multiboot/console.h: Likewise.
26962 * include/grub/i386/multiboot/init.h: Likewise.
26963 * include/grub/i386/multiboot/kernel.h: Likewise.
26964 * include/grub/i386/multiboot/loader.h: Likewise.
26965 * include/grub/i386/multiboot/memory.h: Likewise.
26966 * include/grub/i386/multiboot/serial.h: Likewise.
26967 * include/grub/i386/multiboot/time.h: Likewise.
26968 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26969 * loader/multiboot.c: Likewise.
26970 * loader/multiboot_mbi2.c: Likewise.
26971 * util/grub-mkrescue.in: Generate multiboot rescue.
26972
6f8aaf68
VS
269732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26974
3080f7a7
VS
26975 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26976
269772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26978
26979 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26980
26981 * commands/terminal.c (abstract_terminal): New struct.
26982 (handle_command): New function. Based on grub_cmd_terminal_input.
26983 (grub_cmd_terminal_input): Use handle_command.
26984 (grub_cmd_terminal_output): Use handle_command.
26985
a8ebb841
BC
269862010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26987
26988 Fix comment handling.
26989
26990 * tests/grub_script_comments.in: New testcase.
26991 * conf/tests.rmk: Rules for new testcase.
26992 * script/yylex.l: Updated flex rules.
26993
bb06ba08
ST
269942010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26995
26996 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26997 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26998 if argc is 1.
bb06ba08 26999
cc9d2425
VS
270002010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27001
27002 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
27003 autogen issues.
27004
460d8402
CF
270052010-04-26 Christian Franke <franke@computer.org>
27006
27007 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
27008 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
27009 (grub_get_prefix): Remove function.
27010 * util/grub-emu.c (main): Replace grub_get_prefix () call by
27011 make_system_path_relative_to_its_root ().
27012 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
27013
553c01f9
CF
270142010-04-24 Christian Franke <franke@computer.org>
27015
27016 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
27017 (kernel_img_LDFLAGS): Remove -static-libgcc.
27018
2aec1692
CF
270192010-04-24 Christian Franke <franke@computer.org>
27020
27021 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27022 and CHECK_END_SYMBOL if grub-emu is built.
27023 Unset TARGET_OBJ2ELF if grub-emu is built
27024 without module support.
27025
f67dc308
JS
270262010-04-24 Jiro SEKIBA <jir@unicus.jp>
27027
27028 Nilfs2 support.
27029
27030 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
27031 (grub_fstest_SOURCES): Likewise.
27032 (pkglib_MODULES): Add nilfs2.mod.
27033 (nilfs2_mod_SOURCES): New variable.
27034 (nilfs2_mod_CFLAGS): Likewise.
27035 (nilfs2_mod_LDFLAGS): Likewise.
27036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27037 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27038 * fs/nilfs2.c: New file.
27039
4ba8d354
VS
270402010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27041
27042 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27043 is not supported.
27044
0d2c20c6
GS
270452010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27046
27047 Add grub-mkconfig support for NetBSD.
27048
27049 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27050 * util/grub-mkconfig.in: export new NetBSD specific variables.
27051 * po/POTFILES-shell: added 10_netbsd.in.
27052 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27053
bc4a2d83
BC
270542010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27055
27056 Fix emu build with grub-emu-pci and grub-emu-modules.
27057
27058 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27059 functions.
27060 * include/grub/libpciaccess.h: New file.
27061 * conf/any-emu.rmk: Update kernel headers for emu build.
27062
f48c87aa
VS
270632010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27064
27065 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27066
18959385
VS
270672010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27068
27069 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27070
0037de3f
VS
270712010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27072
27073 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27074 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27075 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27076 util/ieee1275/ofpath.c.
27077 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27078 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27079 * include/grub/sparc64/ieee1275/boot.h
27080 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27081 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27082 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27083 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27084 const char *.
27085 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27086 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27087 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27088 install.
27089
38e55e90
GS
270902010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27091
27092 * util/grub-mkconfig.in: Corrected two == equality tests.
27093 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27094 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27095 expect a number appended to it.
27096 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27097 expects a number appended to it.
27098
a9e6ff28
VS
270992010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27100
27101 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27102
0b830b8f
VS
271032010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27104
27105 * util/hostdisk.c (make_device_name): Change to new partition naming.
27106
0973daeb
VS
271072010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27110
460d8402 271112010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
27112
27113 * Makefile.in: Add missing localedir setting.
27114
0b456309
CW
271152010-04-14 Colin Watson <cjwatson@ubuntu.com>
27116
27117 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27118 mistake in r2156. Noticed by Anthony Fok.
27119
27120 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27121 @localedir@.
27122 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27123
08f46d62
BC
271242010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27125
27126 Fix a spurious, uninitialized variable warning.
27127
27128 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27129 Initialize variable, shdr.
27130 (grub_freebsd_load_elfmodule): Likewise.
27131 (grub_freebsd_load_elf_meta): Likewise.
27132
8c4a72d4
BC
271332010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27134
27135 Fix for escaped dollar in double quoted strings.
27136
27137 * script/yylex.l: Updated flex rules.
27138 * conf/tests.rmk: Rule for new testcase.
27139 * tests/grub_script_dollar.in: New testcase.
27140
ce44826e
CPE
271412010-04-13 Carles Pina i Estany <carles@pina.cat>
271422010-04-13 Colin Watson <cjwatson@ubuntu.com>
27143
27144 Enclose all translated strings in grub.cfg in single quotes, and
27145 escape them appropriately (Ubuntu bug #552921).
27146
27147 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27148 * util/grub.d/10_hurd.in: Use it.
27149 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27150 * util/grub.d/10_linux.in (linux_entry): Likewise.
27151
4b0cd8f8
VS
271522010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27153
27154 Fix cygwin compilation.
27155
27156 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27157 * include/grub/misc.h (__register_frame_info)
27158 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27159 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27160 * kern/misc.c (__register_frame_info)
27161 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27162 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27163
01fcf061
VS
271642010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27165
27166 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27167
5d04b11e
VS
271682010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27169
27170 Unify libgcc processing.
27171
27172 * Makefile.in (kernel_img_LDFLAGS): New variable.
27173 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27174 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27175 overwriting.
27176 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27177 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27178 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27179 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27180 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27181 overwriting. Remove -lgcc and -static-libgcc
27182 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27183 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27184 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27185 (kernel_img_LDFLAGS): Append instead of overwriting.
27186 Remove -lgcc and -static-libgcc
27187 * conf/sparc64-ieee1275.rmk: Likewise.
27188 * include/grub/powerpc/libgcc.h: Move to ...
27189 * include/grub/libgcc.h: .. this.
27190 * include/grub/libgcc.h: Don't export most of the function on x86.
27191 (__bswapsi2): New export.
27192 (__bswapdi2): Likewise.
27193 * include/grub/mips/libgcc.h: Removed.
27194 * include/grub/sparc64/libgcc.h: Likewise.
27195
b7f3ac29
VS
271962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27197
27198 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27199 disk_info_msg (conflicts with gettexting into languages with cases).
27200
2c7031b1
GS
272012010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27202
27203 Add grub-probe support for NetBSD.
27204
27205 * util/getroot.c (find_root_device): Convert block device to
27206 character device on NetBSD.
27207 * util/probe.c (probe): Require character device on NetBSD.
27208 * util/hostdisk.c: NetBSD specific headers.
27209 (configure_device_driver): new function to tune device driver
27210 parameters (currently only for NetBSD floppy driver).
27211 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27212 via disklabel ioctl).
27213 (open_device): call configure_device_driver on NetBSD.
27214 (convert_system_partition_to_system_disk): NetBSD specific code.
27215 (device_is_wholedisk): Likewise.
27216 (grub_util_biosdisk_get_grub_dev): Likewise.
27217 (make_device_name): Fixed a typo in bsd_part_str.
27218 * configure.ac: check for opendisk() and getrawpartition() on
27219 NetBSD and set LIBUTIL.
27220 * Makefile.in: add LIBUTIL to LIBS.
27221
f516290c
BC
272222010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27223
27224 Documentation fix.
27225
27226 * util/grub-script-check.c: Better help message.
27227
d8dcc0df
BC
272282010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27229
27230 Fix FreeBSD build.
27231
27232 * configure.ac: Flex version check.
27233 * conf/common.rmk: Add -Wno-error to sh.mod.
27234 * script/yylex.l: Remove all #pragma.
27235
6734334a
VS
272362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27237
27238 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27239 prototype.
27240 Reported by: Seth Goldberg.
27241
daea6abd
VS
272422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27243
27244 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27245 Rename "module" to "module2".
27246 Reported by: Seth Goldberg.
27247
f2fd9d2b
VS
272482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27251 EXPORT_FUNC.
27252 Reported by: Seth Goldberg.
27253
be124579
VS
272542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27255
27256 * lib/posix_wrap/locale.h: Add missing file.
27257 Reported by: Seth Goldberg.
27258
ef5da797
VS
272592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27260
27261 grub-emu module load support.
27262
27263 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27264 NO_DYNAMIC_MODULES switched to this.
27265 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27266 (CFLAGS): Likewise.
27267 * conf/any-emu.rmk: Generate symlist.
27268 (kernel_img_HEADERS): Add util/datetime.h.
27269 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27270 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27271 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27272 kern/$(target_cpu)/cache.S.
27273 * configure.ac (grub-emu-modules): New option.
27274 * genmk.rb: Handle multiple source lists.
27275 * include/grub/sdl.h: New file.
27276 * include/grub/libusb.h: Likewise.
27277 * util/grub-emu.c (main): Hanle (host) root.
27278 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27279 GRUB_ERR_UNKNOWN_DEVICE.
27280 * util/misc.c: Move mm functions to ...
27281 * util/mm.c: ... here. All users updated.
27282
47822096
VS
272832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27286 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27287 missing files.
27288 (maintainer-clean): Remove libgcrypt-grub.
27289
5d7e7445
VS
272902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27291
27292 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27293
25f4e252
EC
272942010-04-09 EFI Coder <eficoder@hotmail.com>
27295
27296 * normal/menu_text.c (print_message): Clean up the message and show
27297 the Fn information when on EFI
27298 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27299
027de555
VS
273002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27301
27302 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27303 All users updated.
27304 * normal/crypto.c (read_crypto_list): Likewise.
27305 * normal/dyncmd.c (read_command_list): Likewise.
27306 * normal/term.c (read_terminal_list): Likewise.
27307 * normal/main.c (read_lists): Use explicit prefix.
27308 (read_lists_hook): Use read_lists.
27309 (grub_normal_execute): Likewise.
27310
47779711
VS
273112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27312
27313 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27314 Reported by: Thomas Schmitt.
27315 Add -no-emul-boot to grub-mkisofs parameters.
27316
1118c32e
VS
273172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27318
27319 * font/font.c: Indented.
27320
7d652447
BC
273212010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27322
27323 Elif support to GRUB script (by Deepak Vankadaru).
27324
27325 * tests/grub_script_if.in: New testcase.
27326 * conf/tests.rmk: Rule for new testcase.
27327 * script/parser.y: Grammar rules for elif.
27328
34bb22df
BC
273292010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27330
27331 While and until loops support to GRUB script.
27332
27333 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27334 (grub_script_create_cmdwhile): New function prototype.
27335 (grub_script_execute_cmdwhile): New function prototype.
27336 * script/execute.c (grub_script_execute_cmdwhile): New function.
27337 * script/parser.y (command): New commands.
27338 (whilecmd): New grammar rule.
27339 (untilcmd): New grammar rule.
27340 * script/script.c (grub_script_create_cmdwhile): New function.
27341 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27342 function.
27343
27344 * tests/grub_script_while1.in: New testcase.
27345 * conf/tests.rmk: Rule for new testcase.
27346
e215d8e0
VS
273472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27348
27349 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27350 as *.jpg.
27351
d7c43ba1
MV
273522010-04-09 Mario Vazquez <mariovazq@gmail.com>
27353
27354 GRUB_BACKGROUND support.
27355
27356 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27357 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27358
d64795c0
VS
273592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27360
27361 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27362 Idea by: Mario Vazquez
d64795c0
VS
27363
27364 * util/grub.d/00_header.in: Load pf2 and image modules.
27365
f267f83a
VS
273662010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27367
27368 grub-mkconfig multiple terminal support.
27369
27370 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27371 * util/grub.d/00_header.in: Likewise.
27372
b7841ceb
VS
273732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27374
27375 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27376 we use cd $(srcdir).
27377
df60998c
CW
273782010-04-08 Colin Watson <cjwatson@ubuntu.com>
27379
27380 * util/grub.d/10_linux.in: Only use the first word of
27381 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27382 spaces in GRUB_DISTRIBUTOR.
27383 * util/grub.d/10_kfreebsd.in: Likewise.
27384 * util/grub.d/10_hurd.in: Likewise.
27385
fa09c82e
BC
273862010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27387
14e18ae3 27388 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27389
27390 * tests/util/grub-shell.in: Remove -serial stdio option.
27391
daf892b3
BC
273922010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27393
27394 POSIX header file wrappers.
27395
27396 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27397 equivalents.
27398 * lib/posix_wrap/ctype.h: Likewise.
27399 * lib/posix_wrap/errno.h: Likewise.
27400 * lib/posix_wrap/langinfo.h: Likewise.
27401 * lib/posix_wrap/limits.h: Likewise.
27402 * lib/posix_wrap/localcharset.h: Likewise.
27403 * lib/posix_wrap/stdint.h: Likewise.
27404 * lib/posix_wrap/stdio.h: Likewise.
27405 * lib/posix_wrap/stdlib.h: Likewise.
27406 * lib/posix_wrap/string.h: Likewise.
27407 * lib/posix_wrap/sys/types.h: Likewise.
27408 * lib/posix_wrap/unistd.h: Likewise.
27409 * lib/posix_wrap/wchar.h: Likewise.
27410 * lib/posix_wrap/wctype.h: Likewise.
27411 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27412 (grub_script.yy.h): Likewise.
27413 * script/yylex.l: Remove POSIX emulation #defines.
27414 * Makefile.in (POSIX_CFLAGS): New variable.
27415 (GNULIB_UTIL_CFLAGS): Likewise.
27416
27417 Regexp support.
27418
27419 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27420 (regexp_mod_SOURCES): New variable.
27421 (regexp_mod_CFLAGS): Likewise.
27422 (regexp_mod_LDFLAGS): Likewise.
27423 * commands/regexp.c: New file.
27424 * gnulib/regcomp.c: New file. Imported from gnulib.
27425 * gnulib/regex.c: Likewise.
27426 * gnulib/regex_internal.c: Likewise.
27427 * gnulib/regex_internal.h: Likewise.
27428 * gnulib/regexec.c: Likewise.
27429 * gnulib/regex.h: Likewise.
27430
974ac4f7
VS
274312010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27432
27433 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27434 unsupported video mode types.
27435
2622c3ff
VS
274362010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27437
27438 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27439
064cb524
VS
274402010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27441
27442 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27443 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27444
a8c3b552
VS
274452010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Remove unused grub_vga_get_font.
27448
27449 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27450 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27451
187bbe3d
GS
274522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27453
27454 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27455 * include/grub/misc.h: Likewise.
27456
b9396631
GS
274572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27458
27459 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27460 for which failure is fatal.
27461
50479feb
GS
274622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27463
27464 * util/grub-install.in: Use mkdir -p to create grub directory.
27465 * util/i386/efi/grub-install.in: Likewise.
27466 * util/ieee1275/grub-install.in: Likewise.
27467
b1654fdf
GS
274682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27469
27470 * Makefile.in (LEX): new variable.
27471
bd5a6415
GS
274722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27473
27474 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27475 `=' and added double quotes on operands of this equality test.
27476
3db3a82b
VS
274772010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * Makefile.in (uninstall): Remove a leftover debug echo.
27480 Reported by: Grégoire Sutre
27481
38023412
VS
274822010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 MIPS multiboot2 support.
27485
27486 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27487 (multiboot2_mod_SOURCES): New variable.
27488 (multiboot2_mod_CFLAGS): Likewise.
27489 (multiboot2_mod_LDFLAGS): Likewise.
27490 (multiboot2_mod_ASFLAGS): Likewise.
27491 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27492 definition.
27493 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27494 (MULTIBOOT_MBI_REGISTER): Likewise.
27495 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27496 (MULTIBOOT_ELF32_MACHINE): Likewise.
27497 (MULTIBOOT_ELF64_MACHINE): Likewise.
27498 * include/grub/mips/multiboot.h: New file.
27499 * include/grub/video.h (grub_video_driver_id): New type
27500 GRUB_VIDEO_DRIVER_SM712.
27501 (grub_video_get_info_and_fini): Export.
27502 (grub_video_get_palette): Likewise.
27503 (grub_video_get_driver_id): Likewise.
27504 * include/multiboot2.h: Resynced with spec.
27505 * loader/i386/multiboot.c: Moved from here ...
27506 * loader/multiboot.c: ... here. All users updated.
27507 (grub_multiboot_boot): Use platform-specific macros.
27508 * loader/i386/multiboot_elfxx.c: Moved from here ...
27509 * loader/multiboot_elfxx.c: ... here. All users updated.
27510 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27511 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27512 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27513
47674667
VS
275142010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27515
27516 Import gnulib argp module.
27517
27518 * gnulib/argp-ba.c: New file.
27519 * gnulib/argp-eexst.c: Likewise.
27520 * gnulib/argp-fmtstream.c: Likewise.
27521 * gnulib/argp-fmtstream.h: Likewise.
27522 * gnulib/argp-fs-xinl.c: Likewise.
27523 * gnulib/argp-help.c: Likewise.
27524 * gnulib/argp-namefrob.h: Likewise.
27525 * gnulib/argp-parse.c: Likewise.
27526 * gnulib/argp-pin.c: Likewise.
27527 * gnulib/argp-pv.c: Likewise.
27528 * gnulib/argp-pvh.c: Likewise.
27529 * gnulib/argp-version-etc.c: Likewise.
27530 * gnulib/argp-version-etc.h: Likewise.
27531 * gnulib/argp-xinl.c: Likewise.
27532 * gnulib/argp.h: Likewise.
27533
495442ed
VS
275342010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27535
27536 * kern/device.c (grub_device_iterate): Clear errors after failed
27537 opening device.
27538
f9fd65df
VS
275392010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27540
27541 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27542 returned by firmware.
27543
af09641e
VS
275442010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27545
27546 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27547 compilation on coreboot and qemu
27548
016883a5
VS
275492010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27550
27551 * include/multiboot2.h: Resync with spec.
27552
f97e1f7d
VS
275532010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27554
27555 Multiboot2 tag support
27556
27557 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27558 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27559 Remove loader/multiboot_loader.c.
27560 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27561 (grub_multiboot2_real_boot): Likewise.
27562 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27563 (grub_get_multiboot_mmap_count): New proto.
27564 (grub_fill_multiboot_mmap): Likewise.
27565 (grub_multiboot_set_video_mode): Likewise.
27566 (grub_multiboot_set_console): Likewise.
27567 (grub_multiboot_load): Likewise.
27568 (grub_multiboot_load_elf): Likewise.
27569 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27570 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27571 * include/multiboot.h: Resynced with specification.
27572 * include/multiboot2.h: Resynced with specification.
27573 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27574 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27575 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27576 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27577 users updated.
27578 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27579 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27580 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27581 Removed.
27582 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27583 Moved from here...
27584 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27585 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27586 Moved from here...
27587 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27588 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27589 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27590 All users updated.
27591 * loader/i386/multiboot_mbi2.c: New file.
27592
3506b90b
VS
275932010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27594
27595 Resync with gnulib.
27596
27597 * Makefile.in (GNULIB_CFLAGS): New variable.
27598 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27599 (grub_script_check_CFLAGS): New variable.
27600 * gnulib/alloca.h: Resync with gnulib.
27601 * gnulib/error.c: Likewise.
27602 * gnulib/error.h: Likewise.
27603 * gnulib/fnmatch.c: Likewise.
27604 * gnulib/fnmatch_loop.c: Likewise.
27605 * gnulib/getdelim.c: Likewise.
27606 * gnulib/getline.c: Likewise.
27607 * gnulib/getopt.c: Likewise.
27608 * gnulib/getopt1.c: Likewise.
27609 * gnulib/getopt_int.h: Likewise.
27610 * gnulib/gettext.h: Likewise.
27611 * gnulib/progname.c: Likewise.
27612 * gnulib/progname.h: Likewise.
27613
394a3120
GS
276142010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27615
27616 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27617 which is the case with --disabled-nls.
27618
27619 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27620 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27621 * util/misc.c: Likewise.
27622 * util/mkisofs/mkisofs.c: Likewise.
27623 * util/mkisofs/mkisofs.h: Likewise.
27624
969d1c78
VS
276252010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27626
27627 Simplify Apple CC support.
27628
27629 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27630 Add 0 byte at the end not to have a symbol with empty target.
27631 * mmap/i386/pc/mmap_helper.S: Likewise.
27632 * genmk.rb: Ignore errors 2030 and 2050.
27633 * kern/i386/pc/startup.S: Use LOCAL when possible.
27634
8d2977bb
BC
276352010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27636
27637 Testcase and the fix for final semicolon on cmdline.
27638
27639 * tests/grub_script_final_semicolon.in: New testcase.
27640 * conf/tests.rmk: Rules for the new testcase.
27641 * script/parser.y: Grammar fix.
27642
a7bd6915
BC
276432010-03-26 BVK Chaitanya <bvk@localhost>
27644
27645 Blank lines testcase for GRUB script.
27646
27647 * tests/grub_script_blanklines.in: New testcase.
27648 * conf/tests.rmk: Rules for the new testcase.
27649
e4ff6628
VS
276502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27651
27652 Don't use __FILE__.
27653
27654 * genmk.rb: Add -DGRUB_FILE to all C targets.
27655 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27656 * include/grub/list.h: Likewise.
27657 * include/grub/misc.h: Likewise.
27658 * include/grub/mm.h: Likewise.
27659 * include/grub/test.h: Likewise.
27660 * kern/mm.c: Likewise.
27661 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27662
6a5cf6b6
VS
276632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27664
27665 Sunpc partitions support.
27666
27667 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27668 (grub_fstest_SOURCES): Likewise.
27669 (pkglib_MODULES): Add part_sunpc.mod.
27670 (part_sunpc_mod_SOURCES): New variable.
27671 (part_sunpc_mod_CFLAGS): Likewise.
27672 (part_sunpc_mod_LDFLAGS): Likewise.
27673 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27674 * partmap/sunpc.c: New file.
27675
746d9045
BC
276762010-03-26 BVK Chaitanya <bvk@localhost>
27677
27678 For loop support to GRUB script.
27679
27680 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27681 (grub_script_create_cmdfor): New function prototype.
27682 (grub_script_execute_cmdfor): New function prototype.
27683 * script/execute.c (grub_script_execute_cmdfor): New function.
27684 * script/parser.y (command): New for command.
27685 (forcmd): New grammar rule.
27686 * script/script.c (grub_script_create_cmdfor): New function.
27687 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27688 function.
27689 * tests/grub_script_for1.in: New testcase.
27690 * conf/tests.rmk: Rules for new testcase.
27691
18486b18
VS
276922010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27693
27694 Nested partitions
27695
27696 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27697 'partition' is NULL, grub_partition_get_start already does that.
27698 * commands/loadenv.c (check_blocklists): Likewise.
27699 (write_blocklists): Likewise.
27700 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27701 (grub_fstest_SOURCES): Likewise.
27702 (pkglib_MODULES): Add part_bsd.mod.
27703 (part_bsd_mod_SOURCES): New variable.
27704 (part_bsd_mod_CFLAGS): Likewise.
27705 (part_bsd_mod_LDFLAGS): Likewise.
27706 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27707 (grub_emu_SOURCES): Likewise.
27708 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27709 * include/grub/bsdlabel.h: New file.
27710 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27711 'get_name'.
27712 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27713 (grub_partition_map_list): New variable.
27714 (grub_partition_map_register): Inline.
27715 (grub_partition_map_unregister): Likewise.
27716 (FOR_PARTITION_MAPS): New macro.
27717 (grub_partition_map_iterate): Removed.
27718 (grub_partition_get_start): Handle nested partitions.
27719 * include/grub/msdos_partition.h: Remove bsd-related entries.
27720 (grub_pc_partition): Remove.
27721 * kern/disk.c (grub_disk_close): Free partition data.
27722 (grub_disk_adjust_range): Handle nested partitions.
27723 * kern/partition.c (grub_partition_map_probe): New function.
27724 (grub_partition_probe): Parse name to number, handle subpartitions.
27725 (get_partmap): New function.
27726 (grub_partition_iterate): Handle subpartitions.
27727 (grub_partition_get_name): Likewise.
27728 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27729 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27730 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27731 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27732 Set 'number'.
27733 (acorn_partition_map_probe): Remove.
27734 (acorn_partition_map_get_name): Likewise.
27735 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27736 Set 'number'.
27737 Set 'index' to 0 since there can be only one partition entry per sector.
27738 (amiga_partition_map_probe): Remove.
27739 (amiga_partition_map_get_name): Likewise.
27740 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27741 Set 'number'.
27742 Set 'offset' and 'index' to real positions of partitions.
27743 (apple_partition_map_probe): Remove.
27744 (apple_partition_map_get_name): Likewise.
27745 * partmap/bsdlabel.c: New file.
27746 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27747 Set 'number'.
27748 Allocate 'data' so it can be correctly freed.
27749 Set 'index' to offset inside sector.
27750 (gpt_partition_map_probe): Remove.
27751 (gpt_partition_map_get_name): Likewise.
27752 * partmap/msdos.c (grub_partition_parse): Remove.
27753 (pc_partition_map_iterate): Don't force raw access.
27754 Set 'number'.
27755 Make 'ext_offset' a local variable.
27756 (pc_partition_map_probe): Remove.
27757 (pc_partition_map_get_name): Remove.
27758 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27759 Set 'number'.
27760 (sun_partition_map_probe): Remove.
27761 (sun_partition_map_get_name): Likewise.
27762 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27763 (grub_pcpart_type): Likewise.
27764 * util/hostdisk.c (open_device): Handle new numbering scheme.
27765 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27766 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27767 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27768 * util/grub-install.in: Insert all subpartition modules.
27769 * util/ieee1275/grub-install.in: Likewise.
27770
a3940f88
AG
277712010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27772
27773 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27774 grammar.
27775
21b99926 277762010-03-24 Colin Watson <cjwatson@ubuntu.com>
27777
27778 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27779
bed1d352
CW
277802010-03-21 Colin Watson <cjwatson@ubuntu.com>
27781
27782 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27783 match where 'make install' puts them.
27784 * util/i386/efi/grub-install.in: Likewise.
27785
c9f58427
CW
277862010-03-19 Colin Watson <cjwatson@ubuntu.com>
27787
27788 * .bzrignore: Add gentrigtables, grub-script-check,
27789 grub_script_check_init.c, grub_script_check_init.h, and
27790 trigtables.c.
27791
f84afb27
VS
277922010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27793
27794 * kern/parser.c: Indented.
27795
ed0e3d30
VS
277962010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27797
27798 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27799
0ea81d98
VS
278002010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27801
27802 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27803 alpha_mask_size == 0 case.
27804
0cdc2a09
BC
278052010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27806
27807 GRUB shell lexer and parser improvements.
27808
27809 * conf/any-emu.rmk: Build rule updates.
27810 * conf/common.rmk: Likewise.
27811 * conf/i386-coreboot.rmk: Likewise.
27812 * conf/i386-efi.rmk: Likewise.
27813 * conf/i386-ieee1275.rmk: Likewise.
27814 * conf/i386-pc.rmk: Likewise.
27815 * conf/powerpc-ieee1275.rmk: Likewise.
27816 * conf/x86_64-efi.rmk: Likewise.
27817
27818 * configure.ac: Configure check for flex.
27819
27820 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27821 types.
27822 (grub_lexer_param): Struct member updates.
27823 (grub_parser_param): Likewise.
27824 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27825 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27826 (grub_script_lexer_init): Prototype update.
27827 (grub_script_lexer_record_start): Likewise.
27828 (grub_script_lexer_record_stop): Likewise.
27829 (grub_script_lexer_yywrap): New function prototype.
27830 (grub_script_lexer_fini): Likewise.
27831 (grub_script_execute_argument_to_string): Removed by...
27832 (grub_script_execute_argument_to_argv): ...better version.
27833
27834 * script/execute.c (ROUND_UPTO): New macro.
27835 (grub_script_execute_cmdline): Out of memory fixes.
27836 (grub_script_execute_menuentry): Likewise.
27837 (grub_script_execute_argument_to_string): Removed. Update all
27838 users by...
27839 (grub_script_execute_argument_to_argv): ...better version.
27840 * script/function.c (grub_script_function_create): Use
27841 grub_script_execute_argument_to_argv instead of
27842 grub_script_execute_argument_to_string.
27843
27844 * script/lexer.c (check_varstate): Removed.
27845 (check_textstate): Removed.
27846 (grub_script_lexer_record_start): Likewise.
27847 (grub_script_lexer_record_stop): Likewise.
27848 (recordchar): Replaced with...
27849 (grub_script_lexer_record): ...new function.
27850 (nextchar): Removed.
27851 (grub_script_lexer_init): Rewritten.
27852 (grub_script_yylex): Rewritten.
27853 (append_newline): New function.
27854 (grub_script_lexer_yywrap): New function.
27855 (grub_script_lexer_fini): New function.
27856 (grub_script_yyerror): Sets error flag.
27857
27858 * script/yylex.l: New file.
27859 (grub_lexer_yyfree): Wrapper for flex yyffre.
27860 (grub_lexer_yyalloc): Likewise.
27861 (grub_lexer_yyrealloc): Likewise.
27862 * script/parser.y: Refactored.
27863
27864 * script/script.c (grub_script_arg_add): Out of memory fixes.
27865 (grub_script_add_arglist): Likewise.
27866 (grub_script_create_cmdline): Likewise.
27867 (grub_script_create_cmdmenu): Likewise.
27868 (grub_script_add_cmd): Likewise.
27869 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27870 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27871 unnecessary code.
27872
27873 * tests/grub_script_echo1.in: New testcase.
27874 * tests/grub_script_vars1.in: New testcase.
27875 * tests/grub_script_echo_keywords.in: New testcase.
27876
1d63a066
VS
278772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27878
27879 Remove some redundancy in build system.
27880
27881 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27882 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27883 (TARGET_LDFLAGS): Add -nostdlib.
27884 (TARGET_IMG_LDFLAGS): Likewise.
27885 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27886 anything since mmap isn't available.
27887 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27888 Add util/time.c.
27889 (pkglib_MODULES): Remove reboot.mod.
27890 (reboot_mod_SOURCES): Removed.
27891 (reboot_mod_CFLAGS): Likewise.
27892 (reboot_mod_LDFLAGS): Likewise.
27893 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27894 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27895 (DEFSYMFILES): Add kernel_syms.lst.
27896 (kernel_img_HEADERS): Add common headers.
27897 (symlist.c): New target.
27898 (kernel_syms.lst): Likewise.
27899 (pkglib_MODULES): Add memdisk.mod.
27900 (memdisk_mod_SOURCES): New variable.
27901 (memdisk_mod_CFLAGS): Likewise.
27902 (memdisk_mod_LDFLAGS): Likewise.
27903 (pkglib_MODULES): Add reboot.mod.
27904 (reboot_mod_SOURCES): New variable.
27905 (reboot_mod_CFLAGS): Likewise.
27906 (reboot_mod_LDFLAGS): Likewise.
27907 (pkglib_MODULES): Add date.mod.
27908 (date_mod_SOURCES): New variable.
27909 (date_mod_CFLAGS): Likewise.
27910 (date_mod_LDFLAGS): Likewise.
27911 (pkglib_MODULES): Add datehook.mod.
27912 (datehook_mod_SOURCES): New variable.
27913 (datehook_mod_CFLAGS): Likewise.
27914 (datehook_mod_LDFLAGS): Likewise.
27915 (pkglib_MODULES): Add lsmmap.mod.
27916 (lsmmap_mod_SOURCES): New variable.
27917 (lsmmap_mod_CFLAGS): Likewise.
27918 (lsmmap_mod_LDFLAGS): Likewise.
27919 (pkglib_MODULES): Add boot.mod.
27920 (boot_mod_SOURCES): New variable.
27921 (boot_mod_CFLAGS): Likewise.
27922 (boot_mod_LDFLAGS): Likewise.
27923 * conf/i386-coreboot.rmk: Removed redundant parts.
27924 * conf/i386-ieee1275.rmk: Likewise.
27925 * conf/i386-pc.rmk: Likewise.
27926 * conf/mips-yeeloong.rmk: Likewise.
27927 * conf/mips.rmk: Likewise.
27928 * conf/powerpc-ieee1275.rmk: Likewise.
27929 * conf/sparc64-ieee1275.rmk: Likewise.
27930 * conf/x86_64-efi.rmk: Likewise.
27931 * conf/i386-coreboot.rmk: Moved qemu parts ..
27932 * conf/i386-qemu.rmk: ... here
27933 * conf/i386-efi.rmk: Moved common parts to...
27934 * conf/x86-efi.rmk: ... here.
27935 * conf/i386.rmk: Added modules common to all x86 variants.
27936 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27937 * disk/memdisk.c: Remove grub/machine/kernel.h.
27938 * gensymlist.sh.in: Include symbol.h.
27939 * hook/datehook.c: Correct module name.
27940 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27941 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27942 * include/grub/i386/efi/serial.h: New file.
27943 * include/grub/x86_64/efi/serial.h: Likewise.
27944 * util/time.c: Likewise.
27945 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27946
463ac55f
CK
279472010-03-14 Colin King <colin.king@ubuntu.com>
279482010-03-14 Colin Watson <cjwatson@ubuntu.com>
27949
27950 Shrink the pre-partition-table part of boot.img by eight bytes.
27951
27952 * boot/i386/pc/boot.S (ERR): New macro.
27953 (chs_mode): Use ERR.
27954 (geometry_error): Likewise.
27955 (hd_probe_error): Remove. This is only used once, so we wrwite
27956 it inline instead.
27957 (read_error): Instead of printing read_error_string, just set up
27958 %si and fall through to ...
27959 (error_message): ... this new function, also used by ERR.
27960
08e46ede
CW
279612010-03-14 Colin Watson <cjwatson@ubuntu.com>
27962
27963 Speed up consecutive hostdisk operations on the same device.
27964
27965 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27966 (grub_util_biosdisk_open): Initialise disk->data.
27967 (struct linux_partition_cache): New structure.
27968 (linux_find_partition): Cache partition start positions; these are
27969 expensive to compute on every read and write.
27970 (open_device): Cache open file descriptor in disk->data, so that we
27971 don't have to reopen it and flush the buffer cache for consecutive
27972 operations on the same device.
27973 (grub_util_biosdisk_close): New function.
27974 (grub_util_biosdisk_dev): Set `close' member.
27975
27976 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27977 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27978 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27979 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27980 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27981
4a6d2d06
VS
279822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27983
27984 Compile parts of grub-emu as modules.
27985
27986 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27987 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27988 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27989 (all-local): Add $(GRUB_EMU).
27990 (install-local): Install $(GRUB_EMU).
27991 (uninstall): Uninstall $(GRUB_EMU).
27992 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27993 * kern/dl.c: Likewise.
27994 * commands/sleep.c: Not include machine/time.h.
27995 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27996 (COMMON_CFLAGS): Likewise.
27997 (sbin_UTILITIES): Remove grub-emu.
27998 (grub_emu_SOURCES): Removed.
27999 (kernel_img_RELOCATABLE): New variable.
28000 (pkglib_PROGRAMS): Add kernel.img.
28001 (kernel_img_SOURCES): New variable
28002 (kernel_img_CFLAGS): Likewise.
28003 (kernel_img_LDFLAGS): Likewise.
28004 (TARGET_NO_STRIP): Likewise.
28005 (TARGET_NO_DYNAMIC_MODULES): Likewise.
28006 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
28007 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
28008 (grub-emu): New target.
28009 (GRUB_EMU): New variable.
28010 * configure.ac: Whitelist -emu as possible x86_64 architecture.
28011 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
28012 * loader/xnu.c: Likewise.
28013 * include/grub/pci.h: Likewise.
28014 * genemuinit.sh: New file.
28015 * genemuinitheader.sh: Likewise.
28016 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
28017 Support TARGET_NO_DYNAMIC_MODULES.
28018 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
28019 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
28020 * disk/loopback.c: Likewise.
28021 * font/font_cmd.c: Likewise.
28022 * partmap/acorn.c: Likewise.
28023 * partmap/amiga.c: Likewise.
28024 * partmap/apple.c: Likewise.
28025 * partmap/gpt.c: Likewise.
28026 * partmap/msdos.c: Likewise.
28027 * partmap/sun.c: Likewise.
28028 * parttool/msdospart.c: Likewise.
28029 * term/gfxterm.c: Likewise.
28030 * video/bitmap.c: Likewise.
28031 * video/readers/jpeg.c: Likewise.
28032 * video/readers/png.c: Likewise.
28033 * video/readers/tga.c: Likewise.
28034 * video/video.c: Likewise.
28035 * util/grub-emu.c (read_command_list): Removed.
28036 (main): Don't call util_init_nls.
28037 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28038 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28039
91fdd2ed
VS
280402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28041
28042 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28043 date.mod, datehook.mod.
28044 (datetime_mod_SOURCES): New variable.
28045 (datetime_mod_CFLAGS): Likewise.
28046 (datetime_mod_LDFLAGS): Likewise.
28047 (date_mod_SOURCES): Likewise.
28048 (date_mod_CFLAGS): Likewise.
28049 (date_mod_LDFLAGS): Likewise.
28050 (datehook_mod_SOURCES): Likewise.
28051 (datehook_mod_CFLAGS): Likewise.
28052 (datehook_mod_LDFLAGS): Likewise.
28053 * conf/sparc64-ieee1275.rmk: Likewise.
28054 * lib/ieee1275/datetime.c: New file.
28055
873ccae6
VS
280562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28057
28058 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28059 (ieee1275_fb_mod_SOURCES): New variable.
28060 (ieee1275_fb_mod_CFLAGS): Likewise.
28061 (ieee1275_fb_mod_LDFLAGS): Likewise.
28062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28063 New proto.
28064 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28065 (HEAP_MAX_ADDR): Likewise.
28066 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28067 type.
28068 Correct stop condition.
28069 (grub_ieee1275_devices_iterate): New function.
28070 * video/ieee1275.c: New file.
28071
601c97c0
VS
280722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28073
28074 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28075
28076 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28077 as scratch.
28078 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28079 SCRATCH_PAD_DISKBOOT as scratch.
28080 (bootit): Pass Openfirmware pointer in %o4.
28081 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28082 of 0x200000.
28083 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28084 with util/grub-mkrawimage.c.
28085 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28086 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28087 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28088 (grub_aout_load) [GRUB_UTIL]: Likewise.
28089 * include/grub/kernel.h (grub_modules_get_end): New proto.
28090 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28091 (SCRATCH_PAD_BOOT): New definition.
28092 (SCRATCH_PAD_DISKBOOT): Likewise.
28093 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28094 * include/grub/sparc64/ieee1275/ieee1275.h
28095 (grub_ieee1275_original_stack): New variable
28096 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28097 New definition
28098 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28099 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28100 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28101 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28102 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28103 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28104 (grub_platform_image_format_t): New type.
28105 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28106 * kern/main.c (grub_modules_get_end)
28107 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28108 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28109 (codestart): Switch stacks.
28110 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28111 variable.
28112 (grub_heap_init): Use grub_modules_get_end.
28113 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28114 stack.
28115 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28116 (main): Likewise.
28117 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28118
d68b491e
TG
281192010-03-14 Thorsten Glaser <tg@mirbsd.org>
28120
28121 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28122
4e02ed50
MK
281232010-03-08 Matt Kraai <kraai@ftbfs.org>
28124
28125 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28126 bug #559005).
28127
1f15fc1e
VS
281282010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28129
28130 * genmoddep.awk: Output all missing symbols and not only first.
28131
fce5d8ff
VS
281322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28133
28134 * NEWS: Put the date of 1.98 release.
28135
d1e8a02f
VS
281362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28139 ft2build.h.
28140
696fd607
VS
281412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28144 completition in the middle of string.
28145
33e2e6f3
VS
281462010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28147
28148 * util/grub-mkrescue.in: Use mktemp with explicit template.
28149
b1f6d291
VS
281502010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28151
28152 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28153
2ac227c7
VS
281542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28155
28156 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28157 right pointer.
28158
8f9a632b
VS
281592010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28160
28161 Fix FreeBSD compilation.
28162
28163 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28164 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28165
60b03859
VS
281662010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28167
28168 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28169
48a5a769
VS
281702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28171
28172 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28173
3ab4bd77
VS
281742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28175
28176 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28177
d116e0d8
RM
281782010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28179
28180 Support relative image path in theme file.
28181
28182 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28183 (image_set_property): Handle theme_dir and relative path.
28184
c7ef54aa
VS
281852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28186
28187 * configure.ac: Alias amd64 to x86_64.
28188
fcee14ed
VS
281892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 * NEWS: mention multiboot on EFI.
28192
d0780363
VS
281932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28194
28195 * kern/main.c (grub_load_modules): Handle errors from init functions of
28196 embeded modules.
28197
41168ea4
VS
281982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28199
28200 * normal/autofs.c (autoload_fs_module): Handle errors.
28201
b54d93ac
VS
282022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28203
28204 Disable linux.mod on qemu-mips since it's not functional and leads
28205 to compilation failure.
28206
28207 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28208 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28209 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28210 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28211 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28212 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28213 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28214 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28215 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28216 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28217 Reported by: BVK Chaitanya
28218
fc8345da
JU
282192010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28220
28221 * INSTALL: Add gettext as a dependency and add qemu to a new section
28222 "Prerequisites for make-check".
28223
4760f979
CF
282242010-03-04 Christian Franke <franke@computer.org>
28225
28226 * util/grub-pe2elf.c: Add missing include "progname.h".
28227
f209b5b2
VS
282282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28229
28230 * normal/crypto.c (read_crypto_list): Fix a typo.
28231 Reported by: Seth Goldberg.
28232
b4b7be98
VS
282332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28234
28235 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28236 Reported by: Seth Goldberg.
b4b7be98 28237
c0ee0385
VS
282382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28239
28240 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28241 ascii.bitmaps.
28242
a8efbf64
VS
282432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28244
28245 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28246 Reported by: Seth Goldberg.
a8efbf64 28247
08dcd913
VS
282482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28249
28250 * util/i386/efi/grub-install.in: Copy gettext files.
28251
c4d0b332
VS
282522010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28253
28254 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28255
c6f2fe52
VS
282562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28257
28258 Wait for user entry basing on presence of output rather than on errors.
28259
28260 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28261 (grub_install_newline_hook): Likewise.
28262 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28263 * normal/menu.c (show_menu): Check line_counter to determine presence
28264 of output.
28265 * normal/term.c (grub_normal_line_counter): New variable.
28266 (grub_normal_get_line_counter): New function.
28267 (grub_install_newline_hook): Likewise.
28268
5382b1e4
VS
282692010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28272
5519963b
VS
282732010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28274
28275 * configure.ac: Update version to 1.98.
28276
72b28631
VS
282772010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28278
28279 * util/grub.d/10_linux.in (linux_entry): Don't default to
28280 gfxpayload=keep if Linux doesn't support video handover.
28281
c140a180
VS
282822010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28283
28284 Don't compile video modules on yeeloong since video subsystem is part
28285 of kernel.
28286
28287 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28288 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28289 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28290 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28291 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28292 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28293 * include/grub/bitmap_scale.h: Likewise.
28294 * include/grub/bufio.h: Likewise.
28295 * include/grub/font.h: Likewise.
28296 * include/grub/gfxterm.h: Likewise.
28297 * include/grub/video.h: Likewise.
28298 * include/grub/vbe.h: Don't include video_fb.h.
28299 * video/i386/pc/vbe.c: Include video_fb.h.
28300 * commands/i386/pc/vbetest.c: Include video.h.
28301
a0ca21c2
CW
283022010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28303
28304 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28305 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28306 default entry if GRUB_SAVEDEFAULT=true. This allows using
28307 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28308 saving a new default on every boot.
28309
4a8a763c
VS
283102010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28313 * normal/term.c (read_terminal_list): Likewise.
28314 * normal/main.c (grub_normal_init_page): Likewise.
28315 (grub_normal_read_line_real): Likewise.
28316
607ffde2
VS
283172010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28318
28319 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28320 memory leak.
28321 Reported by: Seth Goldberg.
28322
2b8fa975
CW
283232010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28324
28325 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28326 duplicate declaration of `start'.
28327
618307dd
VS
283282010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28331 filename.
28332 Reported by: Georgy Buranov
28333
7dd05b96 283342010-02-20 Carles Pina i Estany <carles@pina.cat>
28335
28336 * util/grub-mkrawimage.c (usage): Change string formatting to
28337 improve gettext.
28338
d1484a42
MRA
283392010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28340
28341 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28342 backspace keys.
28343
42b1d186
VS
283442010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28345
28346 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28347 Reported by: Michael Suchanek.
28348
283492010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28350
28351 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28352 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28353
d9f31a41
VS
283542010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28355
28356 Remove any reference to non-free fonts.
28357
28358 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28359 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28360 uses non-free components.
28361 * font/font.c (grub_font_get_name): Remove example name.
28362 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28363 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28364 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28365 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28366
2793c71e
GB
283672010-02-16 Georgy Buranov <gburanov@gmail.com>
28368
28369 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28370
402e3779
VS
283712010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28372
28373 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28374 Double divisor.
28375 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28376 features.
28377 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28378
0dd1e0dd
VS
283792010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28380
28381 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28382
6fa7cfce
ST
283832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28384
28385 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28386 * docs/grub.texi (Command-line and menu entry commands): Document play
28387 command.
28388
37c8483b
ST
283892010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28390
28391 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28392 parse arguments as inline tempo and notes. Move code for playing notes
28393 to...
28394 (play): ... new function.
28395
14da0fb7
ST
283962010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28397
28398 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28399 grub_uint16_t instead of short.
28400 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28401 disk from little endian to cpu endianness.
28402
04459e70
ST
284032010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28404
28405 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28406 GRUB_TICKS_PER_SECOND instead of 120.
28407
a0876943
VS
284082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28409
28410 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28411 escape sequence after \e.
28412
e29f95dc
VS
284132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28414
28415 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28416 non-ASCII characters.
28417
d27859b2
VS
284182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28421 set root in single quotes to prevent \, from being unescaped.
28422
bc028f2f
VS
284232010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28424
28425 Prevent unknown commands from stopping menuentry execution.
28426
28427 * script/execute.c (grub_script_execute_cmdline): Print error after
28428 unknown command.
28429
095f5f82
VS
284302010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28433 Reported by: Pavel Pisa.
28434
8c717950
VS
284352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28436
28437 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28438
904935c3
VS
284392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28440
28441 Merge grub_ieee1275_map_physical into grub_map and rename to
28442 grub_ieee1275_map
28443
28444 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28445 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28446 Remove.
28447 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28448 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28449 necessary.
28450 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28451
5b59a4e3
VS
284522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28453
28454 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28455 opening and not after.
28456
69e137e8
VS
284572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28458
28459 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28460 constants.
28461
2c0fcc36
VS
284622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28463
28464 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28465 (alloc_phys): Use ALIGN_UP instead of align_addr.
28466
8c6052ce
VS
284672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28468
28469 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28470
17cec782
VS
284712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28474
e0128bbd
VS
284752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28478 verbose dprintf.
28479
ca62070b
VS
284802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28481
28482 Fix over-4GiB seek on sparc64.
28483
28484 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28485 Replace pos_i and pos_lo with pos. All users updated.
28486 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28487 New constant.
28488 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28489 Likewise.
28490 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28491 and pos_lo.
28492
bdca2607
VS
284932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28494
28495 * util/grub-mkrawimage.c (main): Call set_program_name.
28496
da278c4d
VS
284972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28498
28499 Properly align 64-bit targets.
28500
28501 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28502 (generate_image): Use ALIGN_ADDR.
28503
b274d734
VS
285042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28505
28506 Properly create cross-endian images.
28507
28508 * include/grub/types.h (grub_host_to_target_addr): New macro
28509 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28510
82da2062
VS
285112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28514
7cae4377
VS
285152010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28516
28517 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28518
28519 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28520 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28521 (grub_linux_boot): Divide by 64K when on VESA.
28522
65a533e7
VS
285232010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28524
28525 Support GRUB_GFXPAYLOAD_LINUX.
28526
28527 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28528 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28529
dd01d397
VS
285302010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28531
28532 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28533 to show messages instead of discarding them.
28534 Process errors after executing command and not before. Keep old method
28535 too as precaution.
28536
660960d6
VS
285372010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28538
28539 * configure.ac: Check for ft2build.h.
28540
62509f04
VS
285412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28542
28543 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28544
473df63d
VS
285452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28546
28547 * genkernsyms.sh.in: Use TARGET_CC.
28548
c98d2a13
CW
285492010-02-07 Colin Watson <cjwatson@ubuntu.com>
28550
28551 * NEWS: Update.
28552
6e14234c
VS
285532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28554
28555 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28556 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28557 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28558
b255e9cf
YB
285592010-02-07 Yves Blusseau <blusseau@zetam.org>
28560
6e14234c 28561 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28562
98e6959d
VS
285632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28564
28565 Fix warnings in grub-emu when compiling with maximum warning options.
28566
28567 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28568 (grub_arch_modules_addr): Return 0 and not NULL.
28569 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28570 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28571 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28572 of disk to dsk to avoid shadowing.
74e4934e
VS
28573 (find_free_slot): Fix prototype.
28574 * util/getroot.c (grub_util_is_dmraid): Make static.
28575 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28576 Add missing prototype.
28577 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28578
74e31b5c
VS
285792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28582 appropriately.
28583
6b2ad14b
VS
285842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28585
28586 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28587 code out.
28588
8f891adc
VS
285892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28590
28591 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28592 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28593 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28594 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28595 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28596 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28597
74b45184
VS
285982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 * include/grub/err.h (grub_err_printf): Don't export.
28601
a4bced77
VS
286022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28603
28604 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28605
007d0695
VS
286062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28607
28608 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28609 * kern/misc.c (grub_gettext_dummy): Make static.
28610
b6c0d9c2
VS
286112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28612
28613 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28614 by non-valid ones.
28615 * kern/term.c (grub_putchar): Likewise.
28616
f51a90d0
VS
286172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28618
28619 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28620 buggy hook call and memory leak.
28621
6846cec5
VS
286222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28623
28624 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28625
468d69fe
VS
286262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28627
28628 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28629
51906b8c
VS
286302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28631
28632 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28633 modevar.
28634 Return grub_errno on allocation error.
28635
09706ce5
VS
286362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28637
28638 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28639
911df80c
YB
286402010-02-06 Yves Blusseau <blusseau@zetam.org>
28641
28642 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28643 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28644
3746a6bc
VS
286452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28646
28647 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28648 non-pxe disk.
28649 (grub_pxefs_open): Likewise.
28650
09706ce5
VS
286512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28652
28653 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28654 * util/grub.d/10_kfreebsd.in: Likewise.
28655 * util/grub.d/10_linux.in: Likewise.
28656
7cc192d9
VS
286572010-02-06 Colin D Bennett <colin@gibibit.com>
28658
28659 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28660 (gfxmenu_mod_SOURCES): New variable.
28661 (gfxmenu_mod_CFLAGS): Likewise.
28662 (gfxmenu_mod_LDFLAGS): Likewise.
28663 * include/grub/term.h (grub_term_set_current_output): Declare
28664 argument as const.
28665 * docs/gfxmenu-theme-example.txt: New file.
28666 * gfxmenu/gfxmenu.c: Likewise.
28667 * gfxmenu/gui_box.c: Likewise.
28668 * gfxmenu/gui_canvas.c: Likewise.
28669 * gfxmenu/gui_circular_progress.c: Likewise.
28670 * gfxmenu/gui_image.c: Likewise.
28671 * gfxmenu/gui_label.c: Likewise.
28672 * gfxmenu/gui_list.c: Likewise.
28673 * gfxmenu/gui_progress_bar.c: Likewise.
28674 * gfxmenu/gui_string_util.c: Likewise.
28675 * gfxmenu/gui_util.c: Likewise.
28676 * gfxmenu/icon_manager.c: Likewise.
28677 * gfxmenu/model.c: Likewise.
28678 * gfxmenu/named_colors.c: Likewise.
28679 * gfxmenu/theme_loader.c: Likewise.
28680 * gfxmenu/view.c: Likewise.
28681 * gfxmenu/widget-box.c: Likewise.
28682 * include/grub/gfxmenu_model.h: Likewise.
28683 * include/grub/gfxmenu_view.h: Likewise.
28684 * include/grub/gfxwidgets.h: Likewise.
28685 * include/grub/gui.h: Likewise.
28686 * include/grub/gui_string_util.h: Likewise.
28687 * include/grub/icon_manager.h: Likewise.
28688
286892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28690
28691 Agglomerate scrolling in gfxterm.
28692
28693 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28694 (grub_virtual_screen_setup): Initialise 'total_screen'.
28695 (write_char): Split to ...
28696 (paint_char): ... this ...
28697 (write_char): ... and this.
28698 (paint_char): Handle delayed scrolling.
28699 (draw_cursor): Likewise.
28700 (scroll_up): Split to ...
28701 (real_scroll): ... this ...
28702 (scroll_up): ... and this.
28703 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28704 characters.
28705 (grub_gfxterm_refresh): Call real_scroll.
28706
287072010-02-06 Colin D Bennett <colin@gibibit.com>
28708
28709 * include/grub/misc.h (grub_iscntrl): New inline function.
28710 (grub_isalnum): Likewise.
28711 (grub_strtol): Likewise.
28712
287132010-02-06 Colin D Bennett <colin@gibibit.com>
28714
28715 * normal/menu_text.c (get_entry_number): Move from here ...
28716 * normal/menu.c (get_entry_number): ... moved here.
28717 * include/grub/menu.h (grub_menu_get_default_entry_index):
28718 New prototype.
28719 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28720 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28721 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28722 (grub_menu_viewer_should_return): Likewise.
28723 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28724 * normal/menu_text.c (run_menu): Enable menu switching.
28725 * normal/menu_viewer.c (should_return): New variable.
28726 (menu_viewer_changed): Likewise.
28727 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28728 (grub_menu_viewer_should_return): New function.
28729 (menuviewer_write_hook): Likewise.
28730 (grub_menu_viewer_init): Likewise.
28731
287322010-02-06 Colin D Bennet <colin@gibibit.com>
287332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28734
28735 Support for gfxterm in a window.
28736
28737 * include/grub/gfxterm.h: New file.
28738 * include/grub/video.h (struct grub_video_rect): New declaration.
28739 (grub_video_rect_t): Likewise.
28740 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28741 (refcount): New variable.
28742 (render_target): Likewise.
28743 (window): Likewise.
28744 (repaint_callback): Likewise.
28745 (grub_virtual_screen_setup): Use 'render_target'.
28746 (init_window): New function.
28747 (grub_gfxterm_init_window): Likewise.
28748 (grub_gfxterm_init): Check reference counter.
28749 Use init_window.
28750 (destroy_window): New function.
28751 (grub_gfxterm_destroy_window): Likewise.
28752 (grub_gfxterm_fini): Check reference counter.
28753 Use destroy_window.
28754 (redraw_screen_rect): Restore viewport.
28755 Use 'render_target' and 'window'.
28756 Call 'repaint_callback'.
28757 (write_char): Use 'render_target'.
28758 (draw_cursor): Likewise.
28759 (scroll_up): Restore viewport.
28760 Use 'render_target' and 'window'.
28761 Call 'repaint_callback'.
28762 (grub_gfxterm_cls): Likewise.
28763 (grub_gfxterm_refresh): Use 'window'.
28764 (grub_gfxterm_set_repaint_callback): New function.
28765 (grub_gfxterm_background_image_cmd): Use 'window'.
28766 (grub_gfxterm_get_term): New function.
28767 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28768
287692010-02-06 Colin D Bennett <colin@gibibit.com>
28770
28771 Bitmap scaling support.
28772
28773 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28774 (bitmap_scale_mod_SOURCES): New variable.
28775 (bitmap_scale_mod_CFLAGS): Likewise.
28776 (bitmap_scale_mod_LDFLAGS): Likewise.
28777 * include/grub/bitmap_scale.h: New file.
28778 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28779 (background_image_cmd_options): New variable.
28780 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28781 (cmd): Rename and change type to ...
28782 (background_image_cmd_handle): ... this. All users updated.
28783 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28784 * video/bitmap_scale.c: New file.
28785
287862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28787
28788 SDL support.
28789
28790 * Makefile.in (LIBSDL): New variable.
28791 (enable_grub_emu_sdl): Likewise.
28792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28793 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28794 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28795 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28796 * util/sdl.c: New file.
28797
287982010-02-06 Colin D Bennett <colin@gibibit.com>
287992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28800
28801 Double buffering support.
28802
28803 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28804 * include/grub/video.h: Update comment.
28805 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28806 New type.
28807 (grub_video_fb_doublebuf_blit_init): New prototype.
28808 * term/gfxterm.c (scroll_up): Support double buffering.
28809 (grub_gfxterm_refresh): Likewise.
28810 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28811 (grub_video_fb_doublebuf_blit_init): Likewise.
28812 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28813 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28814 'displayed_page', 'render_page' and 'update_screen'.
28815 (grub_video_vbe_fini): Free offscreen buffer.
28816 (doublebuf_pageflipping_commit): New function.
28817 (doublebuf_pageflipping_update_screen): Likewise.
28818 (doublebuf_pageflipping_init): Likewise.
28819 (double_buffering_init): Likewise.
28820 (grub_video_vbe_setup): Enable doublebuffering.
28821 (grub_video_vbe_swap_buffers): Implement.
28822 (grub_video_vbe_set_active_render_target): Handle double buffering.
28823 (grub_video_vbe_get_active_render_target): Likewise.
28824 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28825 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28826 (grub_video_vbe_enable_double_buffering): Likewise.
28827 (grub_video_vbe_swap_buffers): Use update_screen.
28828 (grub_video_set_mode): Use double buffering.
28829
288302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28831
28832 * maintainance/gentrigtables.py: Remove.
28833 * lib/trig.c: Likewise.
28834
28835 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28836
28837 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28838 `trigtables.c'.
28839 (trigtables.c): New rule.
28840 (gentrigtables): Likewise.
28841 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28842
288432010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28844
28845 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28846 integer constants.
28847
288482010-02-06 Colin D Bennet <colin@gibibit.com>
28849
28850 Trigonometry support.
28851
28852 * include/grub/trig.h: New file.
28853 * lib/trig.c: Likewise.
28854 * maintainance/gentrigtables.py: Likewise.
28855 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28856 (trig_mod_SOURCES): New variable.
28857 (trig_mod_CFLAGS): Likewise.
28858 (trig_mod_LDFLAGS): Likewise.
28859
5562834e
VS
288602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28861
28862 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28863 disk devices.
28864
4f8528fc
VS
288652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28866
28867 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28868 error.
28869
2b4068e9
VS
288702010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28871
28872 * util/hostdisk.c (open_device): Don't use partition device when reading
28873 before the partition.
28874 (grub_util_biosdisk_read): Don't read from partition and before the
28875 partition in single operation.
28876 (grub_util_biosdisk_write): Don't write to partition and before the
28877 partition in single operation.
28878
399f6e4d
TL
288792010-02-03 Torsten Landschoff <torsten@debian.org>
28880
28881 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28882 last sectors.
28883
996649b0
VS
288842010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28885
28886 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28887 CDROM reads.
28888 (grub_biosdisk_write): Refuse to write to CDROM.
28889
3b205d4d
VS
288902010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28891
28892 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28893
61e89d9d
VS
288942010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28895
28896 * font/font.c (find_glyph): Check that bmp_idx is available before
28897 using it.
28898 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28899 with (font == NULL).
28900
bf7fcba2
CS
289012010-01-28 Christian Schmitt <chris@ilovelinux.de>
28902
28903 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28904
f45d2663
BC
289052010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28906
28907 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28908 * util/grub-script-check.c (getline): Fix empty lines case.
28909
ec1444e6
RM
289102010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28911
28912 * Makefile.in (check): Exit with fail status when one of the tests
28913 fails.
28914 * tests/example_functional_test.c (example_test): Fix reversed assert.
28915 * tests/example_unit_test.c (example_test): Likewise.
28916
2e1cb9bb
CW
289172010-01-28 Colin Watson <cjwatson@ubuntu.com>
28918
28919 * util/grub.d/10_linux.in: This script does not use any of the
28920 contents of gettext.sh, only the external command `gettext', so stop
28921 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28922 the same prefix as GRUB.)
28923 * util/grub.d/10_kfreebsd.in: Likewise.
28924
63533ab0
VS
289252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28926
28927 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28928 of the line.
28929
989e1f93
VS
289302010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28931
28932 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28933 last sectors.
28934
e709ebe2
VS
289352010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28936
28937 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28938 having a 4KiB and not 32KiB buffer size.
28939
27dea7ed
RM
289402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28941
28942 * util/hostfs.c: Include `<errno.h>'.
28943 (grub_hostfs_read): Handle errors from fseeko() and fread().
28944
67667b9c
RM
289452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28946
28947 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28948 loop when using read hooks on files whose size isn't sector-aligned.
28949
c294d9d8
RM
289502010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28951
28952 Remove unused parameter.
28953
28954 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28955 (grub_iso9660_open): Remove initialization of `data->length'.
28956
af75a9f1
RM
289572010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28958
28959 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28960 memleak conditions.
28961
254e2ce5 289622010-01-27 Carles Pina i Estany <carles@pina.cat>
28963
28964 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28965 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28966
b510928c 289672010-01-26 Carles Pina i Estany <carles@pina.cat>
28968
28969 * util/bin2h.c (usage): Fix warning (space after backslash).
28970
aa2f9dd2 289712010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28972
28973 * font/font.c: Include `grub/fontformat.h.
28974 Remove font file format constants.
28975 (grub_font_load): Use the new macros.
28976 * include/grub/fontformat.h: New file.
28977 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28978 (write_font_pf2): Use the new macros.
28979
94e7e712
RM
289802010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28981
28982 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28983 does.
28984
3973a59a
RM
289852010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28986
28987 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28988
28989 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28990 (_start): Macroify `0x7F'.
28991
28992 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28993 (make_install_device): Use "(pxe)" as fallback prefix when booting
28994 via PXE.
28995
42e0cba3
GS
289962010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28997
28998 * configure.ac: Reset LIBS after check for libgcc symbols.
28999
847effd8
CW
290002010-01-25 Colin Watson <cjwatson@ubuntu.com>
29001
29002 * util/hostdisk.c (open_device): Add trailing newline to debug
29003 message.
29004
ea4a7e35
GS
290052010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
29006
29007 * configure.ac: Check for `limits.h'.
29008 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
29009
67951a53
RM
290102010-01-24 Robert Millan <rmh.grub@aybabtu.com>
29011
29012 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
29013 capitalize error strings.
29014
c273d4ce
ST
290152010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
29016
29017 * util/grub.d/10_hurd.in: Add a recovery mode.
29018
69be5b74
VS
290192010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
29020
29021 * configure.ac: Check for libgcc symbols with -nostdlib.
29022
fc9e5810
BC
290232010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
29024
29025 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
29026
4b358c0a
VS
290272010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29028
29029 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
29030 stack since heap may be unavailable at that point.
29031 (grub_ofconsole_gotoxy): Likewise.
29032
454fcd1c
VS
290332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29034
29035 * configure.ac: Check for _restgpr_14_x.
29036 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
29037 and _savegpr_* prototypes.
29038
566863ca
RM
290392010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29040
29041 Use generic grub_reboot() for i386-efi.
29042
29043 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29044 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29045 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29046
bf86e59a
VS
290472010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29048
29049 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29050 presence of "prefix" variable as it breaks when normal.mod is
29051 embedded.
29052
d645e0f8
VS
290532010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29054
29055 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29056 stack since heap is unavailable at that point.
29057
f9ab2e25
VS
290582010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29061 (grub_freebsd_bootinfo): Rewritten.
29062 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29063
01fc7054
VS
290642010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29065
29066 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29067
caab4fd6
RM
290682010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29069
29070 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29071 domain now.
29072
67eb1427
FZ
290732010-01-20 Felix Zielcke <fzielcke@z-51.de>
29074
29075 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29076 around for handling "/" to the correct fix. Fix a memory leak. Use
29077 xstrdup instead of strdup.
29078
a9ed4ff3
VS
290792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29080
29081 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29082
290832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
29084
29085 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29086
29087 * font/font.c (struct grub_font): New member 'bmp_idx'.
29088 (font_init): Initialise 'bmp_idx'.
29089 (load_font_index): Fill 'bmp_idx'.
29090 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29091
48209f4f
VS
290922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29093
29094 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29095 unnecessary calls.
29096
9f0a4bb7
VS
290972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29098
29099 Move context handling out of the kernel.
29100
29101 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29102 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29103 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29104 * conf/i386-efi.rmk: Likewise.
29105 * conf/i386-ieee1275.rmk: Likewise.
29106 * conf/i386-pc.rmk: Likewise.
29107 * conf/powerpc-ieee1275.rmk: Likewise.
29108 * conf/sparc64-ieee1275.rmk: Likewise.
29109 * conf/x86_64-efi.rmk: Likewise.
29110 * include/grub/env.h: Include grub/menu.h.
29111 (grub_env_var_type): Removed.
29112 (grub_env_var): Replaced field 'type' with 'global'.
29113 (grub_env_find): New prototype.
29114 (grub_env_context_open): Remove EXPORT_FUNC.
29115 (grub_env_context_close): Likewise.
29116 (grub_env_export): Likewise.
29117 (grub_env_set_data_slot): Removed.
29118 (grub_env_get_data_slot): Likewise.
29119 (grub_env_unset_data_slot): Likewise.
29120 (grub_env_unset_menu): New prototype.
29121 (grub_env_set_menu): Likewise.
29122 (grub_env_get_menu): Likewise.
29123 * include/grub/env_private.h: New file.
29124 * include/grub/normal.h (grub_context_init): New prototype.
29125 (grub_context_fini): Likewise.
29126 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29127 * normal/context.c (grub_cmd_export): ... to here.
29128 * kern/env.c: Include env_private.h.
29129 (HASHSZ): Moved to include/grub/env_private.h.
29130 (grub_env_context): Likewise.
29131 (grub_env_sorted_var): Likewise.
29132 (current_context): Renamed from this ...
29133 (grub_current_context): ...to this. 'static' removed. All users updated.
29134 (grub_env_find): Removed 'static'.
29135 (grub_env_context_open): Moved to normal/context.c.
29136 (grub_env_context_close): Likewise.
29137 (grub_env_export): Likewise.
29138 (mangle_data_slot_name): Removed.
29139 (grub_env_set_data_slot): Likewise.
29140 (grub_env_get_data_slot): Likewise.
29141 (grub_env_unset_data_slot): Likewise.
29142 * kern/main.c (grub_set_root_dev): Don't export root.
29143 It will be done later.
29144 (grub_main): Don't export prefix.
29145 It will be done later.
29146 * normal/context.c: New file.
29147 * normal/main.c (free_menu): Use grub_env_unset_menu.
29148 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29149 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29150 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29151 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29152
8dd35b8c
VS
291532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29154
29155 setpci support.
29156
29157 * commands/setpci.c: New file.
29158 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29159 (setpci_mod_SOURCES): New variable.
29160 (setpci_mod_CFLAGS): Likewise.
29161 (setpci_mod_LDFLAGS): Likewise.
29162
449193d5
VS
291632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29164
29165 Byte-addressable PCI configuration space.
29166
29167 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29168 dword address.
29169 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29170 GRUB_PCI_REG_CACHELINE.
29171 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29172 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29173 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29174 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29175 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29176 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29177 grub_pci_make_address.
29178 (lock_rom_area): Likewise.
29179 * commands/lspci.c (grub_lspci_iter): Use macroses
29180 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29181 of grub_pci_make_address.
29182 * disk/ata.c (grub_ata_pciinit): Likewise.
29183 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29184 (GRUB_PCI_REG_VENDOR): Likewise.
29185 (GRUB_PCI_REG_DEVICE): Likewise.
29186 (GRUB_PCI_REG_COMMAND): Likewise.
29187 (GRUB_PCI_REG_STATUS): Likewise.
29188 (GRUB_PCI_REG_REVISION): Likewise.
29189 (GRUB_PCI_REG_CLASS): Likewise.
29190 (GRUB_PCI_REG_CACHELINE): Likewise.
29191 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29192 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29193 (GRUB_PCI_REG_BIST): Likewise.
29194 (GRUB_PCI_REG_ADDRESSES): Likewise.
29195 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29196 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29197 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29198 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29199 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29200 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29201 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29202 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29203 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29204 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29205 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29206 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29207 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29208 (GRUB_PCI_REG_MIN_GNT): Likewise.
29209 (GRUB_PCI_REG_MAX_LAT): Likewise.
29210 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29211 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29212 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29213 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29214 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29215 space.
29216
96d73208
RM
292172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29218
29219 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29220 can be reliably determined to be supported.
29221
d4484482
RM
292222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29223
29224 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29225 that VESA is supported.
29226 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29227 supported.
29228
00308ecf
VS
292292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29230
29231 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29232
f66924a4
RM
292332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29234
29235 * util/misc.c (make_system_path_relative_to_its_root): Work around
29236 special-casing of "/", as previous incarnation of this routine did.
29237
cbca0ada
VS
292382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29239
29240 Fix any-emu compilation.
29241
29242 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29243 * grub_bin2h_SOURCES: New variable.
29244
34a66d99
RM
292452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29246
29247 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29248
94fabf58
RM
292492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29250
29251 * util/grub.d/00_header.in: Fix handling of locale_dir.
29252
02cf98ca
VS
292532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29254
29255 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29256 as possible unifont location (Gentoo).
29257 Reported by: Alexander Brüning
29258
327dbcd7
VS
292592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 Don't try to generate lists for kernel.img.
29262
29263 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29264 (pkglib_MODULES): Remove kernel.img.
29265 (kernel_img_EXPORTS): Removed.
29266 (kernel_img_RELOCATABLE): New variable.
29267 * conf/x86_64-efi.rmk: Likewise.
29268 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29269
ca467290
VS
292702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29271
29272 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29273 grub_xasprintf or grub_snprintf.
29274 (grub_vsprintf): Likewise.
29275 (grub_snprintf): New proto.
29276 (grub_vsnprintf): Likewise.
29277 (grub_xasprintf): Likewise.
29278 (grub_xvasprintf): Likewise.
29279 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29280 (grub_sprintf): Removed.
29281 (grub_vsnprintf): New function.
29282 (grub_snprintf): Likewise.
29283 (grub_xvasprintf): Likewise.
29284 (grub_xasprintf): Likewise.
29285 (grub_vsprintf): Renamed to ...
29286 (grub_vsnprintf_real): ...this. New argument max_len.
29287
aca655fd
BC
292882010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29289
29290 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29291 fix grub-script-check warning.
29292
7ee92c32
VS
292932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29294
29295 * include/grub/font.h (grub_font_load): Fix prototype.
29296
f80927ca
VS
292972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29298
29299 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29300
119c50ea
VS
293012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29302
29303 * include/grub/x86_64/at_keyboard.h: New file.
29304
47d5f3c1
VS
293052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29306
29307 * loader/mips/linux.c: Include missing grub/i18n.h.
29308
55ff5266
RM
293092009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29310
29311 * normal/menu.c (notify_execution_failure): Clarify error message.
29312
c893cc87
RM
293132009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29314
29315 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29316 return value (and revert all return statements). Update users.
29317
917dd370
CW
293182010-01-20 Dan Merillat <debian@dan.merillat.org>
29319
29320 * kern/device.c (grub_device_iterate): Allocate new part_ent
29321 structure based on sizeof (*p) rather than sizeof (p->next), to
29322 account for structure padding.
29323
29324 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29325 disk is NULL, which might happen for LVM physical volumes with no
29326 LVM signature.
29327
d4a4ee57
RM
293282009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29329
29330 * loader/mips/linux.c (grub_cmd_initrd)
29331 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29332
293332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29334
29335 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29336 (grub_video_video_init, grub_video_bitmap_init)
29337 (grub_font_manager_init, grub_term_gfxterm_init)
29338 (grub_at_keyboard_init): New extern declarations.
29339 (grub_machine_init): Initialize gfxterm and at_keyboard.
29340
29341 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29342
29343 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29344 `gfxterm.mod' into core image.
29345
29346 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29347 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29348 (kernel_img_FORMAT): Copy to ...
29349
29350 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29351 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29352 (kernel_img_FORMAT): ... here, and ...
29353
29354 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29355 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29356 (kernel_img_FORMAT): ... here.
29357
29358 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29359 and input (at_keyboard) terminals in kernel.
29360 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29361
29362 (pkglib_MODULES): Remove `pci.mod'.
29363 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29364 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29365 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29366 (at_keyboard_mod_LDFLAGS): Remove variables.
29367
293682010-01-11 Felix Zielcke <fzielcke@z-51.de>
29369
29370 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29371
293722009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29373
29374 * include/grub/mips/libgcc.h: Only export symbols for functions
29375 that libgcc provides.
29376
293772009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29378
29379 MIPS support.
29380
29381 * bus/bonito.c: New file.
29382 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29383 GRUB_PCI_NUM_DEVICES.
29384 * term/i386/pc/serial.c: Move to ...
29385 * term/serial.c: ... here. All users updated.
29386 * util/i386/pc/grub-mkimage.c: Move to ...
29387 * util/grub-mkrawimage.c: ... here. All users updated.
29388 * term/i386/pc/at_keyboard.c: Move to ...
29389 * term/at_keyboard.c: ... here. All users updated.
29390 * conf/mips-qemu-mips.rmk: New file.
29391 * conf/mips-yeeloong.rmk: Likewise.
29392 * conf/mips.rmk: Likewise.
29393 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29394 mipsel-qemu-mips.
29395 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29396 to port addresses.
29397 (grub_ata_pciinit): Support CS5536.
29398 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29399 * font/font_cmd.c (loadfont_command): Open file before passing it to
29400 grub_font_load.
29401 (pseudo_file_read): New function.
29402 (pseudo_file_close): Likewise.
29403 (pseudo_fs): New structure.
29404 (load_font_module): New function.
29405 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29406 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29407 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29408 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29409 * include/grub/i386/at_keyboard.h: Split into ...
29410 * include/grub/at_keyboard.h: ... this ...
29411 * include/grub/i386/at_keyboard.h: ... and this.
29412 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29413 New prototype.
29414 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29415 updated.
29416 (grub_elf64_size): Likewise.
29417 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29418 filename.
29419 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29420 * include/grub/i386/coreboot/serial.h: Rewritten.
29421 * include/grub/i386/ieee1275/serial.h: Include
29422 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29423 * include/grub/i386/pc/serial.h: Moved from here ...
29424 * include/grub/serial.h: ... to here. All users updated.
29425 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29426 (GRUB_PCI_NUM_BUS): Likewise.
29427 (GRUB_PCI_NUM_DEVICES): Likewise.
29428 (grub_pci_device_map_range): Add missing volatile keyword.
29429 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29430 * include/grub/mips/at_keyboard.h: New file.
29431 * include/grub/mips/cache.h: Likewise.
29432 * include/grub/mips/io.h: Likewise.
29433 * include/grub/mips/kernel.h: Likewise.
29434 * include/grub/mips/libgcc.h: Likewise.
29435 * include/grub/mips/pci.h: Likewise.
29436 * include/grub/mips/qemu-mips/boot.h: Likewise.
29437 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29438 * include/grub/mips/qemu-mips/loader.h: Likewise.
29439 * include/grub/mips/qemu-mips/memory.h: Likewise.
29440 * include/grub/mips/qemu-mips/serial.h: Likewise.
29441 * include/grub/mips/qemu-mips/time.h: Likewise.
29442 * include/grub/mips/relocator.h: Likewise.
29443 * include/grub/mips/time.h: Likewise.
29444 * include/grub/mips/types.h: Likewise.
29445 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29446 * include/grub/mips/yeeloong/boot.h: Likewise.
29447 * include/grub/mips/yeeloong/kernel.h: Likewise.
29448 * include/grub/mips/yeeloong/loader.h: Likewise.
29449 * include/grub/mips/yeeloong/memory.h: Likewise.
29450 * include/grub/mips/yeeloong/pci.h: Likewise.
29451 * include/grub/mips/yeeloong/serial.h: Likewise.
29452 * include/grub/mips/yeeloong/time.h: Likewise.
29453 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29454 * kern/elf.c (grub_elf32_size): New parameter. All users
29455 updated.
29456 (grub_elf64_size): Likewise.
29457 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29458 Load modules before saying "Welcome to GRUB!".
29459 Call grub_refresh after saying "Welcome to GRUB!".
29460 * kern/mips/cache.S: New file.
29461 * kern/mips/cache_flush.S: Likewise.
29462 * kern/mips/dl.c: Likewise.
29463 * kern/mips/init.c: Likewise.
29464 * kern/mips/qemu-mips/init.c: Likewise.
29465 * kern/mips/startup.S: Likewise.
29466 * kern/mips/yeeloong/init.c: Likewise.
29467 * kern/term.c (grub_putcode): Handle NULL terminal.
29468 (grub_getcharwidth): Likewise.
29469 (grub_getkey): Likewise.
29470 (grub_checkkey): Likewise.
29471 (grub_getkeystatus): Likewise.
29472 (grub_getxy): Likewise.
29473 (grub_getwh): Likewise.
29474 (grub_gotoxy): Likewise.
29475 (grub_cls): Likewise.
29476 (grub_setcolorstate): Likewise.
29477 (grub_setcolor): Likewise.
29478 (grub_getcolor): Likewise.
29479 (grub_refresh): Likewise.
29480 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29481 (write_jump): Add hatch nop.
29482 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29483 * lib/mips/setjmp.S: New file.
29484 * loader/mips/linux.c: Likewise.
29485 * term/i386/pc/at_keyboard.c: Move from here ...
29486 * term/at_keyboard.c: ... to here.
29487 * term/i386/pc/serial.c: Moved from here ...
29488 * term/serial.c: ... to here. All users updated.
29489 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29490 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29491 (serial_translate_key_sequence): Avoid deadlock.
29492 (grub_serial_getkey): Handle backspace.
29493 (grub_serial_putchar): Fix newline handling.
29494 * util/i386/pc/grub-mkimage.c: Move from here ...
29495 * util/grub-mkrawimage.c: ... to here. All users updated.
29496 (generate_image): New parameters 'font_path' and 'format'.
29497 Support embedding font.
29498 Use grub_host_to_target* instead of grub_cpu_to_le*.
29499 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29500 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29501 (options): New option "--font".
29502 (usage): Likewise.
29503 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29504 (main): Handle "--font".
29505 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29506 (grub_virtual_screen_setup): Set bg_color_display.
29507 (redraw_screen_rect): Use bg_color_display instead of incorrect
29508 bg_color.
29509 (grub_gfxterm_cls): Likewise.
29510 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29511 Support embedding config file.
29512 (add_segments): Likewise.
29513 (options): New option "--config".
29514 (main): Handle "--config".
29515 * video/sm712.c: New file.
29516
25c2b5b3
RM
295172010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29518
29519 Fix parallel builds.
29520
29521 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29522 font.c depend on ascii.h).
29523
295242010-01-12 Carles Pina i Estany <carles@pina.cat>
29525
29526 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29527
295282010-01-11 Carles Pina i Estany <carles@pina.cat>
29529
29530 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29531 By default: disabled.
29532 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29533 parameter.
29534
295352010-01-10 Carles Pina i Estany <carles@pina.cat>
29536
29537 * font/font.c: Update copyright years.
29538 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29539
295402010-01-10 Carles Pina i Estany <carles@pina.cat>
29541
29542 * font/font.c: Include `ascii.h'.
29543 (ASCII_BITMAP_SIZE): New macro.
29544 (ascii_font_glyph): Define.
29545 (ascii_glyph_lookup): New function.
29546 (grub_font_get_string_width): Change comment. If glyph not found, use
29547 ascii_glyph_lookup.
29548 (grub_font_get_glyph_with_fallback): If glyph not available returns
29549 ascii_glyph_lookup.
29550 * util/grub-mkfont.c (file_formats): New enum.
29551 (options): Add `ascii-bitmaps' new option.
29552 (usage): Add `asii-bitmaps' new option.
29553 (write_font_ascii_bitmap): New function.
29554 (write_font): Rename to ...
29555 (write_font_p2): ... this. Remove print_glyphs call.
29556 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29557 used. Call print_glyphs.
29558 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29559
295602010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29561
29562 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29563 (grub_bin2h_SOURCES): New variable.
29564 * util/bin2h.c: New file.
29565
915fc1b8
VS
295662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29567
29568 * include/multiboot.h: Resynced with spec.
29569 * include/multiboot2.h: Likewise.
29570 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29571 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29572
9444b678
RM
295732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29574
29575 * include/grub/term.h (grub_term_register_input,
29576 grub_term_register_output): Check return of terminal init()
29577 routines, and abort if errors are raised.
29578
29579 * commands/terminal.c: Update copyright year.
29580
cba98e8d
RM
295812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29582
29583 * commands/terminal.c (grub_cmd_terminal_input)
29584 (grub_cmd_terminal_output): Check return of terminal init()
29585 routines, and abort if errors are raised.
29586
6f7db5d6
VS
295872010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29588
29589 * include/grub/i386/bsd.h: Fix include pathes.
29590
262bff8d
VS
295912010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29592
29593 Add missing *BSD copyright headers.
29594
29595 * include/grub/aout.h: Add BSD licence.
29596 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29597 * include/grub/i386/freebsd_linker.h: ... here,
29598 * include/grub/i386/freebsd_reboot.h: ... here,
29599 * include/grub/i386/netbsd_bootinfo.h: ... here,
29600 * include/grub/i386/netbsd_reboot.h: ... here,
29601 * include/grub/i386/openbsd_bootarg.h: ... here,
29602 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29603 licence to each file.
29604
b2cab848
RM
296052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29606
29607 * acinclude.m4: Remove `nop' assembly instruction; it's not
29608 implemented by all architectures.
29609
2cb6be4b
RM
296102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29611
29612 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29613 ELILO. This is no longer necessary.
29614
a2eaee15
BC
296152010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29616
29617 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29618
29619 * util/grub-script-check.c: grub-script-check tool.
29620 * conf/common.rmk: Make rules for grub-script-check.
29621
88d17012
RM
296222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29623
29624 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29625 spotting it back in 2008. Shame on me for forgetting he did.
29626
29627 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29628
8040619d
RM
296292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29630
29631 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29632 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29633 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29634 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29635 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29636 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29637
a0c2a0f6
RM
296382010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29639
29640 * include/grub/test.h: Add license header.
29641 * tests/example_functional_test.c: Likewise.
29642 * tests/example_unit_test.c: Likewise.
29643 * tests/lib/functional_test.c: Likewise.
29644 * tests/lib/test.c: Likewise.
29645 * tests/lib/unit_test.c: Likewise.
29646
b0b13907
VS
296472010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29648
29649 Use flag-based instead of hook-based video mode selection and "auto"
29650 keyword.
29651
29652 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29653 (grub_video_set_mode): Changed prototype. All users updated.
29654 (grub_video_check_mode_flag): New inline function.
29655 * video/video.c (parse_modespec): New function.
29656 (grub_video_set_mode): Parse flags and keywords.
29657
ea379330 296582010-01-17 Carles Pina i Estany <carles@pina.cat>
29659
29660 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29661 fprintf call.
29662
e15c215e
FZ
296632010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29664
29665 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29666
409ae1c9 296672010-01-16 Carles Pina i Estany <carles@pina.cat>
29668
29669 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29670 string.
29671 * util/grub-emu.c (usage): Likewise.
29672 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29673 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29674 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29675 * util/i386/pc/grub-setup.c (usage): Likewise.
29676
70a14d3d 296772010-01-16 Carles Pina i Estany <carles@pina.cat>
29678
29679 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29680 the message.
29681 (grub_util_info): Likewise.
29682 (grub_util_error): Likewise.
29683 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29684 and/or new lines in `grub_util_warna', `grub_util_info',
29685 `grub_util_error' calls.
29686 * util/getroot.c: Likewise.
29687 * util/grub-editenv.c: Likewise.
29688 * util/grub-emu.c: Likewise.
29689 * util/grub-fstest.c: Likewise.
29690 * util/grub-mkdevicemap.c: Likewise.
29691 * util/grub-mkfont.c: Likewise.
29692 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29693 * util/grub-mkrelpath.c: Likewise.
29694 * util/grub-pe2elf.c: Likewise.
29695 * util/grub-probe.c: Likewise.
29696 * util/hostdisk.c: Likewise.
29697 * util/i386/efi/grub-mkimage.c: Likewise.
29698 * util/i386/pc/grub-mkimage.c: Likewise.
29699 * util/i386/pc/grub-setup.c: Likewise.
29700 * util/ieee1275/ofpath.c: Likewise.
29701 * util/mkisofs/eltorito.c: Likewise.
29702 * util/mkisofs/rock.c: Likewise.
29703 * util/mkisofs/write.c: Likewise.
29704 * util/raid.c: Likewise.
29705 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29706 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29707
a0b766fc
VS
297082010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29709
29710 Enable multiboot on non-pc.
29711
29712 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29713 multiboot.mod and multiboot2.mod to ...
29714 * conf/i386.rmk (pkglib_MODULES): ... here.
29715 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29716 Moved to ...
29717 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29718 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29719 Moved to ...
29720 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29721 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29722 Moved to ...
29723 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29724 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29725 Moved to ...
29726 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29727 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29728 relocator.mod.
29729 (ata_mod_SOURCES): Removed.
29730 (ata_mod_CFLAGS): Likewise.
29731 (ata_mod_LDFLAGS): Likewise.
29732 (relocator_mod_SOURCES): Removed.
29733 (relocator_mod_CFLAGS): Likewise.
29734 (relocator_mod_ASFLAGS): Likewise.
29735 (relocator_mod_LDFLAGS): Likewise.
29736 Include i386.mk.
29737 * include/grub/x86_64/multiboot.h: New file.
29738 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29739 Terminate EFI.
29740
884ade56
VS
297412010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29742
29743 Video multiboot support.
29744
29745 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29746 New prototype.
29747 * include/multiboot.h: Resynced with multiboot specification.
29748 * include/multiboot2.h: Likewise.
29749 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29750 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29751 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29752 (HAS_VGA_TEXT): Likewise.
29753 (accepts_video): New variable.
29754 (grub_multiboot_set_accepts_video): New function.
29755 (grub_multiboot_get_mbi_size): Account for video structures.
29756 (set_video_mode): New function.
29757 (retrieve_video_parameters): Likewise.
29758 (grub_multiboot_make_mbi): Fill video fields.
29759
0d90e8a6
VS
297602010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29761
29762 Video driver ids.
29763
29764 * include/grub/video.h (grub_video_driver_id): New type.
29765 (grub_video_adapter): New member 'id'. All users updated.
29766 (grub_video_get_driver_id): New proto.
29767 * video/video.c (grub_video_get_driver_id): New function.
29768
5c71db1b 297692010-01-14 Carles Pina i Estany <carles@pina.cat>
29770
29771 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29772 `var=val'.
29773
cca15b52 297742010-01-14 Carles Pina i Estany <carles@pina.cat>
29775
29776 * normal/cmdline.c (print_completion): Gettextizze.
29777
c586fbb2 297782001-01-14 Carles Pina i Estany <carles@pina.cat>
29779
29780 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29781
ba2f6848 297822010-01-14 Carles Pina i Estany <carles@pina.cat>
29783
29784 * gettext/gettext.c (grub_gettext_translate): Push and pop
29785 grub_errno.
29786 (grub_gettext_delete_list): Change comment style.
29787 * kern/err.c (grub_error): Gettextizze.
29788 (grub_fatal): Gettextizze.
29789
0a46429a
RM
297902010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29791
29792 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29793 (grub_linux16_real_boot): ... this.
29794 * kern/i386/loader.S: Likewise.
29795 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29796 (grub_linux16_boot): New function. Switches to text mode and calls
29797 grub_linux16_real_boot().
29798
29799 * loader/i386/bsd.c: Include `<grub/video.h>'.
29800 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29801 text mode before calling grub_unix_real_boot().
29802
29803 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29804 (grub_multiboot_boot): Switch to text mode before calling
29805 grub_relocator32_boot().
29806
29807 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29808 (grub_chainloader_boot): Switch to text mode before calling
29809 grub_chainloader_real_boot().
29810
d6f93a66
RM
298112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
298122010-01-05 Colin Watson <cjwatson@ubuntu.com>
29813
29814 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29815 non-empty value.
29816
298172010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
298182010-01-05 Colin Watson <cjwatson@ubuntu.com>
29819
29820 * util/grub.d/00_header.in: Define a "savedefault" function for use
29821 in menu entries.
29822 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29823
298242010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
298252010-01-05 Colin Watson <cjwatson@ubuntu.com>
29826
29827 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29828 saved_entry if boot_once is unset.
29829 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29830 previous saved entry (i.e. grub-reboot).
29831
298322009-12-08 Colin Watson <cjwatson@ubuntu.com>
29833
29834 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29835
298362009-12-08 Colin Watson <cjwatson@ubuntu.com>
29837
29838 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29839 `var=val'.
29840 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29841
298422009-12-08 Colin Watson <cjwatson@ubuntu.com>
29843
29844 * util/grub-reboot.in: Fix --version output.
29845 * util/grub-set-default.in: Likewise.
29846
298472009-12-08 Colin Watson <cjwatson@ubuntu.com>
29848
29849 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29850 blocks.
29851
298522009-12-08 Colin Watson <cjwatson@ubuntu.com>
29853
29854 * util/grub.d/00_header.in: Quote the value assigned to `default',
29855 in case it contains spaces.
29856
298572009-12-08 Colin Watson <cjwatson@ubuntu.com>
29858
29859 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29860 `save_default_entry' call from the macosx case to the linux case.
29861
298622009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
298632009-10-25 Colin Watson <cjwatson@ubuntu.com>
29864
29865 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29866 in `chosen' environment variable.
29867 * normal/menu_text.c (get_entry_number): Check if the variable
29868 matches the title of a menu entry.
29869 (run_menu): Pass menu to get_entry_number.
29870
29871 * util/grub-reboot.in: New file.
29872 * util/grub-set-default.in: New file.
29873 * conf/common.rmk (grub-reboot): New utility.
29874 (grub-set-default): New utility.
29875
29876 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29877 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29878 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29879 move it to `saved_entry' for the next boot. Load environment on
29880 initialisation.
29881 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29882 * util/grub.d/10_hurd.in: Likewise.
29883 * util/grub.d/10_linux.in (linux_entry): Likewise.
29884 * util/grub.d/10_windows.in: Likewise.
29885 * util/grub.d/30_os-prober.in: Likewise.
29886
29887 * util/grub-install.in: Create environment block.
29888 * util/i386/efi/grub-install.in: Likewise.
29889 * util/ieee1275/grub-install.in: Likewise.
29890 * util/sparc64/ieee1275/grub-install.in: Likewise.
29891
0934d184
BC
298922010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29893
29894 Unit testing framework for GRUB.
29895
29896 * Makefile.in: Test framework build rules for 'make check'.
29897 * conf/tests.rmk: Build rules for individual tests and framework.
29898
29899 * include/grub/test.h: Header file for whitebox tests.
29900 * tests/lib/functional_test.c: Framework support for whitebox
29901 functional tests.
29902 * tests/lib/test.c: Common whitebox testing code for unit and
29903 functional tests.
29904 * tests/lib/unit_test.c: Framework support for whitebox unit
29905 tests.
29906
29907 * tests/util/grub-shell-tester.in: Support utility for grub-script
29908 tests.
29909 * tests/util/grub-shell.in: Utility to execute grub-script
29910 commands in a Qemu instance.
29911
29912 * tests/example_functional_test.c: Example whitebox functional
29913 test.
29914 * tests/example_grub_script_test.in: Example grub-script test.
29915 * tests/example_scripted_test.in: Example scripted test.
29916 * tests/example_unit_test.c: Example whitebox unit test.
29917
9c4ffeeb
VS
299182010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29919
29920 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29921 Add loader/i386/multiboot_mbi.c.
29922 (multiboot2_mod_SOURCES): Likewise.
29923 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29924 (multiboot2_mod_SOURCES): Likewise.
29925 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29926 (grub_multiboot_make_mbi): Likewise.
29927 (grub_multiboot_free_mbi): Likewise.
29928 (grub_multiboot_init_mbi): Likewise.
29929 (grub_multiboot_add_module): Likewise.
29930 (grub_multiboot_set_bootdev): Likewise.
29931 * loader/i386/multiboot.c (mbi): Removed.
29932 (mbi_dest): Likewise.
29933 (alloc_mbi): New variable.
29934 (grub_multiboot_payload_size): Removed. All users updated.
29935 (grub_multiboot_pure_size): New variable.
29936 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29937 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29938 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29939 (grub_fill_multiboot_mmap): Likewise.
29940 (grub_multiboot_get_bootdev): Likewise.
29941 (grub_multiboot): Use multiboot_mbi functions.
29942 * loader/i386/multiboot_mbi.c: New file.
29943
17383dfe
VS
299442010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29945
29946 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29947 it would result in module crash.
29948
c1f28820
VS
299492010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29950
29951 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29952 (grub_ofconsole_getwh): Split to ...
29953 (grub_ofconsole_getwh): ... this.
29954 (grub_ofconsole_dimensions): ...and this.
29955 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29956
58655a16
RM
299572010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29958
29959 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29960
10891398
VS
299612010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29962
29963 * loader/i386/pc/multiboot2.c: Removed stalled file.
29964
0b8a223c
VS
299652010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29966
29967 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29968 Reported by: Grégoire Sutre
29969
92ab12b0
RM
299702010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29971
29972 * util/misc.c (canonicalize_file_name): New function.
29973 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29974 instead of realpath().
29975
a788afb6
CW
299762010-01-11 Colin Watson <cjwatson@ubuntu.com>
29977
29978 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29979 and make it clearer that it's optional. Based on confusion
29980 witnessed on IRC.
29981
ffa8e3d2
VS
299822010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29983
29984 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29985 in premature implicit newline.
29986
e9060a9d
VS
299872010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29988
29989 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29990 which resulted in garbled command line at the end of screen.
29991
f0d0c0b7
RM
299922010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29993
29994 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29995 initialization with similar approach as with other Linux loaders.
29996
0e60bae7
RM
299972010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29998
29999 Fix i386-ieee1275 build.
30000
30001 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
30002 and grub_term_height() for video_{width,height} initialization.
30003
300042010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
30005
30006 Fix grub-emu build.
30007
30008 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
30009
cdb3f378
RM
300102010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
300112010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30012
30013 Support for multiple terminals.
30014
30015 * Makefile.in (pkglib_DATA): terminal.lst.
30016 (terminal.lst): New target.
30017 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
30018 (GRUB_MOD_INIT(handler)): Likewise.
30019 (GRUB_MOD_FINI(handler)): Likewise.
30020 * commands/help.c (grub_cmd_help): Handle multiple terminals.
30021 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
30022 * commands/sleep.c (do_print): Use grub_term_restore_pos.
30023 (grub_cmd_sleep): Use grub_term_save_pos.
30024 * commands/terminal.c: New file.
30025 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
30026 commands/terminal.c and lib/charset.c.
30027 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
30028 (pkglib_MODULES): Add terminal.mod.
30029 (terminal_mod_SOURCES): New variable.
30030 (terminal_mod_CFLAGS): Likewise.
30031 (terminal_mod_LDFLAGS): Likewise.
30032 * genhandlerlist.sh: Don't handle terminals.
30033 * genmk.rb: Generate terminal-*.lst.
30034 * genterminallist.sh: New file.
30035 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
30036 (grub_is_valid_utf8): Likewise.
30037 (grub_utf8_to_ucs4_alloc): Likewise.
30038 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30039 (grub_menu_register_viewer): Changed argument.
30040 (grub_menu_try_text): New proto.
30041 (grub_gfxmenu_try_hook): New declaration.
30042 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30043 (grub_menu_init_page): Additional argument term.
30044 (grub_normal_init_page): Likewise.
30045 (grub_cmdline_get): Arguments simplified.
30046 (grub_utf8_to_ucs4_alloc): Removed.
30047 (grub_print_ucs4): Additional argument term.
30048 (grub_getstringwidth): Likewise.
30049 (grub_print_message_indented): Likewise.
30050 (grub_menu_text_register_instances): New proto.
30051 (grub_show_menu): Likewise.
30052 (read_terminal_list): Likewise.
30053 (grub_set_more): Likewise.
30054 * include/grub/parser.h: Include handler.h.
30055 * include/grub/reader.h: Rewritten.
30056 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30057 (GRUB_TERM_WIDTH): Changed to function.
30058 (GRUB_TERM_HEIGHT): Likewise.
30059 (GRUB_TERM_BORDER_WIDTH): Likewise.
30060 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30061 (GRUB_TERM_NUM_ENTRIES): Likewise.
30062 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30063 (GRUB_TERM_CURSOR_X): Likewise.
30064 (grub_term_input_class): Likewise.
30065 (grub_term_output_class): Likewise.
30066 (grub_term_outputs_disabled): New declaration.
30067 (grub_term_inputs_disabled): Likewise.
30068 (grub_term_outputs): Likewise.
30069 (grub_term_inputs): Likewise.
30070 (grub_term_register_input): Rewritten.
30071 (grub_term_register_output): Likewise.
30072 (grub_term_unregister_input): Likewise.
30073 (grub_term_unregister_output): Likewise.
30074 (FOR_ACTIVE_TERM_INPUTS): New macro.
30075 (FOR_DISABLED_TERM_INPUTS): Likewise.
30076 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30077 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30078 * include/grub/terminfo.h: Add oterm argument to all protypes.
30079 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30080 Use grub_rescue_run.
30081 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30082 All users updated.
30083 * kern/reader.c: Removed. All users updated.
30084 * kern/rescue_reader.c (grub_rescue_init): Removed.
30085 (grub_rescue_reader): Likewise.
30086 (grub_register_rescue_reader): Likewise.
30087 (grub_rescue_run): New function based on kern/reader.c.
30088 * kern/term.c: Adapted for multiterm.
30089 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30090 (grub_is_valid_utf8): Likewise.
30091 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30092 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30093 right terminal.
30094 * loader/i386/linux.c (grub_linux_boot): Likewise.
30095 * normal/auth.c (grub_username_get): New function.
30096 (grub_auth_check_authentication): Use grub_username_get.
30097 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30098 * normal/color.c: Adapt for multiterm.
30099 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30100 (grub_normal_init_page): Additional argument term.
30101 (read_lists): Call read_terminal_lists.
30102 (grub_enter_normal_mode): Call grub_cmdline_run.
30103 Handle grub_normal_exit_level.
30104 (grub_cmd_normal): Make reentrant.
30105 (grub_cmd_normal_exit): New function.
30106 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30107 * normal/menu.c: Adapt for multiterm.
30108 * normal/menu_entry.c: Likewise.
30109 * normal/menu_text.c: Likewise.
30110 * normal/menu_viewer.c: Removed. All users updated.
30111 * normal/term.c: New file.
30112 * util/console.c: Change order of includes to workaround a bug in
30113 ncurses headers.
30114 * term/terminfo.c: New argument oterm on all exported functions.
30115 All users updated.
30116 * util/grub-editenv.c (grub_term_input_class): Removed.
30117 (grub_term_output_class): Likewise.
30118
1a064917
RM
301192010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30120
30121 Make loader output a bit more user-friendly.
30122
30123 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30124 is being loaded. Likewise for the Hurd.
30125
30126 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30127 that kernel of FreeBSD ${version} is being loaded.
30128
30129 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30130 grub_dprintf().
30131 (grub_cmd_initrd): Likewise.
30132 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30133 that Linux ${version} is being loaded. Likewise for initrd.
30134
5ce0a83a 301352010-01-09 Carles Pina i Estany <carles@pina.cat>
30136
30137 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30138
809bbfeb 301392010-01-08 Carles Pina i Estany <carles@pina.cat>
30140
30141 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30142 (GRUB_MOD_INIT): Gettextizze.
30143 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30144 (GRUB_MOD_INIT): Gettextizze.
30145 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30146 (grub_cmd_linux): Capitalise Linux.
30147 (GRUB_MOD_INIT): Gettextizze.
30148 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30149 (grub_cmd_linux): Capitalise Linux.
30150 (GRUB_MOD_INIT): Gettextizze.
30151 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30152 (grub_cmd_linux): Capitalise Linux.
30153 (GRUB_MOD_INIT): Gettextizze.
30154 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30155 (GRUB_MOD_INIT): Gettextizze.
30156 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30157 (grub_cmd_linux): Capitalise Linux.
30158 (GRUB_MOD_INIT): Gettextizze.
30159 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30160 (grub_cpu_xnu_init): Gettextizze.
30161 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30162 (GRUB_MOD_INIT): Gettextizze.
30163 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30164 (GRUB_MOD_INIT): Gettextizze.
30165 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30166 (grub_linux_load64): Capitalise Linux.
30167 (GRUB_MOD_INIT): Gettextizze.
30168 * loader/xnu.c: Include `<grub/i18n.h>'.
30169 (GRUB_MOD_INIT): Gettextizze.
30170 * po/POTFILES: Add `loader/efi/appleloader.c',
30171 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30172 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30173 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30174 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30175 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30176 and `loader/xnu.c'.
30177
b394b2ca
RM
301782010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30179
30180 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30181
301822010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
30183
30184 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30185 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30186 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30187
bc8b32b3
RM
301882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30189
30190 Reset Multiboot 2 support. New loader implements the draft in
30191 /branches/multiboot2 and shares as much code as possible with the
30192 production Multiboot 1 implementation.
30193
30194 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30195 * loader/multiboot2.c: Likewise.
30196 * loader/i386/multiboot_helper.S: Likewise.
30197 * include/multiboot2.h: Replace with latest version from the draft
30198 in /branches/multiboot2.
30199
30200 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30201 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30202 and `loader/multiboot2.c'.
30203 (pkglib_MODULES): Add `multiboot2.mod'.
30204 (multiboot2_mod_SOURCES): New variable.
30205 (multiboot2_mod_LDFLAGS): Likewise.
30206 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30207
30208 * conf/i386-pc.rmk: Likewise.
30209
30210 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30211 (multiboot_mod_SOURCES): Remove variable.
30212 (multiboot_mod_LDFLAGS): Likewise.
30213 (multiboot_mod_CFLAGS): Likewise.
30214
30215 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30216 `<multiboot2.h>' instead of `<multiboot.h>'.
30217 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30218 (MULTIBOOT_HEADER_MAGIC): New macros.
30219
30220 * loader/multiboot_loader.c (module_version_status): Remove variable.
30221 (find_multi_boot2_header): Remove function.
30222 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30223 logic. Always check for the Multiboot version we're compiling for.
30224 (grub_cmd_module_loader): Likewise.
30225 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30226 command instead of `multiboot'.
30227
5d2c52b8
RM
302282010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30229
30230 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30231 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30232 all users.
30233
53108d92
RM
302342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
302352010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 Fix breakage introduced with previous commit.
30238
30239 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30240 commands.
30241 * normal/handler.c (read_handler_list): Revert part of previous commit
30242 affecting this file.
30243 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30244 (grub_normal_execute): ... here.
30245
e2e936b2
RM
302462010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30247
30248 Merge prefix-redefinition-fix branch.
30249
30250 * normal/autofs.c (read_fs_list): Make function capable of being
30251 run multiple times, gracefuly replacing the previous data
30252 structures.
30253 * normal/dyncmd.c (read_command_list): Likewise.
30254 * normal/handler.c (read_handler_list): Likewise.
30255 * normal/main.c (read_lists): New function. Calls all the
30256 list reading functions.
30257 (grub_normal_execute): Use read_lists() instead of calling all
30258 list reading functions explicitly. Register read_lists() as a
30259 variable hook attached to ${prefix}.
30260
607a3701
VS
302612010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30262
30263 Merge crypto branch.
30264
30265 * Makefile.in (pkglib_DATA): Add crypto.lst.
30266 (crypto.lst): New target.
30267 * commands/hashsum.c: New file.
30268 * commands/password.c (check_password): Use grub_crypto_memcmp.
30269 * commands/password_pbkdf2.c: New file.
30270 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30271 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30272 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30273 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30274 -I$(srcdir)/lib/libgcrypt_wrap.
30275 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30276 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30277 password_pbkdf2.mod.
30278 (crypto_mod_SOURCES): New variable.
30279 (crypto_mod_CFLAGS): Likewise.
30280 (crypto_mod_LDFLAGS): Likewise.
30281 (hashsum_mod_SOURCES): New variable.
30282 (hashsum_mod_CFLAGS): Likewise.
30283 (hashsum_mod_LDFLAGS): Likewise.
30284 (pbkdf2_mod_SOURCES): New variable.
30285 (pbkdf2_mod_CFLAGS): Likewise.
30286 (pbkdf2_mod_LDFLAGS): Likewise.
30287 (password_pbkdf2_mod_SOURCES): New variable.
30288 (password_pbkdf2_mod_CFLAGS): Likewise.
30289 (password_pbkdf2_mod_LDFLAGS): Likewise.
30290 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30291 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30292 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30293 Include conf/gcry.rmk.
30294 * include/grub/auth.h: Rewritten.
30295 * include/grub/crypto.h: New file.
30296 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30297 * include/grub/normal.h (read_crypto_list): New prototype.
30298 * lib/crypto.c: New file.
30299 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30300 * lib/pbkdf2.c: Likewise.
30301 * normal/auth.c (grub_auth_strcmp): Removed.
30302 (grub_iswordseparator): Likewise.
30303 (grub_auth_strword): Likewise.
30304 (is_authenticated): Use grub_strword.
30305 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30306 and grub_strword. Pass entered password to authentication callback.
30307 * normal/crypto.c: New file.
30308 * normal/main.c: Call read_crypto_list.
30309 * util/grub-mkpasswd-pbkdf2.c: New file.
30310 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30311
42841caa
VS
303122010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30313
30314 Fix descent and ascent calculation.
30315
30316 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30317 (options): New option "asce".
30318 (usage): Likewise.
30319 (add_char): Ignore invalid glyphs for descent calculation.
30320 Calculate ascent from actual content.
30321 (print_glyphs): Use 'asce'.
30322 (write_font): Likewise. Allow ascent override.
30323 (main): Handle "asce" option.
30324
e7730de7 303252010-01-06 Carles Pina i Estany <carles@pina.cat>
30326
30327 * kern/err.c: Include `<grub/i18n.h>'.
30328 (grub_print_error): Add full stop. Gettextizze.
30329 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30330 (grub_bsd_load_elf): Capitalise ELF.
30331 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30332 (grub_cmd_freebsd_module): Likewise.
30333 (grub_cmd_freebsd_module_elf): Likewise.
30334 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30335
40e3a41f 303362010-01-06 Carles Pina i Estany <carles@pina.cat>
30337
30338 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30339 * commands/search_file.c (HELP_MESSAGE): New macro.
30340 * commands/search_label.c (HELP_MESSAGE): Likewise.
30341 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30342 * po/POTFILES: Add `commands/search_file.c',
30343 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30344 `commands/search.c'.
30345
83507e68
RM
303462010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30347
30348 * config.rpath: Update from Gnulib.
30349
465c787b
YB
303502010-01-05 Yves Blusseau <blusseau@zetam.org>
30351
30352 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30353
6581dd3a
YB
303542010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30355
30356 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30357
3bff18c5
CW
303582010-01-05 Colin Watson <cjwatson@ubuntu.com>
30359
30360 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30361 arguments to fread so that we get a return value in bytes, rather
30362 than something that will normally be rounded down to 0.
30363 Adjust error handling to avoid producing garbage when size_t is not
30364 the same size as long long.
30365
a1368118
CW
303662010-01-05 Colin Watson <cjwatson@ubuntu.com>
30367
30368 * util/mkisofs/write.c (padblock_write): Check return value of
30369 fread.
30370
7c302978
RM
303712010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30372
30373 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30374 floppy images now.
30375
30376 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30377
e33ace06
RM
303782010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30379
30380 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30381 instead of manual alignment.
30382 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30383 verbose). Avoid attempts to read past end of the device
30384 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30385 but GRUB_DISK_CACHE_SIZE may exceed that).
30386
4b856776
RM
303872010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30388
30389 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30390 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30391 it to upper layer.
30392
52c2d97f
VS
303932010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30394
30395 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30396 New constant.
30397 (grub_efi_piwg_device_path): New structure
30398 (grub_efi_piwg_device_path_t): New type.
30399 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30400 (devpath_1): Transform to a structure. All users updated.
30401 (devpath_2): Likewise.
30402 (devpath_3): Likewise.
30403 (devpath_4): Likewise.
30404 (devpath_5): Likewise.
30405
98ff6a54
VS
304062010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30407
30408 * loader/efi/appleloader.c: Restored. Update all users.
30409
3a73dcb6
RM
304102010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30411
30412 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30413
30414 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30415 (struct boot_blocklist): Move from here ...
30416 * include/grub/i386/pc/boot.h [ASM_FILE]
30417 (struct grub_boot_blocklist): ... to here. Update all users.
30418 (setup): Only initialize `start' member of `first_block'
30419 structure. Add assert() calls to verify the other members.
30420
30421 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30422 (generate_image): Fix broken blocklist length initialization.
30423 Add assert() call to verify blocklist `segment' field.
30424
ab0eeb0c
RM
304252010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30426
30427 * loader/efi/appleloader.c: Remove. Update all users.
30428
58bc8bd5
RM
304292010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30430
30431 * boot/i386/pc/boot.S: Update copyright year.
30432 * boot/i386/pc/cdboot.S: Likewise.
30433 * boot/i386/pc/diskboot.S: Likewise.
30434 * boot/i386/pc/lnxboot.S: Likewise.
30435 * boot/i386/pc/pxeboot.S: Likewise.
30436 * bus/pci.c: Likewise.
30437 * commands/cmp.c: Likewise.
30438 * commands/help.c: Likewise.
30439 * commands/hexdump.c: Likewise.
30440 * commands/i386/pc/halt.c: Likewise.
30441 * commands/i386/pc/play.c: Likewise.
30442 * commands/i386/pc/vbeinfo.c: Likewise.
30443 * commands/ls.c: Likewise.
30444 * commands/test.c: Likewise.
30445 * disk/dmraid_nvidia.c: Likewise.
30446 * disk/i386/pc/biosdisk.c: Likewise.
30447 * disk/ieee1275/nand.c: Likewise.
30448 * disk/ieee1275/ofdisk.c: Likewise.
30449 * disk/lvm.c: Likewise.
30450 * disk/raid.c: Likewise.
30451 * disk/raid6_recover.c: Likewise.
30452 * disk/scsi.c: Likewise.
30453 * fs/affs.c: Likewise.
30454 * fs/cpio.c: Likewise.
30455 * fs/ext2.c: Likewise.
30456 * fs/hfs.c: Likewise.
30457 * fs/iso9660.c: Likewise.
30458 * fs/ntfs.c: Likewise.
30459 * fs/sfs.c: Likewise.
30460 * fs/udf.c: Likewise.
30461 * fs/ufs.c: Likewise.
30462 * fs/xfs.c: Likewise.
30463 * gencmdlist.sh: Likewise.
30464 * genmk.rb: Likewise.
30465 * include/grub/disk.h: Likewise.
30466 * include/grub/efi/api.h: Likewise.
30467 * include/grub/efi/efi.h: Likewise.
30468 * include/grub/efi/pe32.h: Likewise.
30469 * include/grub/elf.h: Likewise.
30470 * include/grub/fs.h: Likewise.
30471 * include/grub/i386/at_keyboard.h: Likewise.
30472 * include/grub/i386/pc/memory.h: Likewise.
30473 * include/grub/i386/pc/vbe.h: Likewise.
30474 * include/grub/i386/pci.h: Likewise.
30475 * include/grub/i386/tsc.h: Likewise.
30476 * include/grub/ieee1275/ieee1275.h: Likewise.
30477 * include/grub/ntfs.h: Likewise.
30478 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30479 * include/grub/sparc64/libgcc.h: Likewise.
30480 * include/grub/symbol.h: Likewise.
30481 * include/grub/types.h: Likewise.
30482 * include/multiboot2.h: Likewise.
30483 * io/gzio.c: Likewise.
30484 * kern/device.c: Likewise.
30485 * kern/disk.c: Likewise.
30486 * kern/efi/efi.c: Likewise.
30487 * kern/efi/mm.c: Likewise.
30488 * kern/elf.c: Likewise.
30489 * kern/file.c: Likewise.
30490 * kern/i386/dl.c: Likewise.
30491 * kern/i386/pc/init.c: Likewise.
30492 * kern/i386/pc/startup.S: Likewise.
30493 * kern/ieee1275/ieee1275.c: Likewise.
30494 * kern/ieee1275/init.c: Likewise.
30495 * kern/main.c: Likewise.
30496 * kern/mm.c: Likewise.
30497 * kern/powerpc/dl.c: Likewise.
30498 * kern/sparc64/dl.c: Likewise.
30499 * kern/x86_64/dl.c: Likewise.
30500 * lib/hexdump.c: Likewise.
30501 * loader/efi/appleloader.c: Likewise.
30502 * loader/i386/ieee1275/linux.c: Likewise.
30503 * loader/i386/pc/chainloader.c: Likewise.
30504 * loader/i386/pc/linux.c: Likewise.
30505 * loader/i386/pc/multiboot2.c: Likewise.
30506 * loader/ieee1275/multiboot2.c: Likewise.
30507 * loader/multiboot2.c: Likewise.
30508 * loader/multiboot_loader.c: Likewise.
30509 * loader/powerpc/ieee1275/linux.c: Likewise.
30510 * normal/completion.c: Likewise.
30511 * normal/menu_entry.c: Likewise.
30512 * partmap/apple.c: Likewise.
30513 * util/grub.d/10_hurd.in: Likewise.
30514 * util/hostfs.c: Likewise.
30515 * video/readers/png.c: Likewise.
30516
e2d70b5c
CW
305172010-01-03 Colin Watson <cjwatson@ubuntu.com>
30518
30519 * include/grub/misc.h (GNUC_PREREQ): New macro.
30520 (ATTRIBUTE_ERROR): New macro.
30521 * include/grub/list.h (grub_bad_type_cast_real): Use
30522 ATTRIBUTE_ERROR.
30523
a173283f 305242010-01-03 Carles Pina i Estany <carles@pina.cat>
30525
30526 * normal/menu_text.c (print_message): Change messages.
30527
7fa7ff74 305282010-01-03 Carles Pina i Estany <carles@pina.cat>
30529
30530 * normal/menu_entry.c (store_completion): Gettextizze.
30531
136d24f6 305322010-01-03 Carles Pina i Estany <carles@pina.cat>
30533
30534 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30535
f936862e 305362010-01-03 Carles Pina i Estany <carles@pina.cat>
30537
30538 * po/POTFILES: Sort correctly.
30539
29c44ad1 305402010-01-03 Carles Pina i Estany <carles@pina.cat>
30541
30542 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30543 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30544 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30545 full stop.
30546 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30547 summary. Gettextizze the strings.
30548 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30549 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30550 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30551 full stop.
30552 (GRUB_MOD_INIT): Remove command name from summary.
30553 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30554 summary.
30555 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30556 * term/i386/pc/serial.c (options): Add full stops.
30557 (GRUB_MOD_INIT): Remove command name from the summary.
30558
77a79592 305592010-01-03 Carles Pina i Estany <carles@pina.cat>
30560
30561 * commands/acpi.c: Gettextizze help strings and/or options. Include
30562 `grub/i18n.h' if needed.
30563 * commands/blocklist.c: Likewise.
30564 * commands/boot.c: Likewise.
30565 * commands/cat.c: Likewise.
30566 * commands/cmp.c: Likewise.
30567 * commands/configfile.c: Likewise.
30568 * commands/crc.c: Likewise.
30569 * commands/date.c: Likewise.
30570 * commands/echo.c: Likewise.
30571 * commands/efi/fixvideo.c: Likewise.
30572 * commands/efi/loadbios.c: Likewise.
30573 * commands/gptsync.c: Likewise.
30574 * commands/halt.c: Likewise.
30575 * commands/handler.c: Likewise.
30576 * commands/hdparm.c: Likewise.
30577 * commands/hexdump.c: Likewise.
30578 * commands/i386/cpuid.c: Likewise.
30579 * commands/i386/pc/drivemap.c: Likewise.
30580 * commands/i386/pc/halt.c: Likewise.
30581 * commands/i386/pc/pxecmd.c: Likewise.
30582 * commands/i386/pc/vbeinfo.c: Likewise.
30583 * commands/i386/pc/vbetest.c: Likewise.
30584 * commands/ieee1275/suspend.c: Likewise.
30585 * commands/keystatus.c: Likewise.
30586 * commands/loadenv.c: Likewise.
30587 * commands/ls.c: Likewise.
30588 * commands/lsmmap.c: Likewise.
30589 * commands/lspci.c: Likewise.
30590 * commands/memrw.c: Likewise.
30591 * commands/minicmd.c: Likewise.
30592 * commands/parttool.c: Likewise.
30593 * commands/password.c: Likewise.
30594 * commands/probe.c: Likewise.
30595 * commands/read.c: Likewise.
30596 * commands/reboot.c: Likewise.
30597 * commands/search.c: Likewise.
30598 * commands/sleep.c: Likewise.
30599 * commands/test.c: Likewise.
30600 * commands/true.c: Likewise.
30601 * commands/usbtest.c: Likewise.
30602 * commands/videotest.c: Likewise.
30603 * commands/xnu_uuid.c: Likewise.
30604 * disk/loopback.c: Likewise.
30605 * hello/hello.c: Likewise.
30606 * loader/i386/bsd.c: Likewise.
30607 * term/i386/pc/serial.c: Likewise.
30608 * po/POTFILES: Add new files.
30609
da8d5c53
CW
306102010-01-02 Colin Watson <cjwatson@ubuntu.com>
30611
30612 * term/i386/pc/at_keyboard.c
30613 (keyboard_controller_wait_untill_ready): Rename to ...
30614 (keyboard_controller_wait_until_ready): ... this. Update all users.
30615
33937904 306162010-01-01 Carles Pina i Estany <carles@pina.cat>
30617
30618 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30619 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30620 string using string width.
30621 * normal/menu_text.c (grub_print_message_indented): Use
30622 grub_print_spaces and not print_spaces.
30623 (print_timeout): Likewise.
30624 (print_spaces): Move to...
30625 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30626
3fd3b8d8
RM
306272010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30628
30629 Import from Gnulib.
30630
30631 * gnulib/getdelim.c: New file.
30632 * gnulib/getline.c: Likewise.
30633
33433555
VS
306342009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30635
30636 * include/grub/list.h (grub_assert_fail): Removed.
30637 (grub_bad_type_cast_real): New function.
30638 (grub_bad_type_cast): New macro.
30639 (GRUB_AS_LIST): Use grub_bad_type_cast.
30640 (GRUB_AS_LIST_P): Likewise.
e44721e8 30641 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30642 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30643 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30644 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30645 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30646
f5a51306
VS
306472009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30648
30649 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30650 Fix syntax error.
30651
90d1e879
RM
306522009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30653
30654 * configure.ac: Check for TARGET_CFLAGS initialization before we
30655 initialize it ourselves (sigh).
30656 Move a few modifications to TARGET_CFLAGS to be unconditional
30657 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30658 eh_frame)
30659
30660 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30661 * term/i386/pc/at_keyboard.c
30662 (keyboard_controller_wait_untill_ready): Likewise.
30663 (keyboard_controller_led): Rename `led_status' paramter to avoid
30664 name conflict.
30665
465b5a81 306662009-12-28 Carles Pina i Estany <carles@pina.cat>
30667
30668 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30669 quotes.
30670
c181849b
VS
306712009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30672
30673 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30674
9c8739a4
VS
306752009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30676
30677 * normal/menu_text.c (grub_print_message_indented): Prevent
30678 past-the-end-of-array dereference.
30679
3e74249c
VS
306802009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30681
30682 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30683 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30684
64fd18ed 306852009-12-27 Carles Pina i Estany <carles@pina.cat>
30686
30687 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30688 * normal/main.c (grub_normal_read_line): Remove a space from the
30689 default prompt.
30690
714af9b9 306912009-12-27 Carles Pina i Estany <carles@pina.cat>
30692
30693 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30694 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30695 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30696 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30697 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30698 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30699 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30700
82f3e412 307012009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30702
30703 * video/readers/jpeg.c (cmd): Declare.
30704 (grub_cmd_jpegtest): Use `grub_command_t' type.
30705 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30706 Assign to `cmd'.
30707 (GRUB_MOD_FINI): Use `cmd' to unregister.
30708 * video/readers/png.c (cmd): Declare.
30709 (grub_cmd_pngtest): Use `grub_command_t' type.
30710 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30711 Assign to `cmd'.
30712 (GRUB_MOD_FINI): Use `cmd' to unregister.
30713 * video/readers/tga.c (cmd): Declare.
30714 (grub_cmd_tgatest): Use `grub_command_t' type.
30715 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30716 Assign to `cmd'.
30717 (GRUB_MOD_FINI): Use `cmd' to unregister.
30718
82f3e412 307192009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30720
30721 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30722 stops.
30723 * kern/corecmd.c (grub_register_core_commands): Likewise.
30724 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30725 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30726 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30727 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30728 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30729 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30730 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30731 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30732 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30733 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30734 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30735 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30736 * normal/handler.c (insert_handler): Likewise.
30737 * normal/main.c (GRUB_MOD_INIT): Likewise.
30738 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30739
fdcdbb66 307402009-12-26 Carles Pina i Estany <carles@pina.cat>
30741
30742 * commands/help.c (grub_cmd_help): Print the command name before the
30743 summary.
30744 (GRUB_MOD_INIT): Remove command name from the summary.
30745 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30746 string as summary.
fdcdbb66 30747 * lib/arg.c (find_long): Print the command name before the summary.
30748 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30749 summary.
30750 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30751 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30752 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30753 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30754 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30755 * commands/date.c (GRUB_MOD_INIT): Likewise.
30756 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30757 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30758 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30759 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30760 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30761 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30762 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30763 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30764 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30765 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30766 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30767 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30768 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30769 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30770 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30771 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30772 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30773 * commands/password.c (GRUB_MOD_INIT): Likewise.
30774 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30775 * commands/read.c (GRUB_MOD_INIT): Likewise.
30776 * commands/search.c (GRUB_MOD_INIT): Likewise.
30777 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30778 * commands/test.c (GRUB_MOD_INIT): Likewise.
30779 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30780 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30781 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30782 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30783 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30784 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30785 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30786 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30787 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30788 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30789 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30790 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30791 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30792 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30793
9c288be2
VS
307942009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30795
30796 Use search command for preliminar UUID search.
30797
30798 * commands/search.c: Split into ...
30799 * commands/search_wrap.c: ...this
30800 * commands/search.c: ...and this.
30801 * commands/search_file.c: New file.
30802 * commands/search_label.c: New file.
30803 * commands/search_uuid.c: New file.
30804 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30805 Add commands/search_wrap.c, commands/search_file.c,
30806 commands/search_label.c and commands/search_uuid.c.
30807 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30808 (search_mod_SOURCES): Set to commands/search_wrap.c.
30809 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30810 search_label.mod.
30811 (search_fs_file_mod_SOURCES): New variable.
30812 (search_fs_file_mod_CFLAGS): Likewise.
30813 (search_fs_file_mod_LDFLAGS): Likewise.
30814 (search_label_mod_SOURCES): Likewise.
30815 (search_label_mod_CFLAGS): Likewise.
30816 (search_label_mod_LDFLAGS): Likewise.
30817 (search_fs_uuid_mod_SOURCES): New variable.
30818 (search_fs_uuid_mod_CFLAGS): Likewise.
30819 (search_fs_uuid_mod_LDFLAGS): Likewise.
30820 (fs_file_mod_SOURCES): Removed.
30821 (fs_file_mod_CFLAGS): Likewise.
30822 (fs_file_mod_LDFLAGS): Likewise.
30823 (fs_uuid_mod_SOURCES): Removed.
30824 (fs_uuid_mod_CFLAGS): Likewise.
30825 (fs_uuid_mod_LDFLAGS): Likewise.
30826 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30827 Set to util/grub-install.in.
30828 * disk/fs_file.c: Removed.
30829 * disk/fs_uuid.c: Likewise.
30830 * include/grub/search.h: New file.
30831 * util/grub-install.in: Handle sparc64.
30832 Create and use load.cfg.
30833 * util/sparc64/ieee1275/grub-install.in: Removed.
30834
db943399
VS
308352009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30836
30837 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30838 Ignore return status if CF is cleared.
30839 (grub_biosdisk_get_diskinfo_standard): Likewise.
30840
3fdae612
RM
308412009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30842
30843 * term/i386/pc/at_keyboard.c
30844 (keyboard_controller_wait_untill_ready): New function.
30845 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30846 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30847 for keyboard polling, rather than duplicate the same loop. This
30848 saves a few bytes in code size.
30849
7ebaa2b4
VS
308502009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30851
30852 Support for (pxe[:server[:gateway]]) syntax and
30853 use environment variable for PXE.
30854
30855 * commands/i386/pc/pxecmd.c (options): Removed.
30856 (print_ip): Removed.
30857 (grub_cmd_pxe): Removed
30858 (grub_cmd_pxe_unload): New function.
30859 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30860 (grub_pxe_your_ip): Made static.
30861 (grub_pxe_default_server_ip): Likewise.
30862 (grub_pxe_default_gateway_ip): Likewise.
30863 (grub_pxe_blksize): Likewise.
30864 (parse_ip): New function.
30865 (grub_pxe_open): Support server and gateway specification.
30866 (grub_pxe_close): Free disk->data.
30867 (grub_pxefs_open): Use disk->data.
30868 (grub_pxefs_read): Likewise.
30869 (grub_env_write_readonly): New function.
30870 (set_mac_env): Likewise.
30871 (set_env_limn_ro): Likewise.
30872 (parse_dhcp_vendor): Likewise.
30873 (grub_pxe_detect): Set the environment variables.
30874 (set_ip_env): New function.
30875 (write_ip_env): Likewise.
30876 (grub_env_write_pxe_default_server): Likewise.
30877 (grub_env_write_pxe_default_gateway): Likewise.
30878 (grub_env_write_pxe_blocksize): Likewise.
30879 (GRUB_MOD_INIT(pxe)): Set environment variables.
30880 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30881 (grub_pxe_mac_addr_t): ... this. All users updated.
30882 (grub_pxe_your_ip): Removed.
30883 (grub_pxe_server_ip): Likewise.
30884 (grub_pxe_gateway_ip): Likewise.
30885 (grub_pxe_blksize): Likewise.
30886
ec5f98ab 308872009-12-25 Carles Pina i Estany <carles@pina.cat>
30888
30889 * commands/help.c: Include `<grub/i18n.h>'.
30890 (grub_cmd_help): Gettextizze.
30891 (GRUB_MOD_INIT): Likewise.
30892 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30893 (GRUB_MOD_INIT): Gettextizze.
30894 * commands/search.c: Include `<grub/i18n.h>'.
30895 (options): Gettextizze.
30896 (GRUB_MOD_INIT): Gettextizze.
30897 * lib/arg.c: Include `<grub/i18n.h>'.
30898 (help_options): Gettextizze.
30899 (find_long): Likewise.
30900 (grub_arg_show_help): Likewise.
30901 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30902 (read_command_list): Gettextizze.
30903 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30904 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30905
22815526
RM
309062009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30907
30908 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30909 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30910 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30911 (led_status): New variable.
30912 (keyboard_controller_led): New function.
30913 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30914 update led status for caps lock, num lock and scroll lock.
30915
0ad46fd7
FZ
309162009-12-25 Felix Zielcke <fzielcke@z-51.de>
30917
30918 * util/hostdisk.c (open_device): Fix a comment.
30919
d0e158c2
RM
309202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30921
30922 * util/grub-install.in (host_os): New variable.
30923 * util/i386/efi/grub-install.in (host_os): Likewise.
30924
401c0ad6
RM
309252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30926
30927 * util/mkisofs/write.c (padblock_write): Abort when given an
30928 excedingly large embed image, instead of silently truncating it.
30929
d14d3370
RM
309302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30931
30932 * include/multiboot.h: Indentation fixes.
30933
eeed10b4
RM
309342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30935
30936 * include/multiboot.h (struct multiboot_aout_symbol_table)
30937 (struct multiboot_elf_section_header_table): New structure
30938 declarations (stolen from GRUB Legacy).
30939 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30940 table information.
30941
30942 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30943 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30944 type aliases.
30945
681c70ab
RM
309462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30947
30948 * include/multiboot.h: Make comments src2texi-friendly.
30949
e4d47d8d
RM
309502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30951
30952 For consistency with [multiboot]/docs/boot.S.
30953
30954 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30955 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30956 (MULTIBOOT_MAGIC2): Rename from this ...
30957 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30958
a0b70bda
RM
309592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30960
30961 * include/multiboot.h: Remove `<grub/types.h>'.
30962 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30963 types. Update all users.
30964
61ba42be 309652009-12-25 Carles Pina i Estany <carles@pina.cat>
30966
30967 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30968 `couldn't' and `can not' by `cannot'.
30969 * commands/i386/pc/drivemap.c: Likewise.
30970 * disk/ata.c: Likewise.
30971 * disk/ieee1275/nand.c: Likewise.
30972 * fs/affs.c: Likewise.
30973 * fs/fat.c: Likewise.
30974 * fs/hfs.c: Likewise.
30975 * fs/hfsplus.c: Likewise.
30976 * fs/iso9660.c: Likewise.
30977 * fs/jfs.c: Likewise.
30978 * fs/minix.c: Likewise.
30979 * fs/reiserfs.c: Likewise.
30980 * fs/sfs.c: Likewise.
30981 * fs/udf.c: Likewise.
30982 * fs/ufs.c: Likewise.
30983 * fs/xfs.c: Likewise.
30984 * loader/powerpc/ieee1275/linux.c: Likewise.
30985 * loader/sparc64/ieee1275/linux.c: Likewise.
30986 * util/grub-probe.c: Likewise.
30987 * util/misc.c: Likewise.
30988
7fd0baee 309892009-12-24 Carles Pina i Estany <carles@pina.cat>
30990
30991 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30992 grub_errno calls.
30993 * commands/acpi.c: Likewise.
30994 * commands/blocklist.c: Likewise.
30995 * commands/efi/loadbios.c: Likewise.
30996 * commands/i386/pc/drivemap.c: Likewise.
30997 * commands/loadenv.c: Likewise.
30998 * commands/memrw.c: Likewise.
30999 * commands/password.c: Likewise.
31000 * commands/videotest.c: Likewise.
31001 * disk/ata.c: Likewise.
31002 * disk/ata_pthru.c: Likewise.
31003 * disk/dmraid_nvidia.c: Likewise.
31004 * disk/ieee1275/nand.c: Likewise.
31005 * disk/ieee1275/ofdisk.c: Likewise.
31006 * disk/loopback.c: Likewise.
31007 * disk/lvm.c: Likewise.
31008 * disk/mdraid_linux.c: Likewise.
31009 * disk/raid.c: Likewise.
31010 * disk/raid6_recover.c: Likewise.
31011 * disk/scsi.c: Likewise.
31012 * efiemu/main.c: Likewise.
31013 * efiemu/mm.c: Likewise.
31014 * efiemu/pnvram.c: Likewise.
31015 * efiemu/symbols.c: Likewise.
31016 * font/font.c: Likewise.
31017 * fs/cpio.c: Likewise.
31018 * fs/hfsplus.c: Likewise.
31019 * fs/iso9660.c: Likewise.
31020 * fs/jfs.c: Likewise.
31021 * fs/minix.c: Likewise.
31022 * fs/ntfs.c: Likewise.
31023 * fs/ntfscomp.c: Likewise.
31024 * fs/reiserfs.c: Likewise.
31025 * fs/ufs.c: Likewise.
31026 * fs/xfs.c: Likewise.
31027 * gettext/gettext.c: Likewise.
31028 * include/grub/auth.h: Likewise.
31029 * kern/elf.c: Likewise.
31030 * kern/file.c: Likewise.
31031 * kern/ieee1275/init.c: Likewise.
31032 * kern/ieee1275/mmap.c: Likewise.
31033 * kern/ieee1275/openfw.c: Likewise.
31034 * kern/powerpc/dl.c: Likewise.
31035 * kern/sparc64/dl.c: Likewise.
31036 * lib/arg.c: Likewise.
31037 * loader/i386/bsd.c: Likewise.
31038 * loader/i386/bsdXX.c: Likewise.
31039 * loader/i386/efi/linux.c: Likewise.
31040 * loader/i386/efi/xnu.c: Likewise.
31041 * loader/i386/ieee1275/linux.c: Likewise.
31042 * loader/i386/linux.c: Likewise.
31043 * loader/i386/multiboot.c: Likewise.
31044 * loader/i386/pc/linux.c: Likewise.
31045 * loader/i386/pc/multiboot2.c: Likewise.
31046 * loader/i386/xnu.c: Likewise.
31047 * loader/ieee1275/multiboot2.c: Likewise.
31048 * loader/macho.c: Likewise.
31049 * loader/machoXX.c: Likewise.
31050 * loader/multiboot2.c: Likewise.
31051 * loader/multiboot_loader.c: Likewise.
31052 * loader/powerpc/ieee1275/linux.c: Likewise.
31053 * loader/sparc64/ieee1275/linux.c: Likewise.
31054 * loader/xnu.c: Likewise.
31055 * loader/xnu_resume.c: Likewise.
31056 * mmap/i386/pc/mmap.c: Likewise.
31057 * normal/menu_viewer.c: Likewise.
31058 * partmap/acorn.c: Likewise.
31059 * partmap/amiga.c: Likewise.
31060 * partmap/apple.c: Likewise.
31061 * script/lexer.c: Likewise.
31062 * term/gfxterm.c: Likewise.
31063 * term/i386/pc/serial.c: Likewise.
31064 * term/i386/pc/vga.c: Likewise.
31065 * term/ieee1275/ofconsole.c: Likewise.
31066 * term/terminfo.c: Likewise.
31067 * video/bitmap.c: Likewise.
31068 * video/efi_gop.c: Likewise.
31069 * video/efi_uga.c: Likewise.
31070 * video/fb/video_fb.c: Likewise.
31071 * video/i386/pc/vbe.c: Likewise.
31072 * video/readers/tga.c: Likewise.
31073 * video/video.c: Likewise.
31074
0ad46fd7 310752009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
31076
31077 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31078 * commands/lspci.c: Likewise.
31079 * commands/probe.c: Likewise.
31080 * commands/xnu_uuid.c: Likewise.
31081 * conf/i386-coreboot.rmk: Likewise.
31082 * conf/i386-efi.rmk: Likewise.
31083 * conf/i386-ieee1275.rmk: Likewise.
31084 * conf/i386-pc.rmk: Likewise.
31085 * conf/powerpc-ieee1275.rmk: Likewise.
31086 * conf/sparc64-ieee1275.rmk: Likewise.
31087 * conf/x86_64-efi.rmk: Likewise.
31088 * fs/i386/pc/pxe.c: Likewise.
31089 * gettext/gettext.c: Likewise.
31090 * include/grub/efi/graphics_output.h: Likewise.
31091 * include/grub/i386/pc/memory.h: Likewise.
31092 * kern/env.c: Likewise.
31093 * kern/i386/qemu/startup.S: Likewise.
31094 * lib/i386/pc/biosnum.c: Likewise.
31095 * lib/i386/relocator.c: Likewise.
31096 * lib/i386/relocator_asm.S: Likewise.
31097 * lib/relocator.c: Likewise.
31098 * loader/i386/bsd.c: Likewise.
31099 * loader/i386/multiboot.c: Likewise.
31100 * loader/i386/pc/chainloader.c: Likewise.
31101 * loader/i386/xnu.c: Likewise.
31102 * loader/xnu.c: Likewise.
31103 * normal/main.c: Likewise.
31104 * normal/menu_text.c: Likewise.
31105 * util/getroot.c: Likewise.
31106 * util/grub-mkconfig_lib.in: Likewise.
31107 * util/grub.d/00_header.in: Likewise.
31108 * util/i386/pc/grub-mkimage.c: Likewise.
31109 * util/mkisofs/eltorito.c: Likewise.
31110 * util/mkisofs/exclude.h: Likewise.
31111 * util/mkisofs/hash.c: Likewise.
31112 * util/mkisofs/iso9660.h: Likewise.
31113 * util/mkisofs/joliet.c: Likewise.
31114 * util/mkisofs/mkisofs.c: Likewise.
31115 * util/mkisofs/mkisofs.h: Likewise.
31116 * util/mkisofs/multi.c: Likewise.
31117 * util/mkisofs/name.c: Likewise.
31118 * util/mkisofs/rock.c: Likewise.
31119 * util/mkisofs/tree.c: Likewise.
31120 * util/mkisofs/write.c: Likewise.
31121 * video/efi_gop.c: Likewise.
31122
009ec743
VS
311232009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31124
31125 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31126 size counting.
31127
0ad46fd7 311282009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
31129
31130 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31131 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31132
d3d30ea0
VS
311332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31134
31135 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31136 (GRUB_MOD_INIT(memrw)): Update help line.
31137
a34f5c70
VS
311382009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31139
31140 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31141 Use grub_extcmd_t. All users updated.
31142 (options): New variable.
31143 (grub_cmd_read): Restructure for readability. Support "-v" option.
31144 (grub_cmd_write): Restructure for readability.
31145
0ad46fd7 311462009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
31147
31148 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31149
0ad46fd7 311502009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
31151
31152 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31153 with the actual contents of the correspondending make variable.
31154 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31155 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31156 specifying `*.lst' and `efiemu??.o'
31157
0ad46fd7 311582009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
31159
31160 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31161 after function name.
31162 Noticed by Rene Engelhard <rene@debian.org>.
31163
dc77a799
VS
311642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31165
31166 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31167 (options): New variable.
31168 (iospace): Likewise.
31169 (grub_lspci_iter): List IO spaces if "-i" was given.
31170 (grub_cmd_lspci): Parse options.
31171 (GRUB_MOD_INIT(lspci)): Use extcmd.
31172 (GRUB_MOD_FINI(lspci)): Likewise.
31173
0ad46fd7 311742009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
31175
31176 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31177 `function' keyword.
31178 Patch by Tony Mancill <tmancill@debian.org>.
31179
b5d5993b
VS
311802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31181
31182 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31183 (grub_uhci_portstatus): Likewise.
31184 (grub_uhci_portstatus): Add necessary delay.
11d18281 31185 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 31186
941903f2 311872009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 31188
941903f2 31189 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31190 (GRUB_MOD_INIT): Likewise.
31191 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 31192 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31193 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 31194 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31195 (enable_rom_area): Likewise.
31196 (GRUB_MOD_INIT): Likewise.
31197 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31198 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31199 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31200 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31201 * commands/hexdump.c (options): Likewise.
31202 * commands/i386/cpuid.c (options): Likewise.
31203 (GRUB_MOD_INIT): Likewise.
31204 * commands/i386/pc/drivemap.c (options): Likewise.
31205 (GRUB_MOD_INIT): Likewise.
31206 * commands/i386/pc/halt (options): Likewise.
31207 (GRUB_MOD_INIT): Likewise.
31208 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31209 * commands/i386/pc/pxecmd.c (options): Likewise.
31210 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31211 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31212 * commands/keystatus.c (options): Likewise.
31213 (GRUB_MOD_INIT): Likewise.
31214 * commands/loadenv.c (options): Likewise.
31215 * commands/ls.c (options): Likewise.
31216 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31217 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31218 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31219 * commands/parttool.c (helpmsg): Likewise.
31220 * commands/probe.c (options): Likewise.
31221 * commands/read.c (GRUB_MOD_INIT): Likewise.
31222 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31223 * commands/search.c (options): Likewise.
31224 * commands/sleep.c (options): Likewise.
31225 * commands/test.c (GRUB_MOD_INIT): Likewise.
31226 * commands/true.c (GRUB_MOD_INIT): Likewise.
31227 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31228 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31229 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31230 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31231 `$(XGETTEXT)'.
98a50553 31232 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31233
0ad46fd7 312342009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31235
ef3c2c3a 31236 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31237 instead of specifying them explicit.
31238
7922f68b
RM
312392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31240
31241 * NEWS: Add grub-probe support for GNU/Hurd.
31242
537ce47f
RM
312432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31244
31245 * NEWS: gettext was added after 1.97.
31246
9b214e3a
RM
312472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31248
31249 * util/mkisofs/msdos_partition.h: New file (based on
31250 include/grub/msdos_partition.h).
31251 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31252 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31253 (ld_options, main): Recognize --protective-msdos-label.
31254 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31255 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31256 (padblock_write): If `use_protective_msdos_label' is set, patch a
31257 protective DOS-style label in the output image.
31258
31259 * util/grub-mkrescue.in: Use --protective-msdos-label.
31260
e9309813
RM
312612009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31262
31263 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31264 boot.
31265
0ae56929
RM
312662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31267
31268 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31269 variables.
31270 (ld_options, main): Recognize `--embedded-boot'.
31271 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31272 declarations.
31273 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31274 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31275 (padblock_write): Likewise. Rewrite to support embedded boot image.
31276
31277 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31278 for BIOS-based disk boot instead of only ElTorito.
31279
b15937b1
RM
312802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31281
31282 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31283 build (not needed for bootstrap).
31284
52cc3ce0
RM
312852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31286
31287 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31288 from i386-pc build (not needed for bootstrap).
31289 Rewrite a pair of strings.
31290
36f5ff04
RM
312912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31292
31293 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31294
973c6c85 312952009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31296
31297 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31298
05d21547
AB
312992009-12-21 Andreas Born <futur.andy@googlemail.com>
31300
31301 * kern/env.c (grub_env_context_open): Mark exported variable for
31302 reexport.
31303
0175d51f
AB
313042009-12-21 Andreas Born <futur.andy@googlemail.com>
31305
31306 * kern/env.c (grub_env_export): Create nonexistent variables before
31307 exporting.
31308
7f39d92f 313092009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31310
7f39d92f 31311 * include/grub/auth.h: Include `<grub/i18n.h>'.
31312 (GRUB_GET_PASSWORD): Gettextizze string.
31313 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31314 menu_text.c.
31315 (grub_utf8_to_ucs4_alloc): Fix indentation.
31316 (grub_print_ucs4): Likewise.
31317 (grub_getstringwidth): Likewise.
31318 (print_message_indented): New declaration.
31319 * normal/auth.c: Include `<grub/i18n.h>'.
31320 (grub_auth_check_authentication): Gettexttize string.
31321 * normal/cmdline.c: Include `<grub/i18n.h>'.
31322 (grub_cmdline_get): Gettextizze.
31323 * normal/color.c: Include `<grub/i18n.h>'.
31324 (grub_parse_color_name_pair): Gettexttize strings.
31325 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31326 string (use `print_message_indented').
31327 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31328 `include/grub/normal.h'.
31329 (print_message_indented): Renamed to ...
31330 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31331 used in normal/main.c).
31332 (print_message): Use `grub_print_message_indented' instead of
31333 `print_message_indented'.
31334 (print_timeout): Likewise.
31335 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31336 (grub_normal_print_device_info): Gettexttize strings.
31337 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31338
3041d898
VS
313392009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31340
31341 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31342 of arguments. Return number of tokens and not arguments. All users
31343 updated.
31344
de15bf8e
VS
313452009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31346
31347 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31348 non-MSDOS paritions.
31349
e0a6ca52
VS
313502009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31351
31352 * include/grub/types.h (UNUSED): Removed since it conflicts with
31353 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31354 Reported by Grégoire Sutre.
31355
b99518d1 313562009-12-19 Carles Pina i Estany <carles@pina.cat>
31357
31358 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31359 (grub_print_ucs4_alloc): Likewise.
31360 (grub_getstringwidth): Likewise.
31361 * normal/main.c (grub_normal_init_page): Gettextize version string.
31362 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31363 (getstringwidth): Renamed to ...
31364 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31365 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31366 (grub_print_ucs4): Remove `static' qualifer (now used in
31367 normal/main.c).
31368 * po/POTFILES: Add normal/main.c.
31369
bfd5e52b 313702009-12-19 Carles Pina i Estany <carles@pina.cat>
31371
31372 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31373 (print_message_indented): Add `margin_left' and `margin_right'
31374 parameters.
31375 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31376 strings.
31377 (print_timeout): Use `print_message_indented' to print the message.
31378 Deletes `second_stage' parameter.
31379 (run_menu): Update `print_timeout' calls.
31380
5a1ad2b9
VS
313812009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31382
31383 Fix console palette on OpenFirmware.
31384
31385 * term/ieee1275/ofconsole.c (MAX): Removed.
31386 (colors): Redone based on VGA palette.
31387 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31388 colors are supported.
31389 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31390
b045f00a
VS
313912009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31392
31393 Fix potential EfiEmu double prepare.
31394
31395 * efiemu/main.c (prepared): New variable
31396 (grub_efiemu_unload): Set prepare to '0'.
31397 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31398
31399 set_virtual_address_map support.
31400
31401 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31402 prototype.
31403 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31404 prototype.
31405 (grub_efiemu_crc32): Likewise.
31406 (grub_efiemu_crc64): Likewise.
31407 (grub_efiemu_set_virtual_address_map): Likewise.
31408 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31409 New definition.
31410 (grub_autoefi_set_virtual_address_map): Likewise.
31411 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31412 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31413 Restructure flow to accomodate it.
31414 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31415 (grub_efiemu_crc): Recompute CRC32.
31416 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31417 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31418 * efiemu/symbols.c (relocated_handle): New variable.
31419 (grub_efiemu_free_syms): Free relocated_handle.
31420 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31421 (grub_efiemu_write_sym_markers): New function.
31422 (grub_efiemu_set_virtual_address_map): Likewise.
31423
31424 Newer XNU parameters.
31425
31426 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31427 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31428 (grub_xnu_fill_devicetree): New prototype.
31429 (grub_xnu_heap_real_start): New variable.
31430 * loader/xnu.c (get_name_ptr): New function.
31431 (grub_xnu_load_driver): Fill namelen and name.
31432
31433 64-bit xnu support.
31434
31435 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31436 and 'loader/macho64.c'.
31437 * conf/i386-pc.rmk: Likewise.
31438 * conf/x86_64-efi.rmk: Likewise.
31439 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31440 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31441 * include/grub/macho.h (grub_macho_segment64): New structure.
31442 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31443 (grub_macho_size32): ... to this.
31444 (grub_macho32_get_entry_point): Renamed from ...
31445 (grub_macho_get_entry_point32): ... to this.
31446 (grub_macho_contains_macho64): New prototype.
31447 (grub_macho_size64): Likewise.
31448 (grub_macho_get_entry_point64): Likewise.
31449 (grub_macho32_load): Renamed from ...
31450 (grub_macho_load32): ... to this.
31451 (grub_macho32_filesize): Renamed from ...
31452 (grub_macho_filesize32): ... to this.
31453 (grub_macho32_readfile): Renamed from ...
31454 (grub_macho_readfile32): ... to this.
31455 (grub_macho_filesize64): New prototype.
31456 (grub_macho_readfile64): Likewise.
31457 (grub_macho_parse32): Likewise.
31458 (grub_macho_parse64): Likewise.
31459 * loader/macho.c: Split into ...
31460 * loader/machoXX.c: ... and this. Replace 32 with XX.
31461 * loader/macho32.c: New file.
31462 * loader/macho64.c: Likewise.
31463 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31464 (grub_cmd_xnu_kernel): Make 32-bit only.
31465 (grub_cmd_xnu_kernel64): New function.
31466 (grub_xnu_load_driver): Support Mach-O 64.
31467 (grub_cmd_xnu_mkext): Likewise.
31468 * util/grub.d/30_os-prober.in (osx_entry): New function.
31469 Generate entries for 64-bit boot too.
31470
31471 Eliminate ad-hoc tree format in XNU and EfiEmu.
31472
31473 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31474 * efiemu/pnvram.c: Rewritten to use environment variables.
31475 All users updated.
31476
31477 Inline utf16_to_utf8.
31478
31479 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31480 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31481 All users updated.
31482 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31483
31484 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31485 * commands/usbtest.c (grub_usb_get_string): ... move here.
31486 (usb_print_str): Fix error handling.
31487 * include/grub/usb.h (grub_usb_get_string): Remove.
31488
31489 UTF-8 to UTF-16 transformation.
31490
31491 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31492 (charset_mod_SOURCES): New variable.
31493 (charset_mod_CFLAGS): Likewise.
31494 (charset_mod_LDFLAGS): Likewise.
31495 * include/grub/utf.h: New file.
31496 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31497
31498 Support for device properties.
31499
31500 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31501 (grub_xnu_devprop_device_header): Likewise.
31502 (grub_xnu_devprop_device_descriptor): Likewise.
31503 (grub_xnu_devprop_add_device): New prototype.
31504 (grub_xnu_devprop_remove_device): Likewise.
31505 (grub_xnu_devprop_remove_property): Likewise.
31506 (grub_xnu_devprop_add_property_utf8): Likewise.
31507 (grub_xnu_devprop_add_property_utf16): Likewise.
31508 (grub_cpu_xnu_init): Likewise.
31509 (grub_cpu_xnu_fini): Likewise.
31510 (grub_cpu_xnu_unload): Likewise.
31511 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31512 (property_descriptor): Likewise.
31513 (devices): New variable.
31514 (grub_xnu_devprop_remove_property): New function.
31515 (grub_xnu_devprop_add_device): Likewise.
31516 (grub_xnu_devprop_remove_device): Likewise.
31517 (grub_xnu_devprop_add_property): Likewise.
31518 (grub_xnu_devprop_add_property_utf8): Likewise.
31519 (grub_xnu_devprop_add_property_utf16): Likewise.
31520 (hextoval): Likewise.
31521 (grub_cpu_xnu_fill_devprop): Likewise.
31522 (grub_cmd_devprop_load): Likewise.
31523 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31524 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31525 (cmd_devprop_load): New variable.
31526 (grub_cpu_xnu_init): New function.
31527 (grub_cpu_xnu_fini): Likewise.
31528 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31529 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31530 (grub_cmd_xnu_devtree): Likewise.
31531 (hextoval): New function.
31532 (unescape): Likewise.
31533 (grub_xnu_fill_devicetree): Likewise.
31534
31535 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31536 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31537
0945f181
VS
315382009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31539
31540 Workaround for broken ATI VBE.
31541
31542 * video/i386/pc/vbe.c (last_set_mode): New variable.
31543 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31544 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31545 (grub_video_vbe_setup): Don't check for reserved flag.
31546
0ad46fd7 315472009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31548
31549 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31550 the `find' command.
31551
c179ebe4
VS
315522009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31553
31554 UUID support for HFS.
31555
31556 * fs/hfs.c (grub_hfs_uuid): New function.
31557 (grub_hfs_fs): New value .uuid.
31558 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31559
0ad46fd7 315602009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31561
31562 Fix a segfault with parsing unknown long options.
31563
31564 * util/grub-mkrelpath.c (options): Zero terminate it.
31565
c4a3e41a
CPE
315662009-12-13 Carles Pina i Estany <carles@pina.cat>
31567
31568 * include/grub/misc.h (grub_puts): New declaration.
31569 (grub_puts_): Likewise.
a22008a6 31570 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31571 (grub_puts_): Likewise.
31572
2e8a7602
RM
315732009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31574
31575 * util/grub-probe.c (probe): Improve error message.
31576
b50b77b9
RM
315772009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31578
31579 * loader/i386/multiboot_elfxx.c
31580 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31581 initialization.
31582
315832009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31584
31585 Relocator framework
31586
31587 * loader/i386/xnu_helper.S: Removed. All users updated.
31588 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31589 (relocator_mod_SOURCES): New variable.
31590 (relocator_mod_CFLAGS): Likewise.
31591 (relocator_mod_LDFLAGS): Likewise.
31592 (relocator_mod_ASFLAGS): Likewise.
31593 * conf/x86_64.rmk: Likewise.
31594 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31595 (grub_multiboot_payload_entry_offset): Likewise.
31596 (grub_multiboot_forward_relocator): Likewise.
31597 (grub_multiboot_forward_relocator_end): Likewise.
31598 (grub_multiboot_backward_relocator): Likewise.
31599 (grub_multiboot_backward_relocator_end): Likewise.
31600 (grub_multiboot_payload_eip): New variable.
31601 (grub_multiboot_payload_orig): Likewise.
31602 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31603 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31604 * include/grub/i386/memory.h
31605 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31606 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31607 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31608 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31609 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31610 * include/grub/i386/relocator.h: New file.
31611 * include/grub/x86_64/relocator.h: Likewise.
31612 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31613 (XNU_RELOCATOR): New macro.
31614 (grub_xnu_launcher_start): Remove.
31615 (grub_xnu_launcher_end): Likewise.
31616 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31617 (grub_xnu_heap_real_start): Remove.
31618 (grub_xnu_heap_start): Change to void *. All users updated.
31619 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31620 * lib/i386/relocator.c: New file.
31621 * lib/i386/relocator_asm.S: Likewise.
31622 * lib/i386/relocator_backward.S: Likewise.
31623 * lib/mips/relocator.c: Likewise.
31624 * lib/mips/relocator_asm.S: Likewise.
31625 * lib/relocator.c: Likewise.
31626 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31627 (entry): Removed.
31628 (playground): Likewise.
31629 (grub_multiboot_payload_orig): New variable.
31630 (grub_multiboot_payload_dest): Likewise.
31631 (grub_multiboot_payload_size): Likewise.
31632 (grub_multiboot_payload_eip): Likewise.
31633 (grub_multiboot_payload_esp): Likewise.
31634 (grub_multiboot_boot): Use grub_relocator32_boot.
31635 (grub_multiboot_unload): Free relocators.
31636 (grub_multiboot): Setup stack. Use relocators.
31637 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31638 (grub_multiboot_load_elfXX): Use relocators.
31639 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31640 (grub_multiboot_payload_size): Likewise.
31641 (grub_multiboot_payload_dest): Likewise.
31642 (grub_multiboot_payload_entry_offset): Likewise.
31643 (grub_multiboot_forward_relocator): Likewise.
31644 (grub_multiboot_backward_relocator): Likewise.
31645 (grub_multiboot_real_boot): Likewise.
31646 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31647 (grub_xnu_entry_point): Likewise.
31648 (grub_xnu_arg1): Likewise.
31649 (grub_xnu_stack): Likewise.
31650 (grub_xnu_launch): Removed.
31651 (grub_xnu_boot_resume): New function.
31652 (grub_xnu_boot): Use relocators.
31653 * loader/i386/xnu_helper.S: Removed.
31654 * loader/xnu.c (grub_xnu_heap_start): New variable.
31655 (grub_xnu_heap_size): Likewise.
31656 (grub_xnu_heap_malloc): Use relocators.
31657 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31658
29eb90c6
VS
316592009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31660
31661 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31662 anything.
31663
31027430
CPE
316642009-12-13 Carles Pina i Estany <carles@pina.cat>
31665
31666 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31667 GRUB_ERR_NONE before calling grub_env_set.
31668
dc0c71d9
RM
316692009-12-12 Robert Millan <rmh@aybabtu.com>
31670
31671 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31672 * genmk.rb (video): New variable.
31673 (CLEANFILES, VIDEOFILES): Add #{video}.
31674 (#{video}): New target rule.
31675 * genvideolist.sh: New file.
31676 * Makefile.in (pkglib_DATA): Add video.lst.
31677 (video.lst): New target rule.
31678 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31679 `video.lst'.
31680 * util/grub.d/30_os-prober.in: Replace `vbe' with
31681 ${GRUB_VIDEO_BACKEND}.
31682
2a4bfcf0
RM
316832009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31684
31685 * THANKS: Add David Miller.
31686
2a3aa4d5
RM
316872009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31688
31689 libpciaccess support.
31690
31691 * Makefile.in (LIBPCIACCESS): New variable.
31692 (enable_grub_emu_pci): Likewise.
31693 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31694 util/pci.c and commands/lspci.c.
31695 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31696 * configure.ac (grub-emu-pci): New option.
31697 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31698 (grub_pci_device_unmap_range): Likewise.
31699 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31700 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31701 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31702 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31703 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31704 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31705 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31706 * include/grub/pciutils.h: New file.
31707 * util/pci.c: Likewise.
31708
0ad46fd7 317092009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31710
31711 * util/misc.c: Don't include <errno.h> twice.
31712
0ad46fd7 317132009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31714
31715 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31716 name in an error message.
31717 (grub_biosdisk_rw): Likewise.
31718
2e59983c
VS
317192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31720
31721 Eliminate NTFS 4Gib barrier.
31722
31723 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31724 (read_run_data): Likewise.
31725 (grub_ntfs_read_run_list): Likewise.
31726 (grub_ntfs_read_block): Likewise.
31727 (grub_ntfs_iterate_dir): Likewise.
31728 (read_mft): Likewise.
31729 (read_data): Likewise.
31730 Use COM_LOG_LEN.
31731 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31732 to avoid 64-bit division
31733 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31734 (grub_ntfs_rlst): Use grub_disk_addr_t.
31735
71ee178a
VS
317362009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31737
31738 Eliminate grub-fstest 4Gib barrier.
31739
31740 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31741 (read_file): Fix error reporting.
31742
2520d4b8
VS
317432009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31744
31745 Eliminate hexdump 4Gib barrier.
31746
31747 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31748 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31749
e1f27065
VS
317502009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31751
31752 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31753 Fixes amarsh bug.
31754
1a0f7f45
RM
317552009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31756
31757 Remove miscellaneous files in distclean target.
31758
31759 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31760
c631d9fb
CW
317612009-12-09 Colin Watson <cjwatson@ubuntu.com>
31762
31763 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31764 if they're already set. This resolves the conflict between my
31765 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31766 fixing the --grub-probe option again.
31767 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31768 change on 2009-10-06, so that we now once again source
31769 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31770
7c7b6106
RM
317712009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31772
31773 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31774 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31775 `util/devicemap.c'.
31776
e3069ec1
CPE
317772009-12-08 Carles Pina i Estany <carles@pina.cat>
31778
31779 * include/grub/misc.h (grub_printf_): New declaration.
31780 * kern/misc.c (grub_printf_): New definition.
31781 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31782 instead of `grub_printf' and `_'.
31783 * normal/menu_entry.c (store_completion): Likewise.
31784 (run): Likewise.
31785 (grub_menu_entry_run): Likewise.
31786 * normal/menu_text.c (grub_wait_after_message): Likewise.
31787 (notify_booting): Likewise.
31788 (notify_fallback): Likewise.
31789 (notify_execution_failure): Likewise.
31790
d6ceebf1
CW
317912009-12-07 Colin Watson <cjwatson@ubuntu.com>
31792
31793 * configure.ac: Check for vasprintf.
31794 * util/misc.c (asprintf): Move allocation from here ...
31795 (vasprintf): ... to here. New function.
31796 (xasprintf): New function.
31797 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31798 prototypes.
31799 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31800 * util/grub-mkfont.c (write_font): Likewise.
31801 * util/grub-probe.c (probe): Likewise.
31802 * util/hostdisk.c (make_device_name): Likewise.
31803
de6daa8b
DM
318042009-12-06 David S. Miller <davem@sunset.davemloft.net>
31805
31806 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31807 anything even prefixed with 'cdrom' as a cdrom.
31808
0ad46fd7 318092009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31810
31811 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31812 mount points.
31813
98d3dc02
CPE
318142009-12-05 Carles Pina i Estany <carles@pina.cat>
31815
31816 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31817 grub_gettext_msg_list.
31818 (grub_gettext_gettranslation_from_position): Return const char *
31819 and not char *.
a2c1332b 31820 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31821 returns from the list if existing there.
31822 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31823 (grub_gettext_delete_list): Delete the list.
31824 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31825 lang environment variable is changed.
31826 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31827
b283f108
VS
318282009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31829
31830 Rename kernel.mod to kernel.img.
31831
31832 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31833 (kernel_mod_EXPORTS): Rename to ...
31834 (kernel_img_EXPORTS): ... this.
31835 (kernel_mod_SOURCES): Rename to ...
31836 (kernel_img_SOURCES): ... this.
31837 (kernel_mod_HEADERS): Rename to ...
31838 (kernel_img_HEADERS): ... this. All users updated.
31839 (kernel_mod_CFLAGS): Rename to ...
31840 (kernel_img_CFLAGS): ... this.
31841 (kernel_mod_ASFLAGS): Rename to ...
31842 (kernel_img_ASFLAGS): ... this.
31843 (kernel_mod_LDFLAGS): Rename to ...
31844 (kernel_img_LDFLAGS): ... this.
31845 * conf/x86_64-efi.rmk: Likewise.
31846 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31847 (read_kernel_image): ... this. All users updated.
31848 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31849
69055f8a
CPE
318502009-12-05 Carles Pina i Estany <carles@pina.cat>
31851
31852 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31853 (print_spaces): New function.
31854 (grub_print_ucs4): New function.
31855 (getstringwidth): New function.
31856 (print_message_indented): New function.
31857 (print_message): Gettexttize strings using print_message_indented.
31858 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31859 width.
31860 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31861 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31862 Gettextize.
31863 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31864 string.
31865 (run): Likewise.
31866 (grub_menu_entry_run): Likewise.
31867 * PO/POTFILES: Add normal/menu_entry.c.
31868
f616f51c
VS
318692009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31870
31871 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31872
57bbe3be
CPE
318732009-12-05 Carles Pina i Estany <carles@pina.cat>
31874
31875 * util/grub-install.in: Install gettext .mo files.
31876 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31877
013d67a1
CPE
318782009-12-05 Carles Pina i Estany <carles@pina.cat>
31879
31880 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31881 grub_dprintf.
31882
fb954db0
RM
318832009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31884
31885 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31886 non-firmware-dependant one in realmode.S takes precedence.
31887
6b8474f8
RM
318882009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31889
31890 * commands/halt.c: Replace misc arch-specific headers with
31891 `<grub/misc.h>'.
31892 * commands/reboot.c: Likewise.
31893 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31894 `<grub/misc.h>'.
31895 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31896 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31897 (kernel_img_SOURCES): ... to here.
31898
31899 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31900 * include/grub/i386/pc/init.h: Likewise.
31901 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31902 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31903
31904 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31905
31906 * include/grub/i386/halt.h: Remove.
31907 * include/grub/i386/reboot.h: Likewise.
31908
31909 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31910
4b2e6ca2
DM
319112009-12-03 David S. Miller <davem@sunset.davemloft.net>
31912
31913 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31914 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31915 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31916 "progname.h"
31917 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31918 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31919 (usage): Add missing comma in printf.
31920
5239348f
RM
319212009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31922
31923 Use the same reboot approach on i386 coreboot and qemu as we do on
31924 BIOS.
31925
31926 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31927 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31928 * kern/i386/reboot.c: Remove.
31929 * include/grub/i386/reboot.h (grub_reboot): Export function.
31930 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31931 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31932 0xf000:0xfff0 instead of 0xffff:0x0000.
31933 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31934 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31935
ef34cbd4
RM
319362009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31937
31938 Fix $srcdir != $objdir build.
31939
31940 * Makefile.in (po/%.po): Rewrite as ...
31941 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31942
dc9837ea
ST
319432009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31944
31945 Fix GNU/Hurd grub-install crash.
31946 * util/grub-probe.c (probe): Try to access `path' only when it is not
31947 NULL.
31948
2f857f98
VS
319492009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31950
31951 Correct module naming.
31952
31953 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31954 (GRUB_MOD_INIT(efi_uga)): ... to this
31955 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31956 (GRUB_MOD_FINI(efi_uga)): ... to this
31957 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31958 (GRUB_MOD_INIT(efi_gop)): ... to this
31959 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31960 (GRUB_MOD_FINI(efi_gop)): ... to this
31961
c5448046
RM
319622009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31963
31964 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31965 translatable.
31966 (usage): Translate `arg' strings using gettext().
31967 Thanks to Jordi Mallach for the suggestion.
31968
c85184ad
VS
319692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31970
31971 GOP support. Based on patch from Bean
31972 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31973
31974 * video/efi_gop.c: New file.
31975 * include/grub/efi/graphics_output.h: Likewise.
31976 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31977 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31978 variables.
31979 * conf/x86_64-efi.rmk: Likewise.
31980
8a4c48d8
VS
319812009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31982
31983 Rename efi_fb to efi_uga.
31984
31985 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31986 'efi_uga.mod'.
31987 (efi_fb_mod_SOURCES): Rename this ...
31988 (efi_uga_mod_SOURCES): ... to this.
31989 (efi_fb_mod_CFLAGS): Rename this ...
31990 (efi_uga_mod_CFLAGS): ... to this.
31991 (efi_fb_mod_LDFLAGS): Rename this ...
31992 (efi_uga_mod_LDFLAGS): ... to this.
31993 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31994 'efi_uga.mod'.
31995 (efi_fb_mod_SOURCES): Rename this ...
31996 (efi_uga_mod_SOURCES): ... to this.
31997 (efi_fb_mod_CFLAGS): Rename this ...
31998 (efi_uga_mod_CFLAGS): ... to this.
31999 (efi_fb_mod_LDFLAGS): Rename this ...
32000 (efi_uga_mod_LDFLAGS): ... to this.
32001 * video/efi_fb.c: Move this ...
32002 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
32003
fb6c1a7b
RM
320042009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32005
32006 * po/README: New file. Explain our PO file workflow.
32007
3bc7896c
RM
320082009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32009
32010 * po/ChangeLog: Remove. Move relevant entries back to ...
32011 * ChangeLog: ... here.
32012 * po/ca.po: Remove (now handled by TLP).
32013 * po/id.po: Likewise.
32014 * po/zh_CN.po: Likewise.
32015 * Makefile.in (LINGUAS): Initialize in a way that supports
32016 empty set.
32017
9ed4841d
RM
320182009-11-27 Robert Millan <rmh.grub@aybabtu.com>
32019
32020 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
32021 reliing on po/LINGUAS.
32022 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
32023 (po/%.po): ... this.
32024
0ad46fd7 320252009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
32026
32027 * util/i386/efi/grub-mkimage.c: Include "progname.h".
32028 (main): Use `program_name' instead of nonexistent `progname'.
32029
e30dd392
FZ
320302009-11-26 Felix Zielcke <fzielcke@z-51.de>
32031
32032 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32033 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
32034
7656de4f
RM
320352009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32036
32037 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32038 commit.
32039 * conf/i386-efi.rmk: Likewise.
32040 * conf/i386-ieee1275.rmk: Likewise.
32041 * conf/powerpc-ieee1275.rmk: Likewise.
32042 * conf/sparc64-ieee1275.rmk: Likewise.
32043 * conf/x86_64-efi.rmk: Likewise.
32044
db77c4d4
FZ
320452009-11-26 Felix Zielcke <fzielcke@z-51.de>
32046
32047 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32048
a755bb04
FZ
320492009-11-26 Felix Zielcke <fzielcke@z-51.de>
32050
32051 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32052
8a4c07fd
RM
320532009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32054
32055 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32056 (grub_mkdevicemap_SOURCES): New variable.
32057 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32058 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32059 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32060 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32061 (grub_mkdevicemap_SOURCES): Remove.
32062 * conf/i386-efi.rmk: Likewise.
32063 * conf/i386-ieee1275.rmk: Likewise.
32064 * conf/i386-pc.rmk: Likewise.
32065 * conf/powerpc-ieee1275.rmk: Likewise.
32066 * conf/sparc64-ieee1275.rmk: Likewise.
32067 * conf/x86_64-efi.rmk: Likewise.
32068 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32069 (usage): Fix strings to use `program_name'.
32070 (main): Initialize gettext.
32071 * util/grub-editenv.c: Likewise.
32072 * util/grub-emu.c: Likewise.
32073 * util/grub-fstest.c: Likewise.
32074 * util/grub-mkdevicemap.c: Likewise.
32075 * util/grub-mkfont.c: Likewise.
32076 * util/grub-mkrelpath.c: Likewise.
32077 * util/grub-pe2elf.c: Likewise.
32078 * util/grub-probe.c: Likewise.
32079 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32080 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32081 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32082
32083 * util/misc.c: Include `"progname.h"'.
32084 (progname): Remove variable.
32085 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32086
6f61ed55
FZ
320872009-11-25 Felix Zielcke <fzielcke@z-51.de>
32088
32089 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32090 printf and print a newline after the menuentry header line.
32091 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32092
f022876b
FZ
320932009-11-25 Felix Zielcke <fzielcke@z-51.de>
32094
32095 autoconf >= 2.60 support $(localedir).
32096
32097 * INSTALL: Note that autoconf 2.60 is required.
32098 * configure.ac (AC_PREREQ): Bump to 2.60.
32099 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32100 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32101
6717926e
YB
321022009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32103
32104 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32105 aclocal is run.
32106
08806a54
RM
321072009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32108
32109 * normal/main.c (grub_normal_read_line): Fix off-by-one
32110 buffer overflow.
32111
13b33fba
RM
321122009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32113
32114 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32115 "parser.grub" in grub_command_execute() call.
32116
4a8572e9
CPE
321172009-11-24 Carles Pina i Estany <carles@pina.cat>
32118
32119 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32120 * conf/i386-efi.rmk: Likewise.
32121 * conf/i386-ieee1275.rmk: Likewise.
32122 * conf/i386-pc.rmk: Likewise.
32123 * conf/powerpc-ieee1275.rmk: Likewise.
32124 * conf/sparc64-ieee1275.rmk: Likewise.
32125 * conf/x86_64-efi.rmk: Likewise.
32126 * gettext/gettex.c: Include <grub/i18n.h>.
32127 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32128 here ...
32129 * include/grub/i18n.h: ... to here
32130 * include/grub/i18n.h: ... to here.
32131 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 32132 (grub_gettext_dummy): Move above user.
4a8572e9 32133
bee48093
FZ
321342009-11-24 Felix Zielcke <fzielcke@z-51.de>
32135
32136 * util/Makefile.in (install-local): Convert a `for' into a normal
32137 shell expansion.
32138
a031e91c
RM
321392009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32140
32141 * autogen.sh: Add automake call.
32142 * config.guess: Remove.
32143 * config.sub: Likewise.
32144 * install-sh: Likewise.
32145
26bec39d
FZ
321462009-11-24 Felix Zielcke <fzielcke@z-51.de>
32147
32148 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32149
8e2532fd
FZ
321502009-11-24 Felix Zielcke <fzielcke@z-51.de>
32151
32152 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32153 function to a normal shell `for'.
32154
fefa1b7d
FZ
321552009-11-24 Felix Zielcke <fzielcke@z-51.de>
32156
32157 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32158
4501250b
FZ
321592009-11-24 Felix Zielcke <fzielcke@z-51.de>
32160
32161 * util/grub-mkrelpath.c: New file.
32162 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32163 (grub_mkrelpath_SOURCES): New variable.
32164 * include/grub/util/misc.h: New function prototype.
32165 * util/misc.c (make_system_path_relative_to_its_root): New function.
32166
32167 * util/grub-mkconfig_lib.in (bindir): New variable.
32168 (grub_mkrelpath): Likewise.
32169 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32170
32171 * util/probe.c (probe): Make the file path relative to its root.
32172 Change a info message to use the GRUB path. Enable again the
32173 check if we can read the file with GRUB facilities.
32174
32175 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32176 to its root.
32177
11d9778b
FZ
321782009-11-24 Felix Zielcke <fzielcke@z-51.de>
32179
32180 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32181 platform.
32182
4465287d
FZ
321832009-11-24 Felix Zielcke <fzielcke@z-51.de>
32184
32185 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32186 strncmp().
32187
62b47f22
FZ
321882009-11-24 Felix Zielcke <fzielcke@z-51.de>
32189
32190 * util/getroot.c (grub_util_is_dmraid): New function.
32191 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32192 devices as normal ones, not as LVM.
32193
1eafb9b9 321942009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
32195
32196 * conf/common.rmk: Add grub-gettext_lib target and updates
32197 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32198 LDFLAGS.
32199 * gettext/gettext.c: New file. (Reads mo files).
32200 * include/grub/file.h (grub_file_pread): New prototype.
32201 * include/grub/i18n.h (_): New prototype.
32202 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32203 prototypes.
32204 * kern/misc.c (grub_gettext_dummy): New function.
32205 * normal/menu_text.c: Include <grub/i18n.h>.
32206 * normal/menu_text.c (print_timeout): Gettexttize string.
32207 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
32208 * po/POTFILES: Add `normal/menu_text.c'.
32209 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32210 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32211 gettext module and defines locale_dir and lang in grub.cfg.
32212 * NEWS: Add gettext support.
32213
0fdb2568
RM
322142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32215
32216 * util/hostdisk.c: Include `<grub/i18n.h>'.
32217 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32218 (make_device_name): Rewrite using asprintf.
32219 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32220 (find_system_device): If a device is not found, generate one just
32221 by reusing the OS path name.
32222 (read_device_map): Make it permissible for device.map not to exist.
32223
f515aa62
RM
322242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32225
32226 * script/sh/execute.c: Move from here ...
32227 * script/execute.c: ... to here. Update all users.
32228 * script/sh/function.c: Move from here ...
32229 * script/function.c: ... to here. Update all users.
32230 * script/sh/lexer.c: Move from here ...
32231 * script/lexer.c: ... to here. Update all users.
32232 * script/sh/main.c: Move from here ...
32233 * script/main.c: ... to here. Update all users.
32234 * script/sh/parser.y: Move from here ...
32235 * script/parser.y: ... to here. Update all users.
32236 * script/sh/script.c: Move from here ...
32237 * script/script.c: ... to here. Update all users.
32238
f84b481b
RM
322392009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32240
32241 * configure.ac: Detect all `emu' platforms. Define
32242 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32243 --enable-grub-emu logic. Disable include/grub/machine
32244 symlink on `emu' platforms.
32245
32246 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32247 * gensymlist.sh.in: Likewise.
32248
32249 * include/grub/i386/coreboot/machine.h: Remove file.
32250 * include/grub/i386/efi/machine.h: Likewise.
32251 * include/grub/i386/ieee1275/machine.h: Likewise.
32252 * include/grub/i386/pc/machine.h: Likewise.
32253 * include/grub/i386/qemu/machine.h: Likewise.
32254 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32255 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32256 * include/grub/x86_64/efi/machine.h: Likewise.
32257
32258 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32259 * commands/halt.c: Likewise.
32260 * commands/reboot.c: Likewise.
32261 * include/grub/autoefi.h: Likewise.
32262 * include/grub/i386/at_keyboard.h: Likewise.
32263 * include/grub/i386/kernel.h: Likewise.
32264 * include/grub/i386/loader.h: Likewise.
32265 * include/grub/i386/pc/memory.h: Likewise.
32266 * kern/dl.c: Likewise.
32267 * kern/i386/coreboot/init.c: Likewise.
32268 * loader/i386/bsd.c: Likewise.
32269 * loader/i386/linux.c: Likewise.
32270 * loader/multiboot_loader.c: Likewise.
32271 * term/i386/pc/serial.c: Likewise.
32272 * term/usb_keyboard.c: Likewise.
32273
32274 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32275 `<grub/machine/machine.h>'
32276 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32277 * util/misc.c: Remove `<grub/machine/machine.h>' and
32278 `<grub/machine/time.h>'.
32279
32280 * Makefile.in (enable_grub_emu): Remove variable.
32281 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32282
32283 * conf/any-emu.rmk: New file.
32284 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32285 (grub_emu_init.c): Move from here ...
32286 * conf/any-emu.rmk: ... to here.
32287
32288 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32289 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32290 * conf/any-emu.rmk: ... to here.
32291
4efeab03
RM
322922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32293
32294 * include/grub/parser.h (grub_parser_register): Document need
32295 of `name' parameter.
32296 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32297 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32298 "sh" to "grub".
32299
ea1dd8bf
RM
323002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32301
32302 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32303 `$(XGETTEXT)'.
32304 * include/grub/i18n.h (N_): New macro.
32305 * util/mkisofs/mkisofs.h: Likewise.
32306 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32307 around N_().
32308 (usage): Use gettext() to translate help strings when printing them.
32309
0c140626
RM
323102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32311
32312 Based on patch from Bean
32313 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32314
32315 * video/efi_fb.c: New file.
32316 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32317 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32318 variables.
32319 * conf/x86_64-efi.rmk: Likewise.
32320
87d58298
RM
323212009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32322
32323 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32324 * util/i386/pc/grub-setup.c: Likewise.
32325
994cc3a3
ST
323262009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32327
32328 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32329 <hurd/fs.h>
32330 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32331 file_get_storage_info to implement grub_guess_root_device.
32332
26a61d6a
FZ
323332009-11-21 Felix Zielcke <fzielcke@z-51.de>
32334
32335 * Makefile.in (target): Use make's builtin $(shell) function
32336 instead of calling directly $(SHELL) to create the locale directories,
32337 inside the $(foreach) function.
32338
74ff1dd5
FZ
323392009-11-21 Felix Zielcke <fzielcke@z-51.de>
32340
32341 * util/grub-mkrescue.in: Print an error and usage if output option
32342 has not been given.
32343
0b787d0e
FZ
323442009-11-21 Felix Zielcke <fzielcke@z-51.de>
32345
32346 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32347 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32348 root and /boot are on different devices.
32349
1164b270
RM
323502009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32351
32352 Fix build for srcdir != objdir.
32353
32354 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32355 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32356 $(srcdir).
32357 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32358 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32359 reference for input.
32360
13774a2f
RM
323612009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32362
32363 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32364 or hardlinking it). Remove -J option, Joliet is not compatible with
32365 multiple source directories.
32366
efda854e
RM
323672009-11-21 Carles Pina i Estany <carles@pina.cat>
323682009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32369
32370 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32371 (process_input_dir): New function. Process an arbitrary input
32372 directory.
32373 Misc adjustments to support both "override mode" and system-wide mode.
32374
6c09890c
FZ
323752009-11-20 Felix Zielcke <fzielcke@z-51.de>
32376
32377 * configure.ac (UNIFONT_BDF): Rename to ...
32378 (FONT_SOURCE): ... this. Update all users.
32379
a797824f
FZ
323802009-11-20 Felix Zielcke <fzielcke@z-51.de>
32381
32382 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32383 to the list of unifont files to look for.
32384
cd4f42b0
RM
323852009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32386
32387 Patch from Joe Auricchio <jauricchio@gmail.com>
32388 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32389 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32390 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32391
393c783d
FZ
323922009-11-19 Felix Zielcke <fzielcke@z-51.de>
32393
32394 * Makefile.in (install-local): Add a missing backslash.
32395
b2f1e327
FZ
323962009-11-19 Felix Zielcke <fzielcke@z-51.de>
32397
32398 * include/grub/x86_64/io.h: New file.
32399
f577f7a0
RM
324002009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32401
32402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32403 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32404 Include `"progname.h"'.
32405 (main): Initialize gettext.
32406 * util/i386/pc/grub-setup.c: Gettexttize.
32407 * util/i386/pc/grub-mkimage.c: Likewise.
32408
32409 * Makefile.in (po/*.po): Redefine as ...
32410 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32411
3bc7896c
RM
32412 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32413
c37943b6
RM
324142009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32415
32416 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32417 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32418 (program_name): Remove.
32419 (main): Initialize gettext support.
6323f705
RM
32420 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32421 Include `<libintl.h>'.
32422 (_): New macro.
c37943b6
RM
32423
32424 * util/mkisofs/eltorito.c: Gettexttize.
32425 * util/mkisofs/joliet.c: Likewise.
32426 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32427 * util/mkisofs/multi.c: Likewise.
32428 * util/mkisofs/rock.c: Likewise.
32429 * util/mkisofs/tree.c: Likewise.
32430 * util/mkisofs/write.c: Likewise.
32431
3bc7896c
RM
32432 * po/POTFILES: Update with new files.
32433
5ce77c6e
RM
324342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32435
32436 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32437 * util/mkisofs/iso9660.h: Likewise.
32438 * util/mkisofs/joliet.c: Likewise.
32439 * util/mkisofs/mkisofs.c: Likewise.
32440 * util/mkisofs/mkisofs.h: Likewise.
32441 * util/mkisofs/rock.c: Likewise.
32442 * util/mkisofs/tree.c: Likewise.
32443 * util/mkisofs/write.c: Likewise.
32444
32445 * util/mkisofs/eltorito.c (rcsid): Remove.
32446 * util/mkisofs/hash.c: Likewise.
32447 * util/mkisofs/joliet.c: Likewise.
32448 * util/mkisofs/name.c: Likewise.
32449 * util/mkisofs/rock.c: Likewise.
32450 * util/mkisofs/tree.c: Likewise.
32451 * util/mkisofs/write.c: Likewise.
32452
1dabbc77
RM
324532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32454
32455 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32456 instead of static allocation.
32457 * util/mkisofs/match.h: Likewise.
32458
633877cb
RM
324592009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32460
3bc7896c
RM
32461 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32462 and `util/grub.d/10_linux.in'.
633877cb
RM
32463 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32464 translatable Shell files.
32465
af1c0c85
RM
324662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32467
32468 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32469
769ae37b
RM
324702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32471
32472 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32473 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32474 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32475 Add gettext initialization.
32476 (kfreebsd_entry): Make menuentry output translatable.
32477
324782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32479
32480 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32481 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32482 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32483 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32484 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32485 * po/LINGUAS: New file.
769ae37b
RM
32486
324872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32488
32489 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32490 other things).
32491 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32492 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32493 bindtextdomain() calls for gettext initialization.
32494
324952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32496
32497 * gnulib/progname.c: New file (imported from Gnulib).
32498 * gnulib/progname.h: Likewise.
32499 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32500 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32501 (usage): Replace `progname' with `program_name'.
32502 (main): Use set_program_name() for program name initialization.
32503
325042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32505
32506 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32507 from here ...
32508 * Makefile.in (CPPFLAGS): ... to here.
32509
325102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32511
32512 * aclocal.m4: Move from here ...
32513 * acinclude.m4: ... to here.
32514 * autogen.sh: Add call to `aclocal'.
32515 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32516
325172009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32518
32519 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32520 (LINGUAS): New variable.
32521 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32522 (install-local): Install MO files.
32523 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32524 * include/grub/i18n.h: New file.
3bc7896c
RM
32525 * po/POTFILES: New file.
32526 * po/ca.po: New file.
769ae37b
RM
32527 * util/grub.d/10_linux.in (bindir): New variable.
32528 Add gettext initialization.
32529 (linux_entry): Make menuentry output translatable.
32530 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32531 (usage): Make --help output translatable.
32532 (main): Initialize gettext.
32533
02c0a6ad
RM
325342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32535
32536 * import_gcry.py: New file (written by Vladimir with minor
32537 adjustments).
32538 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32539 ciphers.
32540 * INSTALL: Document that Python is required for bootstrap.
32541
325422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32543
32544 Import ciphers from libgcrypt 1.4.4.
32545
32546 * lib/libgcrypt/cipher/ChangeLog
32547 * lib/libgcrypt/cipher/ac.c
32548 * lib/libgcrypt/cipher/arcfour.c
32549 * lib/libgcrypt/cipher/bithelp.h
32550 * lib/libgcrypt/cipher/blowfish.c
32551 * lib/libgcrypt/cipher/camellia-glue.c
32552 * lib/libgcrypt/cipher/camellia.c
32553 * lib/libgcrypt/cipher/camellia.h
32554 * lib/libgcrypt/cipher/cast5.c
32555 * lib/libgcrypt/cipher/cipher.c
32556 * lib/libgcrypt/cipher/crc.c
32557 * lib/libgcrypt/cipher/des.c
32558 * lib/libgcrypt/cipher/dsa.c
32559 * lib/libgcrypt/cipher/ecc.c
32560 * lib/libgcrypt/cipher/elgamal.c
32561 * lib/libgcrypt/cipher/hash-common.c
32562 * lib/libgcrypt/cipher/hash-common.h
32563 * lib/libgcrypt/cipher/hmac-tests.c
32564 * lib/libgcrypt/cipher/md.c
32565 * lib/libgcrypt/cipher/md4.c
32566 * lib/libgcrypt/cipher/md5.c
32567 * lib/libgcrypt/cipher/primegen.c
32568 * lib/libgcrypt/cipher/pubkey.c
32569 * lib/libgcrypt/cipher/rfc2268.c
32570 * lib/libgcrypt/cipher/rijndael-tables.h
32571 * lib/libgcrypt/cipher/rijndael.c
32572 * lib/libgcrypt/cipher/rmd.h
32573 * lib/libgcrypt/cipher/rmd160.c
32574 * lib/libgcrypt/cipher/rsa.c
32575 * lib/libgcrypt/cipher/seed.c
32576 * lib/libgcrypt/cipher/serpent.c
32577 * lib/libgcrypt/cipher/sha1.c
32578 * lib/libgcrypt/cipher/sha256.c
32579 * lib/libgcrypt/cipher/sha512.c
32580 * lib/libgcrypt/cipher/tiger.c
32581 * lib/libgcrypt/cipher/twofish.c
32582 * lib/libgcrypt/cipher/whirlpool.c
32583
af2f93ac
RM
325842009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32585
32586 Fix build for systems without error().
32587
32588 * gnulib/error.c: New file (imported from Gnulib).
32589 * gnulib/error.h: Likewise.
32590 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32591 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32592 (this variable is now used by error()).
32593
73fb3dd5
FZ
325942009-11-16 Felix Zielcke <fzielcke@z-51.de>
32595
814f5e96
FZ
32596 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32597 instead of relying that char is signed.
73fb3dd5 32598
a691ca33
VS
325992009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32600
32601 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32602 blocksize different from specified.
32603 (grub_pxefs_read): Likewise.
32604
2af8f0f4
FZ
326052009-11-16 Felix Zielcke <fzielcke@z-51.de>
32606
32607 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32608
32609 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32610 (grub_ata_readwrite): Likewise. Update 2 format strings.
32611 (grub_atapi_read): Likewise.
32612
32613 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32614 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32615 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32616 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32617 (ata_mod_LDFLAGS): Move from here ...
32618 * conf/i386.rmk: ... to here ...
32619 * conf/x86_64-efi.rmk: ... and here.
32620 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32621 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32622
83bdecaf
RM
326232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32624
32625 Relicense multiboot.h, with RMS' blessing.
32626
32627 * include/multiboot.h: Change to X11 license.
32628
fd6fd3d7
RM
326292009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32630
32631 Support --version in grub-mkisofs.
32632
32633 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32634 (OPTION_VERSION): New macro.
32635 (ld_options): Recognize --version.
32636 (usage): Move `program_name' from here ...
32637 (program_name): ... to here. Add `static' qualifier.
32638 (main): Recognize `OPTION_VERSION'.
32639
16a88c49
FZ
326402009-11-15 Felix Zielcke <fzielcke@z-51.de>
32641
32642 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32643 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32644
a4158476
RM
326452009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32646
32647 Fix help2man generation for mkisofs.
32648
32649 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32650 (usage): Send output to stdout (rather than stderr).
32651
fc2208b0
RM
326522009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32653
32654 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32655 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32656 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32657 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32658 (bin_SCRIPTS): Add `grub-mkfloppy'.
32659 (grub_mkfloppy_SOURCES): New variable.
32660
32661 * util/grub-mkrescue.in: New file.
32662 * util/i386/pc/grub-mkfloppy.in: New file.
32663
32664 * util/i386/coreboot/grub-mkrescue.in: Remove.
32665 * util/i386/pc/grub-mkrescue.in: Remove.
32666
8d0edf4a
RM
326672009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32668
32669 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32670 from here ...
32671 * include/multiboot.h (struct multiboot_header): ... to here. Update
32672 all users.
32673 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32674 from here ...
32675 * include/multiboot.h (struct multiboot_info): ... to here. Update
32676 all users.
32677 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32678 from here ...
32679 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32680 Update all users.
32681 * include/grub/multiboot.h (struct grub_mod_list): Move
32682 from here ...
32683 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32684 Update all users.
32685
a73f5969
RM
326862009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32687
32688 * include/multiboot2.h (multiboot_word): Rename from this ...
32689 (multiboot2_word): ... to this. Update all users.
32690 (multiboot_header): Rename from this ...
32691 (multiboot2_header): ... to this. Update all users.
32692 (multiboot_tag_header): Rename from this ...
32693 (multiboot2_tag_header): ... to this. Update all users.
32694 (multiboot_tag_start): Rename from this ...
32695 (multiboot2_tag_start): ... to this. Update all users.
32696 (multiboot_tag_name): Rename from this ...
32697 (multiboot2_tag_name): ... to this. Update all users.
32698 (multiboot_tag_module): Rename from this ...
32699 (multiboot2_tag_module): ... to this. Update all users.
32700 (multiboot_tag_memory): Rename from this ...
32701 (multiboot2_tag_memory): ... to this. Update all users.
32702 (multiboot_tag_unused): Rename from this ...
32703 (multiboot2_tag_unused): ... to this. Update all users.
32704 (multiboot_tag_end): Rename from this ...
32705 (multiboot2_tag_end): ... to this. Update all users.
32706
1c8927f0
RM
327072009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32708
32709 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32710 this platform we should support Multiboot1 first.
32711
32712 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32713 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32714 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32715
6e1e0d89
RM
327162009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32717
32718 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32719 of write calls (converting them to fwrite() if they aren't already).
32720 (get_torito_desc): Likewise.
32721 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32722
7f2b34d8
RM
327232009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 * util/i386/pc/grub-install.in: Move from here ...
32726 * util/grub-install.in: ... to here. Update all users.
32727
c0ef3311
CW
327282009-11-11 Colin Watson <cjwatson@ubuntu.com>
32729
32730 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32731
e1f240ff
RM
327322009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32733
32734 Support for El Torito without floppy emulation.
32735
32736 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32737 (init_boot_catalog): Improve error handling.
32738 (get_torito_desc): Don't use floppy emulation unless requested by
32739 user. Patch boot information table when requested via
32740 `-boot-info-table'.
32741 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32742 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32743 (use_boot_info_table): New variables.
32744 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32745 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32746 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32747 `--eltorito-emul-floppy'.
32748 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32749 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32750 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32751 (use_boot_info_table, get_731): New prototypes.
32752 * util/mkisofs/write.c (get_731): New function.
32753
af7d4de5
FZ
327542009-11-11 Felix Zielcke <fzielcke@z-51.de>
32755
32756 Fix the generation of the man page.
32757
32758 * util/pc/i386/grub-install.in: Source
32759 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32760
2c55dbc0
RM
327612009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32762
32763 Large file support for grub-mkisofs.
32764
32765 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32766 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32767 (session_start): Upgrade type to `uint64_t'. Update all users.
32768 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32769 (struct directory_entry): Upgrade type of `starting_block' and
32770 `size' to `uint64_t'. Update all users.
32771 (struct deferred): Remove unused structure.
32772 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32773 Update all users.
32774 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32775 file is larger than `UINT32_MAX'.
32776 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32777 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32778 return value.
32779 (struct deferred_write): Upgrade type of `extent' and `size' to
32780 `uint64_t'. Update all users.
32781 (last_extent_written): Upgrade type to `uint64_t'. Update all
32782 users.
32783 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32784 Update all users. Upgrade type of `remain' to `int64_t' and
32785 `use' to `size_t'. Use error() to handle fread() errors.
32786 (write_files): Rely on write_one_file() rather than calling
32787 xfwrite() directly.
32788
6a9cead5
FZ
327892009-11-09 Felix Zielcke <fzielcke@z-51.de>
32790
32791 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32792
4825d790
RM
327932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32794
32795 * util/mkisofs/fnmatch.c: Remove.
32796 * util/mkisofs/getopt1.c: Likewise.
32797 * util/mkisofs/getopt.c: Likewise.
32798 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32799 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32800 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32801 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32802 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32803
32804 * configure.ac: Detect `mingw32msvc' host_os.
32805 Check for lstat(), getuid() and getgid().
32806
32807 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32808 instances of `u_char' with `uint8_t'.
32809
32810 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32811 [!HAVE_GETUID] (getuid): New function (stub).
32812 [!HAVE_GETGID] (getgid): Likewise.
32813 [!HAVE_LSTAT] (lstat): Likewise.
32814 [!S_IROTH] (S_IROTH): New macro (dummy).
32815 [!S_IRGRP] (S_IRGRP): Likewise.
32816
84b860d8
RM
328172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32818
32819 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32820 conditional expression).
32821
66e9b712
RM
328222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32823
32824 Import from Gnulib.
32825
32826 * gnulib/fnmatch.c: New file.
32827 * gnulib/fnmatch.h: Likewise.
32828 * gnulib/fnmatch_loop.c: Likewise.
32829 * gnulib/getopt.c: Likewise.
32830 * gnulib/getopt.h: Likewise.
32831 * gnulib/getopt1.c: Likewise.
32832 * gnulib/getopt_int.h: Likewise.
32833 * gnulib/gettext.h: Likewise.
32834
34f4a5b0
RM
328352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32838 * normal/handler.c (read_handler_list): Likewise.
32839
ac451143
RM
328402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 Misc cleanup.
32843
32844 * kern/command.c (grub_register_command_prio): Use
32845 grub_zalloc() instead of explicitly zeroing data.
32846 * kern/list.c: Include `<grub/mm.h>'.
32847 (grub_named_list_find): Replace `0' with `NULL'.
32848 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32849 (fs_module_list): Change type to `grub_named_list_t'. Update all
32850 users.
32851 * normal/dyncmd.c (read_command_list): Add space between function
32852 call and parenthesis.
32853 * normal/handler.c (read_handler_list): Likewise.
32854
4089b167
RM
328552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32856
32857 * normal/auth.c (punishment_delay): Moved from here ...
32858 (grub_auth_strcmp): ... to here (inside function).
32859
325f5037
RM
328602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32861
32862 * include/grub/list.h (struct grub_named_list): Remove `const'
32863 qualifier from `name'.
32864 (struct grub_prio_list): Likewise.
32865
7aea29a3
RM
328662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32867
32868 * normal/auth.c: Include `<grub/time.h>'.
32869 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32870
3fd6f044
RM
328712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32872
32873 * normal/auth.c (punishment_delay): New variable.
32874 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32875 (grub_auth_check_authentication): Punish failed login attempts with
32876 an incremental (2^N) delay.
32877
a4cd68e4
RM
328782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32879
32880 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32881 path with $(srcdir).
32882
7ad12f43
VS
328832009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32884
32885 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32886
c1129f03
RM
328872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32888
32889 * util/i386/coreboot/grub-mkrescue.in: New file.
32890 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32891 variables.
32892
32893 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32894 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32895 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32896 requirements.
32897 * util/mkisofs/defaults.h: New file.
32898 * util/mkisofs/eltorito.c: Likewise.
32899 * util/mkisofs/exclude.h: Likewise.
32900 * util/mkisofs/fnmatch.c: Likewise.
32901 * util/mkisofs/getopt.c: Likewise.
32902 * util/mkisofs/getopt1.c: Likewise.
32903 * util/mkisofs/hash.c: Likewise.
32904 * util/mkisofs/include/fctldefs.h: Likewise.
32905 * util/mkisofs/include/mconfig.h: Likewise.
32906 * util/mkisofs/include/prototyp.h: Likewise.
32907 * util/mkisofs/include/statdefs.h: Likewise.
32908 * util/mkisofs/iso9660.h: Likewise.
32909 * util/mkisofs/joliet.c: Likewise.
32910 * util/mkisofs/match.c: Likewise.
32911 * util/mkisofs/match.h: Likewise.
32912 * util/mkisofs/mkisofs.c: Likewise.
32913 * util/mkisofs/mkisofs.h: Likewise.
32914 * util/mkisofs/multi.c: Likewise.
32915 * util/mkisofs/name.c: Likewise.
32916 * util/mkisofs/rock.c: Likewise.
32917 * util/mkisofs/tree.c: Likewise.
32918 * util/mkisofs/write.c: Likewise.
32919
ec8bb77d
VS
329202009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32921
32922 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32923 being insecure.
32924
3716b12c
RM
329252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32926
32927 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32928 `grub-mkimage' (and use $0 when possible).
32929
b97b7b91
RM
329302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32931
32932 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32933 error message for excessively large memory map.
32934
04114812
RM
329352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32936
32937 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32938 executable bit.
32939
e4eb2373
RM
329402009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32941
32942 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32943 message for coreboot users.
32944
c926e1d5 329452009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32946
32947 Fix build with GNU gold.
32948
32949 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32950 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32951 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32952 link addresses.
32953 * aclocal.m4: Likewise.
32954
86e5b1db 329552009-11-04 Felix Zielcke <fzielcke@z-51.de>
32956
32957 * configure.ac (AC_PREREQ): Bump to 2.59d.
32958 * INSTALL: Make it more clear when Autoconf and Ruby are
32959 needed and when to run `./autogen.sh'.
32960
246cd78f 329612009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32962
32963 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32964 OSes.
32965
4f9dfb37 329662009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32967
32968 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32969
b82bd5e1 329702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32971
32972 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32973 giving it to GNU Mach.
32974
ff1a9bca 329752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32976
32977 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32978 GNU partition number to get internal GRUB partition number.
32979
61697d9c 329802009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32981
32982 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32983 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32984
a50569e1 329852009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32986
32987 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32988 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32989 case.
32990
5b153867 329912009-11-01 Felix Zielcke <fzielcke@z-51.de>
32992
32993 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32994
d9e2cd70 329952009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32996
32997 Fix build problem.
32998
32999 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
33000 `-isystem=$(srcdir)/include'.
33001
805111a4 330022009-10-30 Robert Millan <rmh.grub@aybabtu.com>
33003
33004 * util/i386/pc/grub-install.in: Remove hint that device.map should be
33005 checked (grub-install doesn't currently rely on it).
33006
fa6e945f 330072009-10-29 Robert Millan <rmh.grub@aybabtu.com>
33008
33009 Revert SVN r2660.
33010
33011 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
33012 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33013 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
33014 * conf/i386-ieee1275.rmk: Likewise.
33015 * conf/i386-pc.rmk: Likewise.
33016 * conf/powerpc-ieee1275.rmk: Likewise.
33017 * conf/sparc64-ieee1275.rmk: Likewise.
33018 * conf/x86_64-efi.rmk: Likewise.
33019
cee15086 330202009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33021
33022 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
33023
95b9239e 330242009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33025
33026 * include/grub/misc.h: Stop checking for APPLE_CC.
33027
2ed19dfd 330282009-10-28 Robert Millan <rmh.grub@aybabtu.com>
33029
33030 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
33031 doesn't cause an infinite call loop.
33032
fdcdde19 330332009-10-28 Felix Zielcke <fzielcke@z-51.de>
33034
33035 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33036 strings.
33037
cefabfe1 330382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33039
33040 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33041 variable.
33042 * Makefile.in: Likewise.
33043
ed96ab6d 330442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33045
33046 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33047
0579b753 330482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33049
33050 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33051
478df409 330522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33053
33054 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33055
083d1679 330562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33057
33058 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33059 from here ...
33060 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33061
5947ae32 330622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33063
33064 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33065 in $(MAKEINFO) invocation. This makes it clear in output that
33066 errors are being ignored.
33067
94180ff6 330682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33069
33070 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33071 from here ...
33072 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33073 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33074 * conf/i386-ieee1275.rmk: Likewise.
33075 * conf/i386-pc.rmk: Likewise.
33076 * conf/powerpc-ieee1275.rmk: Likewise.
33077 * conf/sparc64-ieee1275.rmk: Likewise.
33078 * conf/x86_64-efi.rmk: Likewise.
33079
9031b03a 330802009-10-26 Colin Watson <cjwatson@ubuntu.com>
33081
33082 * util/grub-editenv.c (main): If only a command is given, use
33083 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33084 (usage): FILENAME is now optional and has a default.
33085
e4f6809b 330862009-10-26 Colin Watson <cjwatson@ubuntu.com>
33087
33088 Improve grub-mkconfig performance when there are several menu
33089 entries on a single filesystem.
33090
33091 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33092 prepare_grub_to_access_device.
33093 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33094 * util/grub.d/30_os-prober.in: Likewise.
33095
67937d4d 330962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33097
33098 * util/grub.d/10_freebsd.in: Remove.
33099 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33100 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33101
ee3756cc 331022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33103
5c35048e 33104 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 33105
4dea1c6f 331062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33107
33108 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33109 grub_util_error() call.
33110
042484d7 331112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33112
33113 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33114 `reserved_first_sector' member.
33115 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33116 `reserved_first_sector' to 1.
33117 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33118 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33119 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33120 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33121 filesystems which begin at first sector.
33122 (options): New option --skip-fs-probe.
33123 (main): Handle --skip-fs-probe and pass it to setup().
33124
d64448a7 331252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33126
33127 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33128 (memset): Fix function prototype.
33129
508d42ec 331302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
331312009-10-25 Vasily Averin <vvs@parallels.com>
33132
33133 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33134 `dirent.direntlen == 0'.
33135
b240e30c 331362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33137
33138 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33139 `cpio'.
33140 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33141
346e7fbe 331422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33143
33144 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33145 `__trampoline_setup' and `__ucmpdi2'.
33146 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33147 that libgcc provides.
33148
cdb308b0 331492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33150
33151 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33152 * include/grub/sparc64/libgcc.h (memset): Likewise.
33153 * include/grub/misc.h (memset, memcmp): New function prototypes.
33154
fb26abc2 331552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33156
33157 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33158 `cpio'.
33159 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33160
f6693890 331612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33162
33163 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33164 * docs/grub.cfg: Compensate for recent change in multiboot
33165 loader (since 2009-08-14 it won't pass filename to payload).
33166 * util/grub.d/10_hurd.in: Likewise.
33167
0933cdc0 331682009-10-21 Felix Zielcke <fzielcke@z-51.de>
33169
33170 * config.guess: Update to latest version from config git
33171 repository.
33172 * config.sub: Likewise.
33173
3b2fe8c2 331742009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33175
33176 Fix build on sparc64.
33177
33178 * configure.ac: Perform checks for libgcc symbols before
33179 adding `-nostdlib' to LDFLAGS.
33180
46695a62 331812009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33182
33183 Let user specify OpenBSD root device.
33184
33185 * loader/i386/bsd.c (openbsd_root): New variable.
33186 (openbsd_opts): New option 'root'.
33187 (OPENBSD_ROOT_ARG): New macro.
33188 (grub_openbsd_boot): Use 'openbsd_root'.
33189 (grub_cmd_openbsd): Fill 'openbsd_root'.
33190
d2b6b7fc 331912009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33192
33193 * NEWS: Misc adjustments.
33194
421bd7ac 331952009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33196
33197 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33198
f1d29d87 331992009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33200
33201 * configure.ac: Bump version to 1.97.
33202
6f3cd880 332032009-10-16 Colin Watson <cjwatson@ubuntu.com>
33204
33205 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33206 -mno-3dnow on x86 architectures. Some toolchains enable these
33207 features by default, but they rely on registers that aren't enabled
33208 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33209
035f7122 332102009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33211
33212 Make entry text a bit more readable.
33213
33214 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33215
44998e58 332162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33217
33218 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33219
cd2851b3 332202009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33221
33222 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33223 operations.
33224
c6f3b249 332252009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33226
33227 * configure.ac: Add missing dollar.
33228
6b5886ba 332292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33230
33231 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33232
33233 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33234 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33235 exports.
33236 * include/grub/sparc64/libgcc.h: Likewise. Use
33237 preprocessor conditionals.
33238
e9d66f6d 332392009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33240
33241 * conf/common.rmk (grub-dumpbios): Remove rule.
33242 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33243 * util/grub-dumpbios.in: Remove file.
33244
9155bc17 332452009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33246
33247 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33248 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33249
33250 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33251 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33252 users.
33253
33254 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33255 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33256 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33257 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33258 users.
33259
bf7f7a18 332602009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33261
33262 * term/tparm.c: Switch to GPLv3.
33263
86564c26 332642009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33265
33266 * include/grub/i386/cpuid.h: Add header protection.
33267
5c936493 332682009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33269
33270 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33271
33272 * include/grub/i386/cpuid.h: New file.
33273 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33274 (has_longmode): Rename to ...
33275 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33276 `static' attribute.
33277 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33278 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33279 on a CPU that doesn't implement AMD64 instruction set.
33280
186e7cf2 332812009-10-06 Colin Watson <cjwatson@ubuntu.com>
33282
33283 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33284 that version.texi is rebuilt on version number changes.
33285
83b65c4a 332862009-10-06 Colin Watson <cjwatson@ubuntu.com>
33287
33288 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33289 Fixes bug #27602.
33290
d244281c 332912009-10-06 Colin Watson <cjwatson@ubuntu.com>
33292
33293 * util/i386/pc/grub-install.in: Source
33294 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33295 that the --grub-probe option will work.
33296 * util/sparc64/ieee1275/grub-install.in: Likewise.
33297
da25306d 332982009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33299
33300 * configure.ac: Bump version to 1.97~beta4.
33301
e8ee83c0 333022009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33303
33304 Resync grub-mkdevicemap in x86_64-efi.
33305
33306 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33307 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33308 `util/devicemap.c'.
33309
50dcabcf 333102009-10-01 Colin Watson <cjwatson@ubuntu.com>
33311
33312 * util/grub-editenv.c (create_envblk_file): Write new block with a
33313 .new suffix and then rename it into place, to ensure atomic
33314 creation.
33315
0e51c3a7 333162009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33317
33318 Do not automatically install headers.
33319
33320 * Makefile.in (include_DATA): Remove. Update all users.
33321
31299a95 333222009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33323
33324 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33325 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33326
33327 * util/osdetect.lua: Remove.
33328 * script/lua/lauxlib.c: Likewise.
33329 * script/lua/ldebug.c: Likewise.
33330 * script/lua/grub_main.c: Likewise.
33331 * script/lua/lauxlib.h: Likewise.
33332 * script/lua/ldebug.h: Likewise.
33333 * script/lua/ltablib.c: Likewise.
33334 * script/lua/liolib.c: Likewise.
33335 * script/lua/lstrlib.c: Likewise.
33336 * script/lua/lualib.h: Likewise.
33337 * script/lua/ldo.c: Likewise.
33338 * script/lua/ldump.c: Likewise.
33339 * script/lua/ldo.h: Likewise.
33340 * script/lua/loslib.c: Likewise.
33341 * script/lua/lundump.c: Likewise.
33342 * script/lua/grub_lib.c: Likewise.
33343 * script/lua/ldblib.c: Likewise.
33344 * script/lua/lundump.h: Likewise.
33345 * script/lua/lmem.c: Likewise.
33346 * script/lua/grub_lib.h: Likewise.
33347 * script/lua/lmathlib.c: Likewise.
33348 * script/lua/lstate.c: Likewise.
33349 * script/lua/ltm.c: Likewise.
33350 * script/lua/lvm.c: Likewise.
33351 * script/lua/lmem.h: Likewise.
33352 * script/lua/lstate.h: Likewise.
33353 * script/lua/ltm.h: Likewise.
33354 * script/lua/ltable.c: Likewise.
33355 * script/lua/lvm.h: Likewise.
33356 * script/lua/llex.c: Likewise.
33357 * script/lua/lgc.c: Likewise.
33358 * script/lua/grub_lua.h: Likewise.
33359 * script/lua/loadlib.c: Likewise.
33360 * script/lua/lfunc.c: Likewise.
33361 * script/lua/lopcodes.c: Likewise.
33362 * script/lua/lparser.c: Likewise.
33363 * script/lua/ltable.h: Likewise.
33364 * script/lua/llex.h: Likewise.
33365 * script/lua/lgc.h: Likewise.
33366 * script/lua/lfunc.h: Likewise.
33367 * script/lua/lbaselib.c: Likewise.
33368 * script/lua/lopcodes.h: Likewise.
33369 * script/lua/lparser.h: Likewise.
33370 * script/lua/lzio.c: Likewise.
33371 * script/lua/linit.c: Likewise.
33372 * script/lua/lobject.c: Likewise.
33373 * script/lua/llimits.h: Likewise.
33374 * script/lua/lstring.c: Likewise.
33375 * script/lua/lzio.h: Likewise.
33376 * script/lua/lapi.c: Likewise.
33377 * script/lua/lcode.c: Likewise.
33378 * script/lua/lua.h: Likewise.
33379 * script/lua/lobject.h: Likewise.
33380 * script/lua/lstring.h: Likewise.
33381 * script/lua/lapi.h: Likewise.
33382 * script/lua/lcode.h: Likewise.
33383 * script/lua/luaconf.h: Likewise.
33384
cb8a2c38 333852009-09-26 Colin Watson <cjwatson@ubuntu.com>
33386
33387 * docs/grub.texi (Command-line and menu entry commands): Document
33388 date and echo commands.
33389
6b9b6276 333902009-09-24 Pavel Roskin <proski@gnu.org>
33391
33392 * include/grub/kernel.h (struct grub_module_header): Remove
33393 `grub_module_header_types'. Make `type' unsigned. Make `size'
33394 32-bit on all platforms.
33395 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33396 8-bit field. Use grub_host_to_target32() for `size'.
33397 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33398 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33399 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33400
4e5a02a7 334012009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33402
33403 Fix "lost keypress" bug in at_keyboard.
33404
33405 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33406 Checks for readyness of input buffer (without flushing it).
33407 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33408 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33409
c6dcedf6 334102009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33411
33412 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33413 size check within GRUB_MACHINE_PCBIOS section.
33414
74c958b1 334152009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33416
33417 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33418 return value.
33419 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33420 KEYBOARD_ISREADY check.
33421 (grub_at_keyboard_checkkey): Rename to ...
33422 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33423 Remove gratuitous cast.
33424
ff420223 334252009-09-23 Colin Watson <cjwatson@ubuntu.com>
33426
33427 * configure.ac: Call AC_PROG_MKDIR_P.
33428 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33429 version.texi in $(builddir) rather than $(srcdir).
33430 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33431 to makeinfo's @include search path.
33432
d96875df 334332009-09-23 Felix Zielcke <fzielcke@z-51.de>
33434
33435 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33436
9b3f8365 334372009-09-23 Felix Zielcke <fzielcke@z-51.de>
33438
33439 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33440 for `*.dpkg-new'.
33441
c44c90db 334422009-09-21 Colin Watson <cjwatson@ubuntu.com>
33443
33444 Build info documentation. Some code borrowed from Automake.
33445
33446 * configure.ac: Check for makeinfo.
33447 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33448 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33449 docs/version.texi.
33450 (MOSTLYCLEANFILES): Add vti.tmp.
33451 (docs/version.texi, docs/stamp-vti): Update automatically.
33452 (docs/grub.info): Build info documentation. Use --force and ignore
33453 errors for now.
33454 (all-local): Add $(INFOS).
33455 (install-local): Install info files.
33456 (uninstall): Uninstall info files.
33457 * docs/version.texi: Remove from revision control. This file is
33458 automatically generated on build now.
33459 * gendistlist.sh: Add `*.info'.
33460
e0b37bb5 334612009-09-21 Felix Zielcke <fzielcke@z-51.de>
33462
33463 * kern/term.c: Fix indentation.
33464
5a78865b 334652009-09-21 Felix Zielcke <fzielcke@z-51.de>
33466
33467 * util/hostdisk.c: Fix a comment.
33468
dace7e8a 334692009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33470
33471 Fix regression introduced in r2539.
33472
33473 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33474 to 0xA1.
33475
a83d079b 334762009-09-19 Colin Watson <cjwatson@ubuntu.com>
33477
33478 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33479 os-prober. Under normal operation, it does not print anything to
33480 stderr; if it does, we need to debug it, and throwing away stderr
33481 makes that excessively difficult.
a83d079b 33482
be94a509 334832009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33484
33485 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33486
63f745e8 334872009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33488
33489 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33490 AC_LANG_PROGRAM from autoconf.
33491 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33492 prototypes (fixes warning).
33493
33494 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33495 `--disable-werror' was used.
33496
bbb2a70f 334972009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33498
33499 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33500 uninitialized `lastaddr'.
33501
77c24f1d 335022009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33503
0f0b8c87 33504 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33505
07197f23 335062009-09-14 Colin Watson <cjwatson@ubuntu.com>
33507
33508 * commands/test.c (get_fileinfo): Return immediately if
33509 grub_fs_probe fails.
33510
dabf1798 335112009-09-14 José Martínez <xosemp@gmail.com>
33512
33513 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33514
d52109a7 335152009-09-14 Colin Watson <cjwatson@ubuntu.com>
33516
33517 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33518 output.
33519
56532179 335202009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33521
33522 * configure.ac: Remove --enable-grub-pe2elf. Only build
33523 grub-pe2elf when needed by the build system itself.
33524 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33525
8ef070f5 335262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33527
33528 * configure.ac: Bump version to 1.97~beta3.
33529 * docs/version.texi: Likewise.
33530
61229557 335312009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33532
33533 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33534 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33535 from here ...
33536 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33537 (grub_linux_setup_video): ... to here (with some adjustments).
33538
5c9f8d84 335392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33540
33541 Fix memory corruption issue (spotted by Colin Watson).
33542
33543 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33544 causing returned size to be stored in an incorrect memory location.
33545 Fix use of uninitialized value when storing the returned size.
33546
e8f5d6e9 335472009-09-12 Yves Blusseau <blusseau@zetam.org>
33548
33549 Change clean rules to properly remove files
33550
33551 * genmk.rb: add new clean rules
33552 * Makefile.in (clean): add the new targets
33553 (mostlyclean): likewise
33554
cda2a409 335552009-09-11 Colin Watson <cjwatson@ubuntu.com>
33556
33557 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33558 to grub_uint64_t.
33559 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33560 non-resident files.
33561
86695375 335622009-09-11 Colin Watson <cjwatson@ubuntu.com>
33563
33564 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33565 part of bug #27349.
33566
8aa1541a 335672009-09-10 Felix Zielcke <fzielcke@z-51.de>
33568
33569 * util/grub-mkconfig.in: Make the created config mode 400 and
33570 print a warning if it fails.
33571
48d9bb0a 335722009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33573
33574 * util/grub.d/40_custom.in: Ask user to type custom entries below
33575 comment, rather than below 'exec tail' line.
33576
3b0521be 335772009-09-10 Colin Watson <cjwatson@ubuntu.com>
33578
33579 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33580 visible in grub.cfg.
33581
50051d55 335822009-09-10 Colin Watson <cjwatson@ubuntu.com>
33583
33584 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33585 file.
33586
c0d34387 335872009-09-10 Felix Zielcke <fzielcke@z-51.de>
33588
33589 * docs/grub.cfg: Add an example menu entry for memtest86+.
33590
80a608f3 335912009-09-09 Felix Zielcke <fzielcke@z-51.de>
33592
a2094832 33593 * config.guess: Update to latest version from config git.
80a608f3 33594 * config.sub: Likewise.
33595
99423078 335962009-09-08 Colin Watson <cjwatson@ubuntu.com>
33597
33598 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33599 unknown-command case. Fixes bug #27320.
33600
44454e4c 336012009-09-08 Felix Zielcke <fzielcke@z-51.de>
33602
33603 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33604 `help' if the command exists.
33605
e30d87ad 336062009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33607
33608 * INSTALL: Require GCC 4.1.3 or later.
33609
9a86f1ec 336102009-09-06 Yves Blusseau <blusseau@zetam.org>
33611
33612 * Makefile.in (RMKFILES): add i386-qemu.rmk
33613 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33614 $(srcdir)/stamp-h.in
33615
7f26d466 336162009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33617
33618 * util/grub-probe.c (probe): Comment out buggy codepath, which
33619 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33620 should be re-enabled after 1.97.
33621
3a613259 336222009-09-05 Felix Zielcke <fzielcke@z-51.de>
33623
33624 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33625 find searches for.
33626
197f76c7 336272009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33628
33629 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33630 unnecessary calls to grub_error.
33631
70ba68ce 336322009-09-04 Colin Watson <cjwatson@ubuntu.com>
33633
33634 * NEWS: Mention `keystatus' and Unicode fonts.
33635
4ff0d7a4 336362009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33637
33638 * configure.ac: Bump version to 1.97~beta2.
33639 * docs/version.texi: Likewise.
33640
77c55a87 336412009-09-03 Colin Watson <cjwatson@ubuntu.com>
33642
33643 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33644 containing unwind information in some cases where it previously did
33645 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33646 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33647 discussion.
33648
f79572cd 336492009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33650
33651 Embedding loadenv module into grub-emu
33652
33653 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33654 commands/loadenv.c
33655 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33656 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33659 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33660 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33661
93a81088 336622009-09-03 Magnus Granberg <zorry@ume.nu>
33663
33664 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33665 include -fPIE in the default specs.
33666 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33667 to TARGET_CFLAGS.
33668
160034b2 336692009-09-03 Felix Zielcke <fzielcke@z-51.de>
33670
33671 * INSTALL: Note that GNU Bison 2.3 or later is required.
33672
087c07c4 336732009-09-03 Colin Watson <cjwatson@ubuntu.com>
33674
33675 * kern/i386/pc/startup.S: Fix typo.
33676
cbf978c0 336772009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33678
33679 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33680 according to GCS.
33681
336822009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33683
33684 * docs/grub.texi (Naming convention): Describe one-based partition
33685 numbering.
33686 (Device syntax): Likewise.
33687 (File name syntax): Likewise.
33688 (Block list syntax): Likewise.
33689 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33690 menu.lst.
33691 (File name syntax): Likewise.
33692 (Command-line and menu entry commands): Document acpi, blocklist,
33693 crc, export, insmod, keystatus, ls, set, and unset commands.
33694
f3e8cdfd 336952009-09-02 Colin Watson <cjwatson@ubuntu.com>
33696
33697 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33698 to avoid implying that only one of --shift, --ctrl, or --alt may be
33699 used.
33700
c0bc232b 337012009-09-02 Colin Watson <cjwatson@ubuntu.com>
33702
33703 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33704 rather than comparing against S_IFREG, which will almost never work.
33705
aa0f752d 337062009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33707
33708 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33709 (write_blocklists): Likewise.
33710
ecb3166a 337112009-09-01 Colin Watson <cjwatson@ubuntu.com>
33712
33713 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33714 argument to grub_printf.
33715
c403a125 337162009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33717
33718 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33719 non GNU test.
31aba781 33720
b5e7312c 337212009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33722
33723 * kern/file.c (grub_file_read): Spelling fix
33724
fe00f472 337252009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33726
33727 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33728 loading of headers in some cases.
33729
cc55302e 337302009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33731
33732 * configure.ac: Bump version to 1.97~beta1.
33733 * docs/version.texi: Likewise.
33734
5c90cdd2 337352009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33736
33737 * include/grub/i386/xnu.h: Add license header.
33738 include grub/err.h explicitly.
33739
c90edae4 337402009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33741
33742 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33743 to `ufs' in the vfs.root.mountfrom kernel parameter.
33744
d8888b5c 337452009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33746
33747 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33748
33749 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33750 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33751
33752 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33753 `ARRAY_SIZE' macro.
33754
6f07b921 337552009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33756
33757 * kern/file.c (grub_file_read): Check offset.
33758 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33759 * fs/jfs.c (grub_jfs_read_file): Likewise.
33760 * fs/ntfs.c (grub_ntfs_read): Likewise.
33761 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33762 * fs/minix.c (grub_minix_read_file): Correct offset check.
33763 * fs/ufs.c (grub_ufs_read_file): Likewise.
33764
b4f34077 337652009-08-28 Colin Watson <cjwatson@ubuntu.com>
33766
33767 * term/i386/pc/console.c (bios_data_area): Cast
33768 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33769
e7c69859 337702009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33771
33772 1-bit optimised blitters.
33773
33774 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33775 prototype.
33776 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33777 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33778 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33779 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33780 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33781 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33782 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33783 function.
33784 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33785 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33786 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33787 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33788 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33789 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33790 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33791 when possible.
33792 * video/video.c (grub_video_get_blit_format): Return
33793 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33794
a57da43f 337952009-08-28 Colin Watson <cjwatson@ubuntu.com>
33796
33797 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33798 the first argument to grub_printf.
33799
4cbe67e5 338002009-08-28 Colin Watson <cjwatson@ubuntu.com>
338012009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33802
33803 Add `getkeystatus' terminal method. Add a new `keystatus' command
33804 to query it.
33805
33806 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33807 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33808 modifier key bitmasks.
33809 (struct grub_term_input): Add `getkeystatus' member.
33810 (grub_getkeystatus): Add prototype.
33811 * kern/term.c (grub_getkeystatus): New function.
33812
33813 * include/grub/i386/pc/memory.h
33814 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33815 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33816 Data Area layout.
33817 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33818 (grub_console_term_input): Set `getkeystatus' member.
33819 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33820 constants.
33821 (grub_usb_keyboard_getreport): Likewise.
33822 (grub_usb_keyboard_checkkey): Likewise.
33823 (grub_usb_keyboard_getkeystatus): New function.
33824 (grub_usb_keyboard_term): Set `getkeystatus' member.
33825
33826 * commands/keystatus.c: New file.
33827 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33828 (keystatus_mod_SOURCES): New variable.
33829 (keystatus_mod_CFLAGS): Likewise.
33830 (keystatus_mod_LDFLAGS): Likewise.
33831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33832 commands/keystatus.c.
33833 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33834 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33838 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33839
6e2a9085 338402009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33841
33842 Split befs.mod and afs.mod into *_be.mod and *.mod
33843
33844 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33845 (grub_fstest_SOURCES): Likewise.
33846 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33847 (afs_be_mod_SOURCES): New variable.
33848 (afs_be_mod_CFLAGS): Likewise.
33849 (afs_be_mod_LDFLAGS): Likewise.
33850 (befs_be_mod_SOURCES): Likewise.
33851 (befs_be_mod_CFLAGS): Likewise.
33852 (befs_be_mod_LDFLAGS): Likewise.
33853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33854 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33855 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33856 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33857 (grub_emu_SOURCES): Likewise.
33858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33859 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33860 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33861 * fs/afs_be.c: New file.
33862 * fs/befs_be.c: New file.
33863 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33864 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33865 (U16): Replaced with ...
33866 (grub_afs_to_cpu16): ...this. All users updated.
33867 (U32): Replaced with ...
33868 (grub_afs_to_cpu32): ...this. All users updated.
33869 (U64): Replaced with ...
33870 (grub_afs_to_cpu64): ...this. All users updated.
33871 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33872 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33873 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33874 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33875 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33876 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33877 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33878 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33879 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33880 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33881 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33882
32a71655 338832009-08-26 Bean <bean123ch@gmail.com>
33884
33885 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33886 64-bit number.
33887 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33888 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33889 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33890
552bf6c5 338912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33892
33893 NetBSD memory map support.
33894
33895 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33896 (grub_netbsd_btinfo_mmap_header): New structure.
33897 (grub_netbsd_btinfo_mmap_entry): Likewise.
33898 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33899
1ae2078c 339002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33901
33902 Enable bsd.mod on coreboot.
33903
33904 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33905 (bsd_mod_SOURCES): New variable.
33906 (bsd_mod_CFLAGS): Likewise.
33907 (bsd_mod_LDFLAGS): Likewise.
33908 (bsd_mod_ASFLAGS): Likewise.
33909 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33910 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33911
beefc598 339122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33913
33914 Cleanup NetBSD root support.
33915
33916 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33917 grub_bsd_get_device.
33918 Fix typo.
33919
3b76e68b 339202009-08-25 Felix Zielcke <fzielcke@z-51.de>
33921
33922 * util/grub.d/00_header.in: Move check for the video backend of
33923 gfxterm from here ...
33924 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33925 a suitable video backend.
33926
aea664ea 339272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33928
33929 Fix breakage in grub-setup.
33930
33931 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33932 "msdos_partition_map".
33933
ff747d50 339342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33935
33936 Fix breakage in normal/auth.c.
33937
33938 * normal/auth.c (grub_iswordseparator): New function.
33939
e7e1f93f 339402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33941
33942 Authentication support.
33943
33944 * commands/password.c: New file.
33945 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33946 (password_mod_SOURCES): New variable.
33947 (password_mod_CFLAGS): Likewise.
33948 (password_mod_LDFLAGS): Likewise.
33949 (normal_mod_SOURCES): Add normal/auth.c.
33950 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33951 normal/auth.c.
33952 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33953 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33954 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33956 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33957 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33958 * include/grub/auth.h: New file.
33959 * include/grub/err.h (grub_err_t): New enum value
33960 GRUB_ERR_ACCESS_DENIED.
33961 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33962 'users'.
33963 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33964 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33965 users updated.
33966 * normal/auth.c: New file.
33967 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33968 (grub_cmdline_run): Don't allow to go to command line without
33969 authentication.
33970 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33971 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33972 menuentry without superuser rights.
33973 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33974 user isn't a superuser.
33975
70f1161d 339762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33977
33978 Save space by inlining misc.c functions.
33979
33980 * kern/misc.c (grub_iswordseparator): Made static.
33981 * kern/misc.c (grub_strcat): Moved from here ...
33982 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33983 * kern/misc.c (grub_strncat): Moved from here ...
33984 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33985 * kern/misc.c (grub_strcasecmp): Moved from here ...
33986 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33987 * kern/misc.c (grub_strncasecmp): Moved from here ...
33988 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33989 * kern/misc.c (grub_isalpha): Moved from here ...
33990 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33991 * kern/misc.c (grub_isdigit): Moved from here ...
33992 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33993 * kern/misc.c (grub_isgraph): Moved from here ...
33994 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33995 * kern/misc.c (grub_tolower): Moved from here ...
33996 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33997
48e40bff 339982009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33999
34000 * script/sh/function.c (grub_script_function_find): Cut error message
34001 not to flood terminal.
34002 * script/sh/lexer.c (grub_script_yylex): Remove command line length
34003 limit.
34004 * script/sh/script.c (grub_script_arg_add): Duplicate string.
34005
c385bfc3 340062009-08-24 Colin Watson <cjwatson@ubuntu.com>
34007
34008 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
34009 `report' grub_uint8_t *.
34010 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
34011 Use a 50-millisecond timeout rather than just repeating
34012 grub_usb_keyboard_getreport 50 times.
34013 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
34014
2d21e3e8 340152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34016
34017 Rename *_partition_map to part_*
34018
34019 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
34020 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
34021 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
34022 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
34023 All users updated.
34024 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
34025 All users updated.
34026 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
34027 * util/grub-probe.c (probe_partmap): Don't transform partition name
34028 to get module name.
34029
dd103c4e 340302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34031
34032 Fix OpenBSD and NetBSD support.
34033
34034 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
34035 memory address conflict.
34036 (OPENBSD_MMAP_ACPI): New definition.
34037 (OPENBSD_MMAP_NVS): Likewise.
34038 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34039 and OPENBSD_MMAP_NVS.
34040 Add memory map terminator
34041 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 34042 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 34043
16c84d74 340442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34045
34046 Let user specify NetBSD root device.
34047
34048 * loader/i386/bsd.c (netbsd_root): New variable.
34049 (netbsd_opts): New option 'root'.
34050 (NETBSD_ROOT_ARG): New macro.
34051 (grub_netbsd_boot): Use 'netbsd_root'.
34052 (grub_bsd_unload): Free 'netbsd_root'.
34053 (grub_cmd_netbsd): Fill 'netbsd_root'.
34054
adb29902 340552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34056
34057 Support for 64-bit NetBSD.
34058
34059 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34060 point when booting non-FreeBSD.
34061
f5ae9f74 340622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34063
34064 Support --no-smp and --no-acpi for NetBSD.
34065
34066 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34067 (NETBSD_AB_NOACPI): Likewise.
34068 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34069 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34070
de74f136 340712009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34072
34073 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34074 errors.
34075 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34076 errors. Call grub_error when needed.
34077
e9a925da 340782009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34079
34080 * commands/search.c (search_fs): Try searching without autoload first.
34081 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34082 filesystem module explicitly for faster booting.
34083
5174302b 340842009-08-23 Colin Watson <cjwatson@ubuntu.com>
34085
34086 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34087
c8c80635 340882009-08-23 Colin Watson <cjwatson@ubuntu.com>
34089
34090 * util/grub.d/30_os-prober.in: Disable os-prober if
34091 `GRUB_DISABLE_OS_PROBER' was set to true.
34092
71acf5e5 340932009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34094
34095 * partmap/pc.c: Rename to ...
34096 * partmap/msdos.c: ... this. Update all users.
34097 (grub_pc_partition_map): Rename to ...
34098 (grub_msdos_partition_map): ... this. Update all users.
34099
34100 * parttool/pcpart.c: Rename to ...
34101 * parttool/msdospart.c: ... this. Update all users.
34102
34103 * include/grub/pc_partition.h: Rename to ...
34104 * include/grub/msdos_partition.h: ... this. Update all users.
34105 (grub_pc_partition_bsd_entry): Rename to ...
34106 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34107 (grub_pc_partition_disk_label): Rename to ...
34108 (grub_msdos_partition_disk_label): ... this. Update all users.
34109 (grub_pc_partition_entry): Rename to ...
34110 (grub_msdos_partition_entry): ... this. Update all users.
34111 (grub_pc_partition_mbr): Rename to ...
34112 (grub_msdos_partition_mbr): ... this. Update all users.
34113 (grub_pc_partition): Rename to ...
34114 (grub_msdos_partition): ... this. Update all users.
34115 (grub_pc_partition_is_empty): Rename to ...
34116 (grub_msdos_partition_is_empty): ... this. Update all users.
34117 (grub_pc_partition_is_extended): Rename to ...
34118 (grub_msdos_partition_is_extended): ... this. Update all users.
34119 (grub_pc_partition_is_bsd): Rename to ...
34120 (grub_msdos_partition_is_bsd): ... this. Update all users.
34121
34122 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34123 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34124 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34125 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34126 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34127 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34128 (gpt_mod_LDFLAGS): Rename to ...
34129 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34130 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34131 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34132 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34133 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34134 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34135 (part_gpt_mod_LDFLAGS): ... this.
34136 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34137 `pcpart.mod' to `msdospart.mod'.
34138 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34139 to ...
34140 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34141 (msdospart_mod_LDFLAGS): ... this.
34142
c11fded5 341432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34144
34145 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34146 (openbsd_opts): Likewise.
34147 (netbsd_opts): Likewise.
34148 (freebsd_flags): Added 0 terminator.
34149 (openbsd_flags): Likewise.
34150 (netbsd_flags): Likewise.
34151 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34152 (grub_cmd_freebsd): Transformed into extended command.
34153 (grub_cmd_openbsd): Likewise.
34154 (grub_cmd_netbsd): Likewise.
34155 (cmd_freebsd): Changed type to grub_extcmd_t.
34156 (cmd_openbsd): Likewise.
34157 (cmd_netbsd): Likewise.
34158 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34159 grub_cmd_openbsd as extended commands.
34160 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34161 cmd_netbsd and cmd_openbsd
34162
11d1c769 341632009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34164
34165 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34166
7a9094e5 341672009-08-21 Pavel Roskin <proski@gnu.org>
34168
5496c37e 34169 * Makefile.in (install-local): When checking if a file is in the
34170 build directory, use "test -e" to detect symlinks.
34171
7a9094e5 34172 * Makefile.in (install-local): Remove all files in
34173 $(DESTDIR)$(pkglibdir) before installing new files there.
34174
e53cea11 341752009-08-18 Felix Zielcke <fzielcke@z-51.de>
34176
34177 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34178 grub-mkelfimage.
34179
9aced544 341802009-08-18 Felix Zielcke <fzielcke@z-51.de>
34181
34182 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34183 explicitly specified by the user.
34184
b7da6bab 341852009-08-18 Pavel Roskin <proski@gnu.org>
34186
34187 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34188 grub_uint8_t pointer for data.
34189 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34190 Likewise.
34191 * video/fb/fbutil.c: Remove unnecessary casts.
34192
19f1b335 341932009-08-17 Michal Suchanek <hramrach@centrum.cz>
34194
34195 VBE cleanup.
34196
34197 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34198 (grub_vbe_set_video_mode): Save active mode info
34199 only after setting the mode.
34200 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34201 second argument.
34202
2f467aa9 342032009-08-17 Michal Suchanek <hramrach@centrum.cz>
34204
34205 Rename variables for clarity.
34206
34207 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34208 (active_vbe_mode_info): ... this. All users updated.
34209 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34210 All users updated.
34211 (initial_mode): Rename to ...
34212 (initial_vbe_mode): ... this. All users updated.
34213 (mode_in_use): Rename to ..
34214 (vbe_mode_in_use): ... this. All users updated.
34215 (mode_list): Rename to ..
34216 (vbe_mode_list): ... this. All users updated.
34217 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34218 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34219 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34220 'mode_list_size' to 'vbe_mode_list_size'.
34221 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34222 'best_mode_info' to 'best_vbe_mode_info' and
34223 'best_mode' to 'best_vbe_mode'
34224
6025fcd7 342252009-08-17 Michal Suchanek <hramrach@centrum.cz>
34226
34227 Remove duplicate grub_video_fb_get_video_ptr.
34228
34229 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34230 (grub_video_fb_get_video_ptr): ... this.
34231 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34232 * video/fb/fbutil.c: Add comment about addressing.
34233 (get_data_ptr): Rename to ...
34234 (grub_video_fb_get_video_ptr): ... this. All users updated.
34235 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34236
cc8c6faf 342372009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34238
34239 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34240 grub_dprintf() that was just added.
34241
08aa61f0 342422009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34243
34244 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34245 (DEFAULT_VIDEO_MODE): Remove macros.
34246 (grub_linux_boot): Remove assumption that Linux has FB support,
34247 and use "text" as default video mode.
34248
7cef4f75 342492009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34250
34251 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34252 grub_dprintf.
34253 * fs/fat.c (grub_fat_read_data): Likewise.
34254
e1f39873 342552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34256
34257 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34258 payload.
34259 (grub_module): Likewise.
34260
c166d79e 342612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34262
34263 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34264 mbi->cmdline but free playground.
34265
c60cee8e 342662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34267
34268 Handle group offset on UFS1.
34269
34270 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34271 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34272
c0d8b5d4 342732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34274
34275 Split ufs.mod into ufs1.mod and ufs2.mod.
34276
34277 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34278 (grub_fstest_SOURCES): Likewise.
34279 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34280 (ufs_mod_SOURCES): Remove.
34281 (ufs_mod_CFLAGS): Likewise.
34282 (ufs_mod_LDFLAGS): Likewise.
34283 (ufs1_mod_SOURCES): New variable.
34284 (ufs1_mod_CFLAGS): Likewise.
34285 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34286 (ufs2_mod_SOURCES): New variable.
34287 (ufs2_mod_CFLAGS): Likewise.
34288 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34289 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34290 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34291 Likewise.
34292 (grub_emu_SOURCES): Likewise.
34293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34294 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34295 (grub_setup_SOURCES): Likewise.
34296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34297 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34298 (grub_setup_SOURCES): Likewise.
34299 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34300 Likewise.
34301 * fs/ufs2.c: New file.
34302 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34303
d3539132 343042009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34305
34306 Framebuffer split.
34307
34308 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34309 subsystem at the end.
34310 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34311 (video_fb_mod_SOURCES): New variable.
34312 (video_fb_mod_CFLAGS): Likewise.
34313 (video_fb_mod_LDFLAGS): Likewise.
34314 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34315 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34316 * video/i386/pc/vbeblit.c: Moved from here ...
34317 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34318 * video/i386/pc/vbefill.c: Moved from here ...
34319 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34320 * video/i386/pc/vbeutil.c: Moved from here ...
34321 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34322 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34323 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34324 * include/grub/i386/pc/vbefill.h: Moved from here ...
34325 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34326 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34327 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34328 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34329 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34330 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34331 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34332 (grub_video_adapter): Added 'get_info_and_fini'.
34333 (grub_video_get_info_and_fini): New prototype.
34334 (grub_video_set_mode): make modestring const char *.
34335 * loader/i386/linux.c (grub_linux_setup_video): Use
34336 grub_video_get_info_and_fini.
34337 (grub_linux_boot): Move modesetting just before booting.
34338 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34339 grub_video_get_info_and_fini.
34340 * video/i386/pc/vbe.c: Moved framebuffer part ...
34341 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34342 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34343 grub_video_fbstd_colors and grub_video_fb_set_palette.
34344 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34345 grub_video_fb_init.
34346 (grub_video_vbe_fini): Use grub_video_fb_fini.
34347 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34348 render_target and use grub_video_fb_set_active_render_target and
34349 grub_video_fb_set_palette.
34350 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34351 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34352 (grub_video_vbe_adapter): Use framebuffer.
34353 * video/video.c (grub_video_get_info_and_fini): New function.
34354 (grub_video_set_mode): Make modestring const char *.
34355 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34356 values are already initialised.
34357
d404ee56 343582009-08-14 Pavel Roskin <proski@gnu.org>
34359
34360 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34361 ABS and APPLE_CC.
34362 * boot/i386/pc/diskboot.S: Likewise.
34363 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34364 sectors allow compilation on MacOSX.
34365 * conf/i386-pc.rmk: Enable unconditional compilation of
34366 lnxboot.img.
34367
9a10df16 343682009-08-13 Colin Watson <cjwatson@ubuntu.com>
34369
34370 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34371 * util/grub.d/00_header.in: Enter interruptible sleep if
34372 GRUB_HIDDEN_TIMEOUT is set.
34373
be3c9ca7 343742009-08-13 Yves Blusseau <blusseau@zetam.org>
34375
34376 * include/grub/symbol.h: Add the LOCAL macro.
34377 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34378 starting with "L_".
34379
1f9e557e 343802009-08-13 Pavel Roskin <proski@gnu.org>
34381
9ca62843 34382 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34383 any modern compilers we support.
34384
1f9e557e 34385 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34386 Use local labels starting with "L_" so that Apple assembler
34387 knows they are local.
34388
81623db6 343892009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34390
34391 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34392 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34393 (bsd_kernel_types): ... this enum.
34394
34395 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34396 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34397 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34398
34399 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34400 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34401 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34402 messages.
34403
f5d35e7a 344042009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34405
34406 * util/grub-dumpdevtree: Moved from here ...
34407 * util/i386/efi/grub-dumpdevtree: ... to here.
34408 (hexify): New function. Converts a string to its hex version.
34409 Generate hex versions of "efi" and "device-properties" by calling
34410 hexify() on the ASCII strings rather than by hardcoding numbers.
34411
d1e1d527 344122009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34413
34414 * fs/jfs.c: Update copyright year.
34415
1ebbe064 344162009-08-08 Felix Zielcke <fzielcke@z-51.de>
34417
34418 * util/grub.d/00_header.in: Fix a comment.
34419 * util/grub.d/10_linux.in: Likewise.
34420 * util/grub.d/10_windows.in: Likewise.
34421 * util/grub.d/10_hurd.in: Likewise.
34422
a78c8d24 344232009-08-08 Felix Zielcke <fzielcke@z-51.de>
34424
34425 * util/grub-mkconfig.in: Allow the user to specify the used font
34426 with GRUB_FONT.
34427
29a6b9e8 344282009-08-08 Pavel Roskin <proski@gnu.org>
34429
b5f16cc4 34430 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34431 available, xfs.mod needs it now.
34432
2f5cb827 34433 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34434 the "g" modifier in sed when the intention is to strip something
34435 once. This fixes comparison of kernels with multiple dashes.
34436
29a6b9e8 34437 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34438 on it. Add missing space before closing bracket. Fix
34439 misleading formatting.
34440
892a3d98 344412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34442
34443 * docs/grub.texi: Major overhaul. Remove all sections that are
34444 specific to GRUB Legacy, or mostly composed of Legacy-specific
34445 information.
34446
ed94253f 344472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34448
34449 * docs/version.texi: New file. Provides version information for
34450 grub.texi.
34451
126d6628 344522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34453
34454 * docs/grub.texi: Update CVS information to SVN.
34455 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34456
998b5aa9 344572009-08-07 Felix Zielcke <fzielcke@z-51.de>
34458
34459 * util/grub-mkconfig.in: Remove a wrong `fi'.
34460
818e094a 344612009-08-07 Felix Zielcke <fzielcke@z-51.de>
34462
34463 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34464 (grub_jfs_uuid): New function.
34465 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34466
b969c52f 344672009-08-07 Felix Zielcke <fzielcke@z-51.de>
34468
34469 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34470 of it to ...
34471 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34472 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34473
7a4894cc 344742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34475
34476 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34477 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34478 Update all users.
34479
34480 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34481 not just "vmlinu[zx]".
34482 Moved from here ...
34483 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34484 all users.
34485
34486 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34487 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34488 all users.
34489
4e2171f8 344902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34491
34492 * util/grub.d/10_freebsd.in: Use an absolute device path for
34493 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34494
6dcfcb32 344952009-08-06 Felix Zielcke <fzielcke@z-51.de>
34496
34497 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34498 handling of multiple abstraction modules.
34499
f56a8756 345002009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34501
34502 Fix a bug resulting in black screen when loading Linux using a
34503 packed video mode.
34504
34505 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34506 function.
34507
34508 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34509 (grub_vbe_bios_getset_dac_palette_width): New function.
34510 (grub_vbe_bios_get_dac_palette_width)
34511 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34512 grub_vbe_bios_getset_dac_palette_width()).
34513
34514 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34515 check for return status.
34516 (grub_vbe_get_video_mode_info): When getting information for a packed
34517 mode (<= 8 bpp), obtain DAC palette width using
34518 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34519 {red,green,blue}_mark_size.
34520
222671b2 345212009-08-04 Felix Zielcke <fzielcke@z-51.de>
34522
ecb1a6d9 34523 * commands/search.c (options): Fix help output to match actual code.
222671b2 34524
f84114f5 345252009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34526
34527 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34528 of homegrown code.
34529
bd288a20 345302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34531
34532 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34533 on XFS or ReiserFS.
34534
8aab5e25 345352009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34536
34537 Support Apple partition map with sector size different from 512 bytes.
34538
34539 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34540 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34541 and 'apart.partmap_size'.
34542
6ad6258a 345432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
345442009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34545
34546 Fix cpuid command.
34547
34548 * commands/i386/cpuid.c (options): New variable.
34549 (grub_cmd_cpuid): Return real error.
34550 (GRUB_MOD_INIT(cpuid)): Declare options.
34551
67459bc6 345522009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34553
34554 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34555 valid.
34556
fbc6ab54 345572009-07-31 Bean <bean123ch@gmail.com>
34558
34559 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34560 log2_inode.
34561 (grub_fshelp_node): Move inode field to the end.
34562 (grub_xfs_data): Remove inode field.
34563 (grub_xfs_inode_block): Calculate inode size using sblock.
34564 (grub_xfs_inode_offset): Likewise.
34565 (grub_xfs_read_inode): Calculate inode size using sblock.
34566 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34567 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34568 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34569 to match inode size.
34570 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34571 not accessible when data is null.
34572 (grub_xfs_open): Likewise.
34573
f45d6cfc 345742009-07-31 Bean <bean123ch@gmail.com>
34575
34576 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34577 Don't change pv->disk if it's already set.
34578
34579 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34580 (grub_raid_register): ... here.
34581 (grub_raid_rescan): Removed.
34582
34583 * include/grub/raid.h (grub_raid_rescan): Removed.
34584
34585 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34586 (fstest): Replace grub_raid_rescan with module fini function followed
34587 by init function.
34588
34589 * util/grub-probe.c: Add include file <grub/raid.h>.
34590 (probe_raid_level): New function.
34591 (probe): Detect abstraction by walking the disk device, support two
34592 level of abstraction (LVM on RAID) when detecting partition map.
34593
24443b5a 345942009-07-31 Pavel Roskin <proski@gnu.org>
34595
34596 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34597 to grub_zalloc(), it was erroneous.
34598 Reported by Bean <bean123ch@gmail.com>
34599
a275d9e7 346002009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34601
34602 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34603 embedding zone, not only the first one.
a275d9e7 34604
56c5a47f 346052009-07-29 Joe Auricchio <jauricchio@gmail.com>
34606
34607 * term/gfxterm.c (clear_char): New function.
34608 (grub_virtual_screen_setup): Use clear_char.
34609 (scroll_up): Likewise.
34610 (grub_virtual_screen_cls): Likewise.
34611
67bb323a 346122009-07-29 Felix Zielcke <fzielcke@z-51.de>
34613
34614 * util/deviceiter.c (get_acceleraid_disk_name): New static
34615 function.
34616 (grub_util_iterate_devices): Handle Accelraid devices.
34617 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34618
388a7c75 346192009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34620
34621 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34622 separator for the suggested gfxpayload string (';' collides with the
34623 parser and needs escaping).
34624
3bb7abcf 346252009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34626
34627 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34628 Clear direction flag before jumping to OS.
34629 (grub_multiboot2_real_boot): Likewise.
34630
2ddd36d7 346312009-07-28 Felix Zielcke <fzielcke@z-51.de>
34632
34633 * util/i386/pc/grub-install: Fix parsing of --disk-module
34634 option.
34635
c521b62b 346362009-07-28 Felix Zielcke <fzielcke@z-51.de>
34637
34638 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34639 when embedding.
34640
880e0a0c 346412009-07-26 Felix Zielcke <fzielcke@z-51.de>
34642
34643 * util/grub-mkconfig.in (package_version): New variable.
34644 Use it do display the version.
34645
2366e356 346462009-07-25 Felix Zielcke <fzielcke@z-51.de>
34647
34648 * kern/file.c (grub_file_open): Revert to previous check with
34649 grub_errno.
34650
7ad8c80e 346512009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34652
34653 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34654 from help line. It's out of sync with code.
34655
72b9658b 346562009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34657
34658 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34659 entries on failed boot.
34660
77435277 346612009-07-25 Felix Zielcke <fzielcke@z-51.de>
34662
34663 * kern/file.c (grub_file_open): Fix an error check.
34664
fcaa8b21 346652009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34666
35d16c74 34667 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34668 partition map couldn't be identified.
fcaa8b21 34669
48904cd1 346702009-07-23 Pavel Roskin <proski@gnu.org>
34671
ef3c317f 34672 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34673 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34674 case of little endian words becomes just an optimization.
34675 Respect const modifier.
ad8ea1f4 34676 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34677
48904cd1 34678 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34679 to avoid loss of upper bits if align is unsigned and shorter
34680 than addr.
34681
260c9a89 346822009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34683
34684 UUID support for UFS
34685
34686 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34687 (grub_ufs_uuid): New function.
34688 (grub_ufs_fs): add .uuid
34689
f76ce889 346902009-07-21 Pavel Roskin <proski@gnu.org>
34691
34692 * kern/dl.c (grub_dl_check_header): Make static.
34693
6a6cbcaf 346942009-07-21 Felix Zielcke <fzielcke@z-51.de>
34695
34696 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34697 add drivemap for Vista. It breaks Windows 7.
34698
cffcddb2 346992009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34700
34701 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34702 128 bytes
34703
1ef44b80 347042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34705
34706 Add BFS support
34707
34708 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34709 (grub_fstest_SOURCES): Likewise.
34710 (pkglib_MODULES): Add befs.mod.
34711 (befs_mod_SOURCES): New variable.
34712 (befs_mod_CFLAGS): Likewise.
34713 (befs_mod_LDFLAGS): Likewise.
34714 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34715 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34717 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34718 (grub_setup_SOURCES): Likewise.
34719 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34720 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34721 (grub_setup_SOURCES): Likewise.
34722 * fs/befs.c: New file.
34723 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34724 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34725 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34726 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34727 (B_KEY_INDEX_ALIGN): New declaration.
34728 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34729 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34730 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34731 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34732 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34733 (grub_afs_mount) [MODE_BFS]: Likewise.
34734 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34735 (grub_afs_fs): Use GRUB_AFS_FSNAME
34736 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34737 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34738 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34739 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34740
4f253044 347412009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34742
34743 * util/getroot.c (find_root_device): Add support for MacOSX.
34744 * util/hostdisk.c: Likewise.
34745
57a55913 347462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34747
34748 * font/font.c (find_glyph): Check whether a font is present to avoid
34749 segmentation fault.
75421ca9 34750
347512009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34752
34753 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34754
e98cd0c2 347552009-07-20 Pavel Roskin <proski@gnu.org>
34756
34757 * configure.ac: Trim excessively wordy excuses.
34758
1d2d169a 347592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34760
34761 Add symlink, mtime and label support to AtheFS.
34762
34763 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34764 (grub_afs_iterate_dir): Handle symlinks.
34765 (grub_afs_open): Use grub_afs_read_symlink.
34766 (grub_afs_dir): Likewise.
34767 Pass mtime.
34768 (grub_afs_label): New function.
34769 (grub_afs_fs): Add grub_afs_label.
34770 (grub_afs_read_symlink): New function.
34771
186f3189 347722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34773
34774 Fix AtheFS support.
34775
34776 * fs/afs.c: Fix comments style.
34777 (grub_afs_blockrun): Declare as packed.
34778 (grub_afs_datastream): Likewise.
34779 (grub_afs_bnode): Likewise.
34780 (grub_afs_btree): Likewise.
34781 (grub_afs_sblock): Likewise.
34782 Declare `name' as char.
34783 (grub_afs_inode): Declare as packed.
34784 Change void *vnode to grub_uint32_t unused.
34785 (grub_afs_iterate_dir): Check that key_size is positive.
34786 (grub_afs_mount): Don't read superblock twice.
75421ca9 34787 (grub_afs_dir): Don't free node in case of error,
186f3189 34788 grub_fshelp_find_file already handles this.
34789 (grub_afs_open): Likewise.
34790
5680109e 347912009-07-19 Pavel Roskin <proski@gnu.org>
34792
34793 * Makefile.in: Remove LIBLZO and enable_lzo.
34794 * conf/i386-pc.rmk: Remove lzo support.
34795 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34796 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34797 support.
34798 * kern/i386/pc/lzo1x.S: Remove.
34799 * kern/i386/pc/startup.S: Remove lzo support.
34800 * util/i386/pc/grub-mkimage.c: Likewise.
34801
ac70fa32 348022009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34803
34804 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34805 * fs/xfs.c (grub_xfs_dir): Likewise.
34806 * fs/afs.c (grub_afs_dir): Likewise.
34807 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34808 (grub_iso9660_open): Likewise.
34809 * fs/jfs.c (grub_jfs_open): Likewise.
34810 * fs/ext2.c (grub_ext2_dir): Likewise.
34811 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34812 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34813
eab58da2 348142009-07-16 Pavel Roskin <proski@gnu.org>
34815
d2838156 34816 * configure.ac: Never add "-c" to CFLAGS.
34817
55c70904 34818 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34819
43e6200c 34820 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34821 grub_cv_cc_efiemu should be used.
34822
ce7a733d 34823 * configure.ac: Typo fixes.
34824
eab58da2 34825 * kern/mm.c (grub_zalloc): New function.
34826 (grub_debug_zalloc): Likewise.
34827 * include/grub/mm.h: Declare grub_zalloc() and
34828 grub_debug_zalloc().
34829 * util/misc.c (grub_zalloc): New function.
34830 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34831 instead of grub_malloc(), remove unneeded initializations.
34832 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34833 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34834 * commands/parttool.c (grub_cmd_parttool): Likewise.
34835 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34836 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34837 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34838 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34839 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34840 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34841 (grub_cmd_efiemu_pnvram): Likewise.
34842 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34843 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34844 (grub_iso9660_iterate_dir): Likewise.
34845 * fs/jfs.c (grub_jfs_opendir): Likewise.
34846 * fs/ntfs.c (list_file): Likewise.
34847 (grub_ntfs_mount): Likewise.
34848 * kern/disk.c (grub_disk_open): Likewise.
34849 * kern/dl.c (grub_dl_load_core): Likewise.
34850 * kern/elf.c (grub_elf_file): Likewise.
34851 * kern/env.c (grub_env_context_open): Likewise.
34852 (grub_env_set): Likewise.
34853 (grub_env_set_data_slot): Likewise.
34854 * kern/file.c (grub_file_open): Likewise.
34855 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34856 * loader/i386/multiboot.c (grub_module): Likewise.
34857 * loader/xnu.c (grub_xnu_create_key): Likewise.
34858 (grub_xnu_create_value): Likewise.
34859 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34860 (read_config_file): Likewise.
34861 * normal/menu_entry.c (make_screen): Likewise.
34862 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34863 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34864 * script/sh/script.c (grub_script_parse): Likewise.
34865 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34866 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34867 * video/readers/png.c (grub_png_output_byte): Likewise.
34868 (grub_video_reader_png): Likewise.
34869
830afef7 348702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34871
34872 Enable all targets that can be built by default
34873
830afef7 34874 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34875 grub-mkfont and grub-fstest if they can be built
34876
ee293aee 348772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34878
34879 Fix hang and segmentation fault in grub-emu-usb
34880
34881 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34882 * util/usb.c (grub_libusb_devices): likewise
34883 (grub_libusb_init): rename to ...
34884 (GRUB_MOD_INIT (libusb)):...this
34885 (grub_libusb_fini): rename to ..
34886 (GRUB_MOD_FINI (libusb)):...this
34887 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34888 * include/grub/disk.h (grub_raid_init): removed, it's useless
34889 (grub_raid_fini): likewise
34890 (grub_lvm_init): likewise
34891 (grub_lvm_fini): likewise
34892 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34893 by grub_init_all
34894
94414221 348952009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34896
34897 Fix libusb
34898
34899 * Makefile.in (LIBUSB): new macro
34900 * genmk.rb (Utility/print_tail): new method
34901 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34902 (top level): call util.print_tail at the end.
34903
59ade63d 349042009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34905
34906 Make FreeBSD accept zpool.cache
34907
34908 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34909 type is /boot/zfs/zpool.cache
34910
a58da8c7 349112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34912
34913 Fix 64-bit efiemu
34914
34915 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34916 correct wrong typedef
34917 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34918
20591577 349192009-07-15 Pavel Roskin <proski@gnu.org>
34920
560ca572 34921 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34922 * kern/disk.c (struct grub_disk_cache): Likewise.
34923
e8e8e4fd 34924 * commands/probe.c (options): Typo fix.
34925
fde24e10 34926 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34927 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34928 accordingly.
34929 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34930
379c54c1 34931 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34932 the end of "Error" to make the message more readable.
34933
7bd8f5bf 34934 * boot/i386/pc/boot.S (kernel_segment): Remove.
34935 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34936 for destination.
34937
40b132c5 34938 * boot/i386/pc/boot.S (boot_version): Remove.
34939 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34940 Remove.
34941
20591577 34942 * include/grub/i386/pc/boot.h: Sort all offsets.
34943 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34944 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34945 * boot/i386/pc/boot.S: Assert location of every offset listed in
34946 include/grub/i386/pc/boot.h.
34947
2df32b2c 349482009-07-13 Pavel Roskin <proski@gnu.org>
34949
44b5d879 34950 * include/grub/i386/coreboot/machine.h: Rename
34951 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34952 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34953 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34954
17dc3751 34955 * kern/dl.c: Force native word size to suppress warnings when
34956 compiling grub-emu.
34957
2df32b2c 34958 * kern/device.c (grub_device_iterate): Change struct part_ent to
34959 hold the name, not a pointer to it. Use one grub_malloc() per
34960 partition, not two. Free partition_name if grub_malloc() fails.
34961 Set ents to NULL only before grub_partition_iterate() is called.
34962
75c59f59 349632009-07-11 Bean <bean123ch@gmail.com>
34964
34965 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34966 childname.
34967
0ae1bf88 349682009-07-10 Bean <bean123ch@gmail.com>
349692009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34970
34971 * kern/ieee1275/openfw.c (grub_children_iterate)
34972 (grub_devalias_iterate): Fix size evaluation for property or path
34973 strings, which was broken since r2132.
34974
8279cade 349752009-07-07 Pavel Roskin <proski@gnu.org>
34976
7d8a52d3 34977 * commands/search.c (search_file): Merge into ...
34978 (search_fs): ... this. Accept search type as argument.
34979 (grub_cmd_search): Pass search type to search_fs().
34980
25f9a05a 34981 * include/grub/util/console.h: New file.
34982 * util/console.c: Use it instead of grub/machine/console.h.
34983 * util/grub-emu.c: Likewise.
34984
8279cade 34985 * lib/arg.c (find_long_option): Remove.
34986 (find_long): Add `len' argument, make `s' const char *.
34987 (grub_arg_parse): Parse long options in place, not in a
34988 temporary buffer.
34989
4a11b60f 349902009-07-06 Pavel Roskin <proski@gnu.org>
34991
99f68041 34992 * commands/search.c (search_fs): Fix potential NULL pointer
34993 dereference.
34994
4a11b60f 34995 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34996 function pointer.
34997
e110f4de 349982009-07-06 Daniel Mierswa <impulze@impulze.org>
34999
35000 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
35001 comparison.
35002
46eeb6a2 350032009-07-05 Pavel Roskin <proski@gnu.org>
35004
bab74958 35005 * include/grub/i386/linux.h (struct linux_kernel_params):
35006 Restore padding3, it's still needed.
35007
46eeb6a2 35008 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
35009 FreeBSD.
35010 * util/osdetect.lua: Likewise.
35011
b4a1dc79 350122009-07-05 Bean <bean123ch@gmail.com>
35013
35014 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
35015
35016 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
35017 (grub_lua_getenv): Likewise.
35018 (grub_lua_setenv): Likewise.
35019 (save_errno): New function.
35020 (push_result): Likewise.
35021 (grub_lua_enum_device): Likewise.
35022 (grub_lua_enum_file): Likewise.
35023 (grub_lua_file_open): Likewise.
35024 (grub_lua_file_close): Likewise.
35025 (grub_lua_file_seek): Likewise.
35026 (grub_lua_file_read): Likewise.
35027 (grub_lua_file_getline): Likewise.
35028 (grub_lua_file_getsize): Likewise.
35029 (grub_lua_file_getpos): Likewise.
35030 (grub_lua_file_eof): Likewise.
35031 (grub_lua_file_exist): Likewise.
35032 (grub_lua_add_menu): Likewise.
35033
35034 * script/lua/grub_lua.h (isupper): New inline function.
35035 (islower): Likewise.
35036 (ispunct): Likewise.
35037 (isxdigit): Likewise.
35038 (strcspn): Change to normal function.
35039 (strpbkr): New function declaration.
35040 (memchr): Likewise.
35041
35042 * script/lua/grub_main.c (scan_str): New function.
35043 (strcspn): Likewise.
35044 (strpbrk): Likewise.
35045 (memchr): Likewise.
35046
35047 * script/lua/linit.c (lualibs): Enable the string library.
35048
35049 * util/osdetect.lua: New file.
35050
2da92295 350512009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35052
35053 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35054 `capabilities' member.
35055
b2582ec9 350562009-07-02 Pavel Roskin <proski@gnu.org>
35057
35058 * genparttoollist.sh: Add missing newline at the end.
35059
32622956 350602009-07-01 Pavel Roskin <proski@gnu.org>
35061
87a7339e 35062 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35063
d23af54e 35064 * util/hostdisk.c (open_device): Remove `const' from
35065 `sysctl_size', as sysctlbyname() can change it (in this case it
35066 doesn't actually happen).
35067
c94b18a9 35068 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35069 using signed long int constants.
35070
c6cd3ef0 35071 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35072 constant to avoid a warning on FreeBSD.
35073
0df63420 35074 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35075 where it's needed.
35076
999577f1 35077 * Makefile.in: Install include/grub/machine symlink.
35078
6f41557f 35079 * Makefile.in: When installing symlinks, use "cp -fR", which
35080 works on FreeBSD and MacOSX.
35081 From Yves Blusseau <cl7m42e02@sneakemail.com>
35082
c8d22988 35083 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35084 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35085
1b96e952 35086 * util/misc.c: Move grub_reboot() and grub_halt() ...
35087 * util/grub-emu.c: ... here. Make main_env static.
35088 * include/grub/util/misc.h: Remove main_env.
35089
2ef0084d 35090 * kern/mm.c: Use correct format to print size_t.
35091
32622956 35092 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35093 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35094 * kern/powerpc/dl.c: Likewise.
35095 * kern/sparc64/dl.c: Likewise.
35096 * kern/x86_64/dl.c: Likewise.
35097
3f7f0cd0 350982009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35099
35100 Fix grub-emu build on sparc64-ieee1275.
35101
75421ca9 35102 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 35103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35104
211d06b5 351052009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35106
35107 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35108 (grub_reboot, grub_halt): New functions.
35109
35110 * util/i386/pc/misc.c: Delete. Update all users.
35111 * util/sparc64/ieee1275/misc.c: Likewise.
35112 * util/powerpc/ieee1275/misc.c: Likewise.
35113
aaf53e3c 351142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35115
35116 * conf/i386.rmk (setjmp_mod_SOURCES)
35117 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35118 * conf/common.rmk (setjmp_mod_SOURCES)
35119 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35120 to use $(target_cpu).
35121 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35122 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35123 * conf/powerpc-ieee1275.rmk: Likewise.
35124 * conf/sparc64-ieee1275.rmk: Likewise.
35125
35126 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35127 $(target_cpu) for kern/$(target_cpu)/dl.c.
35128 * conf/i386-efi.rmk: Likewise.
35129 * conf/i386-ieee1275.rmk: Likewise.
35130 * conf/x86_64-efi.rmk: Likewise.
35131 * conf/i386-coreboot.rmk: Likewise.
35132 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35133 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35134 kern/$(target_cpu)/cache.S.
35135 * conf/sparc64-ieee1275.rmk: Likewise.
35136
a337130b 351372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35138
35139 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35140 type to `grub_uint8_t', and adjust `padding9' accordingly.
35141
c6fe4d53 351422009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35143
b09db61d 35144 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35145
c6fe4d53 35146 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35147 assembly in final jump, using register constraints.
35148
b09db61d 35149 (grub_linux_boot): For text mode, initialize `have_vga' using
35150 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35151
35152 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35153 right before the final jump.
35154
35155 Set `video_mode' to 0x3.
35156
35157 Document initialization of `video_page', `video_mode' and
35158 `video_ega_bx'.
35159
28333ad0 351602009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35161
35162 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35163 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 35164 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 35165
02164e1b 351662009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35167
35168 Fix build on Debian / sparc.
35169
35170 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35171
18b6c557 351722009-06-28 Pavel Roskin <proski@gnu.org>
35173
85f2aab6 35174 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35175 fix a warning.
35176
18b6c557 35177 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35178
ad760f81 351792009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35180
35181 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35182 `err'.
35183
87a4623b 351842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35185
35186 Revert r2338.
35187
35188 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35189 file can't be opened. grub_file_open() is already supposed to set
75421ca9 35190 grub_errno / grub_errmsg appropriately.
87a4623b 35191 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35192
8231fb77 351932009-06-27 Pavel Roskin <proski@gnu.org>
351942009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35195
35196 * include/grub/dl.h: Include grub/elf.h.
35197 (struct grub_dl): Add symtab field.
35198 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35199 GRUB_MODULES_MACHINE_READONLY.
35200 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35201 of the header for read-only modules.
35202 (grub_dl_unload): Free mod->symtab for read-only modules.
35203 * kern/i386/dl.c: Use mod->symtab.
35204 * kern/powerpc/dl.c: Likewise.
35205 * kern/sparc64/dl.c: Likewise.
35206 * kern/x86_64/dl.c: Likewise.
35207
35208 * conf/i386-qemu.rmk: New file.
35209 * kern/i386/qemu/startup.S: Likewise.
35210 * kern/i386/qemu/mmap.c: Likewise.
35211 * boot/i386/qemu/boot.S: Likewise.
35212 * include/grub/i386/qemu/time.h: Likewise.
35213 * include/grub/i386/qemu/serial.h: Likewise.
35214 * include/grub/i386/qemu/kernel.h: Likewise.
35215 * include/grub/i386/qemu/console.h: Likewise.
35216 * include/grub/i386/qemu/boot.h: Likewise.
35217 * include/grub/i386/qemu/init.h: Likewise.
35218 * include/grub/i386/qemu/machine.h: Likewise.
35219 * include/grub/i386/qemu/loader.h: Likewise.
35220 * include/grub/i386/qemu/memory.h: Likewise.
35221
35222 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35223 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35224 [qemu] (pkglib_IMAGES): Add `boot.img'.
35225 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35226 [qemu] (boot_img_FORMAT): New variables.
35227 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35228 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35229 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35230 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35231 [qemu] (kernel_img_FORMAT): New variables.
35232
35233 * configure.ac: Recognise `i386-qemu'.
35234
35235 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35236 (for no compression).
35237 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35238 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35239 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35240 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35241 ifdefs).
35242
97fe384e 352432009-06-27 Pavel Roskin <proski@gnu.org>
35244
35245 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35246 read.
35247 * efiemu/prepare32.c: Likewise.
35248 * efiemu/prepare64.c: Likewise.
35249
c402ab17 352502009-06-26 Pavel Roskin <proski@gnu.org>
35251
35252 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35253 * include/grub/elf.h: Define symbols without "32" or "64" based
35254 on GRUB_TARGET_WORDSIZE.
35255 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35256 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35257 ELF definitions.
35258 * efiemu/loadcore64.c: Likewise.
35259 * loader/i386/bsd32.c: Likewise.
35260 * loader/i386/bsd64.c: Likewise.
35261 * kern/dl.c: Remove own ELF definitions.
35262 * util/i386/efi/grub-mkimage.c: Likewise.
35263
9bbdfd4d 352642009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35265
35266 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35267 segment 0x0 unconditionally, because the reference generated by
35268 GAS is an absolute address.
35269
a42ce6e9 352702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35271
35272 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35273 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35274
c952cf92 352752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35276
35277 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35278 indexes. Check for -f explicitly.
cc3752ad 35279 (search_file): Improve error message.
35280 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35281
132a0a59 352822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35283
35284 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35285 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35286
387a140c 352872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35288
35289 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35290 * conf/i386-ieee1275.rmk: Likewise.
35291 * conf/i386-coreboot.rmk: Likewise.
35292
35293 * kern/i386/pc/startup.S (grub_stop): Remove function.
35294 * kern/i386/ieee1275/startup.S: Likewise.
35295 * kern/i386/coreboot/startup.S: Likewise.
35296 * kern/i386/misc.S (grub_stop): New function.
35297
41da9665 352982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35299
35300 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35301 * kern/i386/realmode.S (real_to_prot): ... to here.
35302
bf337234 353032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35304
35305 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35306 with `kernel.img'.
35307 (kernel_elf_SOURCES): Rename to ...
35308 (kernel_img_SOURCES): ... this.
35309 (kernel_elf_HEADERS): Rename to ...
35310 (kernel_img_HEADERS): ... this. Update all users.
35311 (kernel_elf_ASFLAGS): Rename to ...
35312 (kernel_img_ASFLAGS): ... this.
35313 (kernel_elf_CFLAGS): Rename to ...
35314 (kernel_img_CFLAGS): ... this.
35315 (kernel_elf_LDFLAGS): Rename to ...
35316 (kernel_img_LDFLAGS): ... this.
35317 * conf/i386-coreboot.rmk: Likewise.
35318 * conf/powerpc-ieee1275.rmk: Likewise.
35319
35320 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35321 with "kernel.img".
35322
f52196ff 353232009-06-21 Pavel Roskin <proski@gnu.org>
35324
c3cee413 35325 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35326 to match nested functions.
35327 * loader/sparc64/ieee1275/linux.c: Likewise.
35328
f52196ff 35329 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35330
58750afc 353312009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35332
35333 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35334 all i386 platforms.
35335
15355c7d 353362009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35337
35338 Fix asm file handling on ELF, and remove workarounds.
35339
35340 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35341 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35342 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35343 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35344
3f3ec72b 353452009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35346
35347 Load BSD ELF modules
35348
35349 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35350 and loader/i386/bsd64.c
35351 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35352 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35353 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35354 (grub_freebsd_load_elfmodule32): New declaration
35355 (grub_freebsd_load_elfmoduleobj64): Likewise
35356 (grub_freebsd_load_elf_meta32): Likewise
35357 (grub_freebsd_load_elf_meta64): Likewise
35358 (grub_freebsd_add_meta): Likewise
35359 (grub_freebsd_add_meta_module): Likewise
35360 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35361 (grub_freebsd_add_meta_module): Likewise and move module-specific
35362 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35363 (grub_cmd_freebsd): Add elf-kernel specific parts
35364 based on grub_freebsd_add_meta_module
35365 (grub_cmd_freebsd_module): Add type parsing moved from
35366 grub_freebsd_add_meta_module
35367 (grub_cmd_freebsd_module_elf): New function
35368 (cmd_freebsd_module_elf): New variable
35369 (GRUB_MOD_INIT): Register freebsd_module_elf
35370 * loader/i386/bsd32.c: New file
35371 * loader/i386/bsd64.c: Likewise
35372 * loader/i386/bsdXX.c: Likewise
35373 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35374 (grub_elf64_load): Likewise
35375 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35376 All users updated
35377 (grub_elf64_load_hook_t): Likewise
35378
0db15301 353792009-06-21 Colin Watson <cjwatson@ubuntu.com>
35380
35381 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35382 variable.
35383 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35384 don't write a menu entry for recovery mode.
35385
546796c1 353862009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35387
35388 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35389 after it's no longer needed.
35390
cd7310d5 353912009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35392
35393 * include/grub/i386/loader.h (grub_linux_prot_size)
35394 (grub_linux_tmp_addr, grub_linux_real_addr)
35395 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35396 GRUB_MACHINE_PCBIOS.
35397 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35398 common grub_util_info() call to ...
35399 (generate_image): ... here.
35400 Fix use of uninitialized memory, comparison of signed with
35401 unsigned integers and memory leak.
35402 Remove bogus module address message.
35403
ab32d3b5 354042009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35405
35406 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35407 grub_raid_register
35408 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35409
024ef597 354102009-06-19 Pavel Roskin <proski@gnu.org>
35411
35412 * configure.ac: Remove stray AC_MSG_CHECKING.
35413
3ac72b51 354142009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35415
35416 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35417
e14cd814 354182009-06-18 Pavel Roskin <proski@gnu.org>
35419
35420 * conf/common.rmk: Add fs_file.mod.
35421 * disk/fs_file.c: New file.
35422 * include/grub/disk.h (enum grub_disk_dev_id): Add
35423 GRUB_DISK_DEVICE_FILE_ID.
35424
26586d98 354252009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35426
35427 Fix build with Apple's toolchain. Part 2
35428
35429 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35430 a fake start
35431
26de2bcd 354322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35433
35434 Fix build with Apple's toolchain. Part 1
35435
35436 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35437 for long calls
35438 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35439 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35440 Apple's toolchain
35441
09b3490b 354422009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35443
35444 Fix warnings
35445
35446 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35447 (decomp_block): initialize ch
35448 use grub_memcpy instead of memcpy
35449
c22a006a 354502009-06-17 Pavel Roskin <proski@gnu.org>
35451
d3638678 35452 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35453 version, use declarations needed to use vga_text as the startup
35454 console.
35455
c22a006a 35456 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35457 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35458 the kernel.
35459 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35460 and grub_at_keyboard_fini(), it's done on module load and
35461 unload.
35462
05b129e0 354632009-06-17 Felix Zielcke <fzielcke@z-51.de>
35464
35465 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35466 file can't be found.
35467 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35468
cf24ed9e 354692009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35470
35471 Fix newline handling
35472
35473 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35474 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35475 (grub_script_yylex): don't segfault on unterminated script
35476 newline terminates command and variable
35477
74aa8e4b 354782009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35479
35480 avoid double grub_adjust_range call. Bug reported by David Simner
35481
35482 * kern/disk.c (grub_disk_write): change to raw disk access before
35483 calling disk_read
35484
1bd265f3 354852009-06-17 Colin Watson <cjwatson@ubuntu.com>
35486
35487 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35488 spaces, for the benefit of help2man.
35489 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35490
a2d08c06 354912009-06-16 Pavel Roskin <proski@gnu.org>
35492
35493 * kern/i386/halt.c: Include grub/machine/init.h.
35494 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35495
b97bcb19 354962009-06-16 Felix Zielcke <fzielcke@z-51.de>
35497
35498 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35499 drivemap menuentry.
35500
0644f96c 355012009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35502
35503 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35504 `echo' command.
35505
3ef17a2e 355062009-06-16 Pavel Roskin <proski@gnu.org>
35507
35508 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35509 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35510 save %dx, we only need %dl and we never change it.
35511 * boot/i386/pc/cdboot.S: Don't set the root drive.
35512 * boot/i386/pc/pxeboot.S: Likewise.
35513 * include/grub/i386/pc/boot.h: Remove
35514 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35515 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35516 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35517 * kern/i386/pc/init.c (make_install_device): Remove references
35518 to grub_root_drive.
35519 * kern/i386/pc/startup.S: Likewise.
35520 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35521
693fe637 355222009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35523
35524 xnu_uuid command
35525
35526 * commands/xnu_uuid.c: new file
35527 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35528 (xnu_uuid_mod_SOURCES): new variable
35529 (xnu_uuid_mod_CFLAGS): likewise
35530 (xnu_uuid_mod_LDFLAGS): likewise
35531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35532 * conf/i386-ieee1275.rmk: likewise
35533 * conf/i386-pc.rmk: likewise
35534 * conf/powerpc-ieee1275.rmk: likewise
35535 * conf/sparc64-ieee1275.rmk: likewise
35536 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35537
c9da87d0 355382009-06-16 Pavel Roskin <proski@gnu.org>
35539
35540 * configure.ac: Avoid '==' in test command, it's not portable.
35541
9c6f4596 355422009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35543
35544 Probe command
35545
35546 * commands/probe.c: new file
35547 * conf/common.rmk (pkglib_MODULES): add probe.mod
35548 (probe_mod_SOURCES): new variable
35549 (probe_mod_CFLAGS): likewise
35550 (probe_mod_LDFLAGS): likewise
35551 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35552 * conf/i386-ieee1275.rmk: likewise
35553 * conf/i386-pc.rmk: likewise
35554 * conf/powerpc-ieee1275.rmk: likewise
35555 * conf/sparc64-ieee1275.rmk: likewise
35556
70b7f9fd 355572009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35558
35559 Fix handling of string like \"hello\" and "a
35560 b"
35561
35562 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35563 (grub_script_yylex): fix parsing of quoting, escaping and newline
35564
71c79a6b 355652009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35566
dd74360c 35567 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35568 handling
dd74360c 35569
0644f96c 355702009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35571
35572 * util/grub-mkconfig.in: Fix parsing of --output option.
35573
e40893c3 355742009-06-12 Pavel Roskin <proski@gnu.org>
35575
35576 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35577 genmk.rb don't need to be generated or installed.
35578
3a1acfe2 355792009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35580
35581 * commands/i386/pc/drivemap_int13h.S: add more comments
35582
3a4575d4 355832009-06-11 Pavel Roskin <proski@gnu.org>
35584
0658e928 35585 * Makefile.in (uninstall): Uninstall manuals.
35586
ca0388f0 35587 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35588 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35589 and update-grub_lib in two places.
35590 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35591
e3b27c39 35592 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35593 a compiler warning.
35594
3a4575d4 35595 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35596 `entry_lo' to fix variable shadowing.
35597
af1f4f55 355982009-06-11 Christian Franke <franke@computer.org>
35599
35600 * kern/misc.c (__enable_execute_stack): Add missing return type
35601 to prevent gcc warning.
35602
5225e649 356032009-06-11 Felix Zielcke <fzielcke@z-51.de>
35604
35605 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35606
7d83bd47 356072009-06-11 Pavel Roskin <proski@gnu.org>
35608
c1cb63ba 35609 * Makefile.in: Don't rely on any scripts being executable.
35610 Always use $(SHELL) to run shell scripts.
35611
7d83bd47 35612 * configure.ac: Always define ___main if using -nostdlib. This
35613 fixes tests on Cygwin.
35614
948f48e7 356152009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35616
35617 UDF fix
35618
7d83bd47 35619 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35620 is in bytes and not in blocks
7d83bd47 35621
8ada9bc1 356222009-06-11 Pavel Roskin <proski@gnu.org>
35623
35624 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35625 warning.
35626
25ad2323 356272009-06-11 Felix Zielcke <fzielcke@z-51.de>
35628
35629 * util/grub.d/30_os-prober.in: Fix a comment. Source
35630 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35631 to set the root device. Place drivemap command in the generated
35632 chain entry.
35633
e65acb0c 356342009-06-11 Pavel Roskin <proski@gnu.org>
35635
35636 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35637 have long been resolved.
35638
f285fe2d 356392009-06-11 Colin Watson <cjwatson@ubuntu.com>
35640
bd47b0b5 35641 * util/grub.d/10_linux.in: Capitalise "Linux".
35642
f285fe2d 35643 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35644
a0c62e4e 356452009-06-11 Pavel Roskin <proski@gnu.org>
35646
b6783cb2 35647 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35648 fix a gcc warning and ensure that the function won't ever exit.
35649
dde032e8 35650 * kern/i386/ieee1275/init.c: Add missing prototype for
35651 grub_stop_floppy().
35652
22cd079d 35653 * loader/ieee1275/multiboot2.c [__i386__]: Include
35654 grub/cpu/multiboot.h.
35655
a0c62e4e 35656 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35657 casts to short - they are not portable and cause warnings. Fix
35658 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35659
63963d17 356602009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35661
35662 Drivemap fixes
35663
35664 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35665 new function
35666 (grub_get_root_biosnumber_saved): new variable
35667 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35668 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35669 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35670 %dx after the call if necessary
35671 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35672 (boot_mod_SOURCES): remove
35673 (boot_mod_CFLAGS): remove
35674 (boot_mod_LDFLAGS): remove
35675 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35676 (boot_mod_SOURCES): new variable
35677 (boot_mod_CFLAGS): likewise
35678 (boot_mod_LDFLAGS): likewise
35679 * conf/i386-efi.rmk: likewise
35680 * conf/i386-ieee1275.rmk: likewise
35681 * conf/i386-pc.rmk: likewise
35682 * conf/powerpc-ieee1275.rmk: likewise
35683 * conf/sparc64-ieee1275.rmk: likewise
35684 * conf/x86_64-efi.rmk: likewise
35685 * include/grub/i386/pc/biosnum.h: new file
35686 * lib/i386/pc/biosnum.c: likewise
35687 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35688 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35689 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35690
33abf7ae 356912009-06-10 Pavel Roskin <proski@gnu.org>
35692
5ac35b35 35693 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35694 Use separate variables. Read only the file size at the end, but
35695 not the checksum that we don't use.
35696
5c5215d5 35697 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35698 Adjust all callers.
35699
27d5fef7 35700 * kern/ieee1275/openfw.c: Remove libc includes.
35701 * kern/ieee1275/cmain.c: Likewise.
35702 * include/grub/ieee1275/ieee1275.h: Likewise.
35703
33abf7ae 35704 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35705 compiler warnings.
35706
19d50c2b 357072009-06-10 Felix Zielcke <fzielcke@z-51.de>
35708
35709 * Makefile.in: Remove all trailing whitespace.
35710 * conf/i386-pc.rmk: Likewise.
35711 * conf/powerpc-ieee1275.rmk: Likewise.
35712 * conf/sparc64-ieee1275.rmk: Likewise.
35713 * docs/grub.texi: Likewise.
35714 * docs/texinfo.tex: Likewise.
35715 * disk/fs_uuid.c: Likewise.
35716 * disk/lvm.c: Likewise.
35717 * disk/scsi.c: Likewise.
35718 * disk/ata.c: Likewise.
35719 * disk/ieee1275/ofdisk.c: Likewise.
35720 * disk/i386/pc/biosdisk.c: Likewise.
35721 * disk/host.c: Likewise.
35722 * disk/raid.c: Likewise.
35723 * disk/efi/efidisk.c: Likewise.
35724 * disk/usbms.c: Likewise.
35725 * disk/memdisk.c: Likewise.
35726 * disk/loopback.c: Likewise.
35727 * kern/powerpc/dl.c: Likewise.
35728 * kern/device.c: Likewise.
35729 * kern/dl.c: Likewise.
35730 * kern/sparc64/dl.c: Likewise.
35731 * kern/ieee1275/ieee1275.c: Likewise.
35732 * kern/term.c: Likewise.
35733 * kern/fs.c: Likewise.
35734 * kern/i386/dl.c: Likewise.
35735 * kern/i386/pc/startup.S: Likewise.
35736 * kern/i386/pc/init.c: Likewise.
35737 * kern/i386/pc/mmap.c: Likewise.
35738 * kern/i386/pc/lzo1x.S: Likewise.
35739 * kern/i386/ieee1275/init.c: Likewise.
35740 * kern/i386/realmode.S: Likewise.
35741 * kern/i386/tsc.c: Likewise.
35742 * kern/partition.c: Likewise.
35743 * kern/corecmd.c: Likewise.
35744 * kern/file.c: Likewise.
35745 * kern/efi/efi.c: Likewise.
35746 * kern/efi/init.c: Likewise.
35747 * kern/efi/mm.c: Likewise.
35748 * kern/main.c: Likewise.
35749 * kern/err.c: Likewise.
35750 * kern/env.c: Likewise.
35751 * kern/disk.c: Likewise.
35752 * kern/generic/millisleep.c: Likewise.
35753 * kern/generic/rtc_get_time_ms.c: Likewise.
35754 * kern/misc.c: Likewise.
35755 * kern/parser.c: Likewise.
35756 * genmk.rb: Likewise.
35757 * configure.ac: Likewise.
35758 * boot/i386/pc/diskboot.S: Likewise.
35759 * boot/i386/pc/pxeboot.S: Likewise.
35760 * boot/i386/pc/boot.S: Likewise.
35761 * boot/i386/pc/lnxboot.S: Likewise.
35762 * boot/i386/pc/cdboot.S: Likewise.
35763 * parttool/pcpart.c: Likewise.
35764 * video/readers/tga.c: Likewise.
35765 * video/video.c: Likewise.
35766 * video/bitmap.c: Likewise.
35767 * lib/envblk.c: Likewise.
35768 * lib/i386/setjmp.S: Likewise.
35769 * fs/xfs.c: Likewise.
35770 * fs/afs.c: Likewise.
35771 * fs/fat.c: Likewise.
35772 * fs/ntfs.c: Likewise.
35773 * fs/udf.c: Likewise.
35774 * fs/affs.c: Likewise.
35775 * fs/iso9660.c: Likewise.
35776 * fs/hfs.c: Likewise.
35777 * fs/fshelp.c: Likewise.
35778 * fs/ext2.c: Likewise.
35779 * fs/jfs.c: Likewise.
35780 * fs/reiserfs.c: Likewise.
35781 * fs/hfsplus.c: Likewise.
35782 * fs/minix.c: Likewise.
35783 * fs/cpio.c: Likewise.
35784 * fs/sfs.c: Likewise.
35785 * fs/ufs.c: Likewise.
35786 * efiemu/prepare.c: Likewise.
35787 * efiemu/loadcore_common.c: Likewise.
35788 * efiemu/runtime/efiemu.sh: Likewise.
35789 * efiemu/runtime/efiemu.S: Likewise.
35790 * efiemu/runtime/efiemu.c: Likewise.
35791 * efiemu/pnvram.c: Likewise.
35792 * efiemu/main.c: Likewise.
35793 * efiemu/i386/pc/cfgtables.c: Likewise.
35794 * efiemu/i386/loadcore64.c: Likewise.
35795 * efiemu/i386/loadcore32.c: Likewise.
35796 * efiemu/loadcore.c: Likewise.
35797 * efiemu/symbols.c: Likewise.
35798 * efiemu/mm.c: Likewise.
35799 * include/grub/autoefi.h: Likewise.
35800 * include/grub/datetime.h: Likewise.
35801 * include/grub/term.h: Likewise.
35802 * include/grub/hfs.h: Likewise.
35803 * include/grub/lvm.h: Likewise.
35804 * include/grub/i386/tsc.h: Likewise.
35805 * include/grub/i386/linux.h: Likewise.
35806 * include/grub/i386/xnu.h: Likewise.
35807 * include/grub/i386/efiemu.h: Likewise.
35808 * include/grub/i386/pc/biosdisk.h: Likewise.
35809 * include/grub/i386/pc/memory.h: Likewise.
35810 * include/grub/i386/pc/vbe.h: Likewise.
35811 * include/grub/parttool.h: Likewise.
35812 * include/grub/video.h: Likewise.
35813 * include/grub/memory.h: Likewise.
35814 * include/grub/fs.h: Likewise.
35815 * include/grub/partition.h: Likewise.
35816 * include/grub/xnu.h: Likewise.
35817 * include/grub/efi/api.h: Likewise.
35818 * include/grub/efi/pe32.h: Likewise.
35819 * include/grub/efi/memory.h: Likewise.
35820 * include/grub/multiboot.h: Likewise.
35821 * include/grub/usbdesc.h: Likewise.
35822 * include/grub/multiboot2.h: Likewise.
35823 * include/grub/acpi.h: Likewise.
35824 * include/grub/efiemu/efiemu.h: Likewise.
35825 * include/grub/disk.h: Likewise.
35826 * include/grub/ieee1275/ieee1275.h: Likewise.
35827 * include/grub/net.h: Likewise.
35828 * include/grub/machoload.h: Likewise.
35829 * include/grub/macho.h: Likewise.
35830 * include/multiboot.h: Likewise.
35831 * genmoddep.awk: Likewise.
35832 * normal/main.c: Likewise.
35833 * normal/menu_entry.c: Likewise.
35834 * normal/menu_viewer.c: Likewise.
35835 * normal/completion.c: Likewise.
35836 * normal/cmdline.c: Likewise.
35837 * normal/misc.c: Likewise.
35838 * normal/datetime.c: Likewise.
35839 * bus/usb/usbtrans.c: Likewise.
35840 * bus/usb/ohci.c: Likewise.
35841 * bus/usb/uhci.c: Likewise.
35842 * bus/usb/usb.c: Likewise.
35843 * mmap/efi/mmap.c: Likewise.
35844 * mmap/i386/pc/mmap_helper.S: Likewise.
35845 * mmap/i386/pc/mmap.c: Likewise.
35846 * mmap/i386/mmap.c: Likewise.
35847 * mmap/i386/uppermem.c: Likewise.
35848 * mmap/mmap.c: Likewise.
35849 * commands/acpi.c: Likewise.
35850 * commands/echo.c: Likewise.
35851 * commands/blocklist.c: Likewise.
35852 * commands/loadenv.c: Likewise.
35853 * commands/usbtest.c: Likewise.
35854 * commands/boot.c: Likewise.
35855 * commands/parttool.c: Likewise.
35856 * commands/search.c: Likewise.
35857 * commands/cat.c: Likewise.
35858 * commands/i386/pc/play.c: Likewise.
35859 * commands/i386/pc/drivemap.c: Likewise.
35860 * commands/i386/pc/vbeinfo.c: Likewise.
35861 * commands/i386/pc/acpi.c: Likewise.
35862 * commands/i386/pc/vbetest.c: Likewise.
35863 * commands/ls.c: Likewise.
35864 * commands/cmp.c: Likewise.
35865 * commands/test.c: Likewise.
35866 * commands/efi/acpi.c: Likewise.
35867 * commands/gptsync.c: Likewise.
35868 * commands/help.c: Likewise.
35869 * partmap/amiga.c: Likewise.
35870 * partmap/apple.c: Likewise.
35871 * partmap/acorn.c: Likewise.
35872 * partmap/pc.c: Likewise.
35873 * partmap/sun.c: Likewise.
35874 * partmap/gpt.c: Likewise.
35875 * script/sh/lexer.c: Likewise.
35876 * script/sh/function.c: Likewise.
35877 * font/font.c: Likewise.
35878 * font/font_cmd.c: Likewise.
35879 * loader/powerpc/ieee1275/linux.c: Likewise.
35880 * loader/efi/chainloader.c: Likewise.
35881 * loader/multiboot_loader.c: Likewise.
35882 * loader/macho.c: Likewise.
35883 * loader/i386/multiboot.c: Likewise.
35884 * loader/i386/linux.c: Likewise.
35885 * loader/i386/pc/linux.c: Likewise.
35886 * loader/i386/pc/multiboot2.c: Likewise.
35887 * loader/i386/pc/chainloader.c: Likewise.
35888 * loader/i386/pc/xnu.c: Likewise.
35889 * loader/i386/bsd_trampoline.S: Likewise.
35890 * loader/i386/efi/linux.c: Likewise.
35891 * loader/i386/multiboot_elfxx.c: Likewise.
35892 * loader/i386/bsd_helper.S: Likewise.
35893 * loader/i386/bsd.c: Likewise.
35894 * loader/i386/linux_trampoline.S: Likewise.
35895 * loader/i386/xnu_helper.S: Likewise.
35896 * loader/i386/xnu.c: Likewise.
35897 * loader/i386/bsd_pagetable.c: Likewise.
35898 * loader/i386/multiboot_helper.S: Likewise.
35899 * loader/xnu.c: Likewise.
35900 * loader/xnu_resume.c: Likewise.
35901 * io/gzio.c: Likewise.
35902 * term/efi/console.c: Likewise.
35903 * term/terminfo.c: Likewise.
35904 * term/ieee1275/ofconsole.c: Likewise.
35905 * term/i386/pc/serial.c: Likewise.
35906 * term/i386/pc/vesafb.c: Likewise.
35907 * term/i386/pc/vga.c: Likewise.
35908 * term/usb_keyboard.c: Likewise.
35909 * term/gfxterm.c: Likewise.
35910 * aclocal.m4: Likewise.
35911 * util/lvm.c: Likewise.
35912 * util/grub.d/30_os-prober.in: Likewise.
35913 * util/grub.d/10_hurd.in: Likewise.
35914 * util/console.c: Likewise.
35915 * util/grub-macho2img.c: Likewise.
35916 * util/grub-probe.c: Likewise.
35917 * util/hostfs.c: Likewise.
35918 * util/i386/pc/grub-mkimage.c: Likewise.
35919 * util/i386/pc/grub-setup.c: Likewise.
35920 * util/i386/efi/grub-mkimage.c: Likewise.
35921 * util/grub-mkconfig.in: Likewise.
35922 * util/raid.c: Likewise.
35923 * util/resolve.c: Likewise.
35924 * util/grub-mkdevicemap.c: Likewise.
35925 * util/grub-emu.c: Likewise.
35926 * util/getroot.c: Likewise.
35927 * util/hostdisk.c: Likewise.
35928 * util/usb.c: Likewise.
35929 * util/grub-editenv.c: Likewise.
35930 * util/misc.c: Likewise.
35931
d2d49665 359322009-06-10 Felix Zielcke <fzielcke@z-51.de>
35933
35934 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35935 `genparttoollist.sh'.
35936 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35937 Add `*.sh' to the list find searches for and change `mdate.sh'
35938 to `mdate-sh'.
35939
fe052e37 359402009-06-10 Pavel Roskin <proski@gnu.org>
35941
2763ac18 35942 * include/grub/multiboot2.h: Provide compatibility defines for
35943 multiboot2.h.
35944 * include/multiboot2.h: Include stdint.h only if needed, using
35945 angle brackets.
35946 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35947 grub/multiboot2.h.
35948 * loader/ieee1275/multiboot2.c: Likewise.
35949 * loader/multiboot2.c: Likewise.
35950 * loader/multiboot_loader.c: Likewise.
35951
437e6adc 35952 * configure.ac: Use -nostdlib when probing for the target. It
35953 should not be required to have libc for the target.
35954
06a6836c 35955 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35956 they fail without libc headers for the target.
35957 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35958 exports.
35959 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35960 preprocessor conditionals.
35961
fe052e37 35962 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35963 build system doesn't need to be aware of the tar.c internals.
35964
afd22553 359652009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35966
afd22553 35967 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35968
6b787c4f 359692009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35970
35971 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35972 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35973
359742009-06-09 Felix Zielcke <fzielcke@z-51.de>
35975
35976 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35977 aren't available if ata.mod gets used.
6b787c4f 35978
473d1e45 359792009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35980
473d1e45 35981 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35982 initialising controller.
473d1e45 35983 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35984
255a27d4 359852009-06-08 Felix Zielcke <fzielcke@z-51.de>
35986
35987 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35988 to choose between ata and biosdisk module on i386-pc.
35989
473d1e45 359902009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35991
d55842d8 35992 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35993 Subclass and Programming Interface fields in terms of the 3 byte
35994 Class Code register.
35995 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35996
fa5db0b1 35997 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35998 interface is OHCI. Add grub_dprintf for symmetry with
35999 bus/usb/uhci.c.
36000 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
36001 interface is UHCI. Add interf variable for programming
36002 interface. Print interface with class/subclass.
36003
c0947beb 36004 * bus/usb/ohci.c: Set interf with correct field.
36005
69da8877 36006 * bus/usb/uhci.c: Remove unneeded doubled lines.
36007 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
36008 Remove whitespace inside comment.
36009
9e172e30 360102009-06-08 Robert Millan <rmh.grub@aybabtu.com>
36011
36012 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
36013 as fallback an equivalent option without depth.
36014
de65ee2b 360152009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36016
36017 Not fail if unable to retrieve C/H/S on LBA disks
36018
473d1e45 36019 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 36020 if unable to retrieve C/H/S on LBA disks
36021
b57ea2c9 360222009-06-08 Pavel Roskin <proski@gnu.org>
36023
36024 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
36025 about aliasing.
36026
af361263 360272009-06-08 Felix Zielcke <fzielcke@z-51.de>
36028
36029 * Makefile.in (uninstall): Remove all $lib_DATA files.
36030
4c9ec6b3 360312009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
36032
36033 Bugfix: install on partitionless device
36034
36035 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36036 is a whole disk
36037
e76fc924 360382009-06-08 Felix Zielcke <fzielcke@z-51.de>
36039
36040 * Makefile.in (uninstall): Remove all $include_DATA files.
36041
ba5a0d05 360422009-06-08 Felix Zielcke <fzielcke@z-51.de>
36043
36044 * commands/true.c: New file. Implement the true and false commands.
36045 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36046 (true_mod_SOURCES): New variable.
36047 (true_mod_CFLAGS): Likewise.
36048 (true_mod_LDFLAGS): Likewise.
36049
c8048e32 360502009-06-05 Colin D Bennett <colin@gibibit.com>
36051
36052 Optimized font character lookup using binary search instead of linear
36053 search. Fonts now are required to have the character index ordered by
36054 code point.
36055
36056 * font/font.c (load_font_index): Verify that fonts have ordered
36057 character indices.
36058 (find_glyph): Use binary search instead of linear search to find a
36059 character in a font.
36060
408305be 360612009-06-05 Michael Scherer <misc@mandriva.org>
36062
36063 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36064 uses case sensitive btree.
36065 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36066 only for case insensitive filesystems.
36067
8ee1e0d9 360682009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36069
36070 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36071 * conf/common.rmk (search_mod_CFLAGS): likewise
36072
a9966eb1 360732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36074
473d1e45 36075 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 36076 compensate a compiler bug
36077
9e7100fb 360782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36079
473d1e45 36080 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 36081 instead of '\b'
473d1e45 36082
ede21d71 360832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36084
36085 Definitions for creating asm symbols with Apple's CC
36086
36087 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36088 [APPLE_CC] (VARIABLE): likewise
36089
9dbf7653 360902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36091
36092 Disable lnxboot.img when compiled
36093 with Apple's CC
36094
36095 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36096 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36097 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36098 [! APPLE_CC] (CODE_LENG): skip
36099 [! APPLE_CC] (setup_sects): likewise
36100 [! APPLE_CC]: skip filling
473d1e45 36101
e93cdc3d 361022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36103
36104 Address in trampolines based on 32-bit registers when compiled
36105 with Apple's CC
36106
473d1e45 36107 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 36108 for addresses
36109 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36110
6c688477 361112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36112
36113 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36114
36115 * kern/misc.c [APPLE_CC] (memcpy): new function
36116 [APPLE_CC] (memmove): likewise
36117 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 36118 (memcpy): define alias conditionally on !APPLE_CC
6c688477 36119 (memset): likewise
36120 (abort): likewise
36121 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36122 APPLE_CC are defined
36123 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36124 (grub_assert_fail): make prototype conditional
36125
e37ffc5c 361262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36127
36128 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36129
473d1e45 36130 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36131 grub-macho2img
e37ffc5c 36132 (CLEANFILES): add grub-macho2img
36133 (grub_macho2img_SOURCES): new variable
36134 * kern/i386/pc/startup.S (bss_start): new variable
36135 (bss_end): likewise
36136 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36137 * util/grub-macho2img.c: new file
36138
cf00df31 361392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36140
36141 Use objconv when compiling with Apple's CC
36142
36143 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36144 (efiemu64.o): likewise
36145 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36146 when compiling with Apple's CC
36147 (efiemu64_s.o): likewise
36148 * configure.ac: check for objconv when compiling with Apple's CC
36149 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 36150
d119a20c 361512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36152
36153 Define segment as well as section when compiling with
36154 Apple's CC
36155
36156 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36157 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36158 (efiemu_convert_pointer): likewise
36159 (efiemu_set_virtual_address_map): likewise
36160 (efiemu_convert_pointer): likewise
36161 (efiemu_getcrc32): likewise
36162 (init_crc32_table): likewise
36163 (reflect): likewise
36164 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36165 (GRUB_MOD_DEP): likewise
473d1e45 36166
c8600122 361672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36168
36169 Allow a compilation without -mcmodel=large
36170
36171 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36172 when compiled without -mcmodel=large
473d1e45 36173 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 36174 without -mcmodel=large
473d1e45 36175 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 36176 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 36177
e8df1d4e 361782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36179
36180 Remove nested functions in efiemu core
36181
36182 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 36183
cc6c3ac1 361842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36185
36186 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36187
36188 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36189 temporary storage
473d1e45 36190 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36191 using Apple's CC
cc6c3ac1 36192 (grub_cpu_is_tsc_supported): likewise
36193 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 36194
3e325901 361952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36196
36197 Absolute addressing through constant with Apple's cc
36198
36199 * kern/i386/pc/startup.S: Define necessary constants
36200 and address through it when using ABS with Apple's CC
36201 * boot/i386/pc/diskboot.S: likewise
36202 * boot/i386/pc/boot.S: likewise
36203 * boot/i386/pc/lnxboot.S: likewise
36204 * boot/i386/pc/cdboot.S: likewise
36205 * mmap/i386/pc/mmap_helper.S: likewise
36206 * commands/i386/pc/drivemap_int13h.S: likewise
36207
2b167a72 362082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36209
36210 Check if compiler is apple cc
36211
36212 * Makefile.in (ASFLAGS): new variable
36213 (TARGET_ASFLAGS): likewise
36214 (TARGET_MODULE_FORMAT): likewise
36215 (TARGET_APPLE_CC): likewise
36216 (OBJCONV): likewise
36217 (TARGET_IMG_CFLAGS): likewise
36218 (TARGET_CPPFLAGS): add includedir
36219 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36220 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36221 Check for linker script only if compiler isn't Apple's CC
36222 (TARGET_MODULE_FORMAT): set
36223 (TARGET_APPLE_CC): likewise
36224 (TARGET_ASFLAGS): likewise
36225 (ASFLAGS): likewise
36226 Check for objcopy only if compiler isn't Apple's CC
36227 Check for BSS symbol only if compiler isn't Apple's CC
36228 * genmk.rb: adapt nm options if we use Apple's utils
36229 * aclocal.m4 (grub_apple_cc): new test
36230 (grub_apple_target_cc): likewise
473d1e45 36231
fb14123e 362322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36233
36234 Simplify sed expressions and improve awk
36235
36236 * Makefile.in (install-local): simplify sed expression
36237 * gencmdlist.sh: likewise
36238 * genmoddep.awk: avoid adding module as a dependency of itself
36239
5b889789 362402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36241
36242 Add missing start symbols
36243
36244 * boot/i386/pc/boot.S: add start
fb14123e 36245 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36246
fd2bf2e3 362472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36248
36249 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36250
36251 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36252 (relocate_addresses): consider both r_addend and value at offset
36253 (make_mods_section): zerofill modinfo and header
36254 (convert_elf): write prefix here
473d1e45 36255
5389763d 362562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36257
36258 Use .asciz instead of .string
36259
36260 * i386/pc/diskboot.S: use .asciz instead of .string
36261 * i386/pc/boot.S: likewise
36262 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36263 (GRUB_MOD_NAME): likewise
473d1e45 36264
3eb5ed4e 362652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36266
36267 gfxpayload support
36268
36269 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36270 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36271 (grub_video_setup): remove
36272 (grub_video_set_mode): new prototype
36273 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36274 (vid_mode): remove
36275 (linux_vesafb_res): compile only on PCBIOS
36276 (grub_linux_boot): support gfxpayload
36277 * loader/i386/pc/xnu.c (video_hook): new function
36278 (grub_xnu_set_video): support gfxpayload
36279 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36280 (DEFAULT_VIDEO_HEIGHT): likewise
36281 (DEFAULT_VIDEO_FLAGS): likewise
36282 (DEFAULT_VIDEO_MODE): new definition
36283 (video_hook): new function
36284 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36285 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36286 loading xnu
36287 * video/video.c (grub_video_setup): removed
473d1e45 36288 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36289 grub_video_setup
36290
4b0e1143 362912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36292
36293 Avoid calling biosdisk in drivemap
36294
36295 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36296 (revparse_biosdisk): likewise
36297 (list_mappings): derive name from id directly
36298 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36299
fda6cb98 363002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36301
36302 Script fixes
36303
36304 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36305 (grub_lexer_param): add tokenonhold
36306 (grub_script_create_cmdline): remove cmdline. All callers updated
36307 (grub_script_function_create): make functionname
36308 grub_script_arg. All callers updated
36309 (grub_script_execute_argument_to_string): new prototype
36310 * kern/parser.c (state_transitions): reorder
36311 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36312 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36313 make global
36314 (grub_script_execute_cmdline): use new format
36315 * script/sh/function.c (grub_script_function_create): make functionname
36316 grub_script_arg. All callers updated
473d1e45 36317 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36318 (grub_script_yylex): remove
36319 (grub_script_yylex2): renamed to ...
36320 (grub_script_yylex): ...renamed
36321 parse the expressions like a${b}c
36322 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36323 (GRUB_PARSER_TOKEN_VAR): remove
36324 (GRUB_PARSER_TOKEN_NAME): likewise
36325 ("if"): declare as typeless
36326 ("while"): likewise
36327 ("function"): likewise
36328 ("else"): likewise
36329 ("then"): likewise
36330 ("fi"): likewise
36331 (text): remove
36332 (argument): likewise
36333 (script): accept empty scripts and make exit on error
36334 (arguments): use GRUB_PARSER_TOKEN_ARG
36335 (function): likewise
36336 (command): move error handling to script
36337 (menuentry): move grub_script_lexer_ref before
473d1e45 36338 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36339 argument. All callers updated
36340
f4448a07 363412009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36342
36343 Prevent GRUB from probing floppies during boot.
36344
36345 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36346 * commands/search.c (options): Add --no-floppy.
36347 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36348 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36349 --no-floppy when searching for UUIDs.
36350
2bf5885a 363512009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36352
36353 Simplify the code duplication in commands/search.c.
36354
36355 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36356 (search_fs): ... this. Update all users.
36357
f6fd460a 363582009-06-03 Felix Zielcke <fzielcke@z-51.de>
36359
36360 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36361
cbb3c83e 363622009-05-28 Pavel Roskin <proski@gnu.org>
36363
57788cfd 36364 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36365 Remove the original symlink explicitly.
36366
cbb3c83e 36367 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36368 just one slash. That's how grub_fshelp_find_file() does it.
36369
cd0d5e30 363702009-05-26 Pavel Roskin <proski@gnu.org>
36371
f0f8bbe2 36372 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36373 to `str'.
36374
cd0d5e30 36375 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36376 possibly unused.
36377
8c2cab51 363782009-05-25 Christian Franke <franke@computer.org>
36379
36380 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36381 register.
36382 (grub_atapi_identify): Add wait after drive select.
36383 (grub_ata_identify): Do more strict status register check before
36384 calling grub_atapi_identify (). Suppress error message if status
36385 register is 0x00 after command failure. Add status register
36386 check after PIO read to avoid bogus identify due to stuck DRQ.
36387 Thanks to Pavel Roskin for testing.
36388 (grub_device_initialize): Remove unsafe status register check.
36389 Thanks to 'phcoder' for problem report and patch.
36390 Prevent sign extension in debug message.
36391
230c0ad6 363922009-05-23 Colin D Bennett <colin@gibibit.com>
36393
36394 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36395 definition file, and functions defined in `normal/menu.c' have had
36396 their prototypes moved to `include/grub/menu.h' for consistency.
36397
36398 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36399 from normal.h.
36400 (grub_menu_get_entry): Likewise.
36401 (grub_menu_get_timeout): Likewise.
36402 (grub_menu_set_timeout): Likewise.
36403 (grub_menu_execute_entry): Likewise.
36404 (grub_menu_execute_with_fallback): Likewise.
36405 (grub_menu_entry_run): Likewise.
36406
36407 * include/grub/normal.h: Re-ordered and grouped function
36408 prototypes by file that the function is defined in.
36409 (grub_menu_execute_callback): Removed; moved to menu.h.
36410 (grub_menu_get_entry): Likewise.
36411 (grub_menu_get_timeout): Likewise.
36412 (grub_menu_set_timeout): Likewise.
36413 (grub_menu_execute_entry): Likewise.
36414 (grub_menu_execute_with_fallback): Likewise.
36415 (grub_menu_entry_run): Likewise.
36416 (grub_menu_addentry): Renamed from this ...
36417 (grub_normal_add_menu_entry): ... to this.
36418
36419 * normal/main.c (grub_menu_addentry): Renamed from this ...
36420 (grub_normal_add_menu_entry): ... to this.
36421
36422 * script/sh/execute.c (grub_script_execute_menuentry): Update
36423 reference to renamed grub_menu_addentry function.
36424
861f03a5 364252009-05-23 Felix Zielcke <fzielcke@z-51.de>
36426
36427 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36428
96b1619a 364292009-05-22 Pavel Roskin <proski@gnu.org>
36430
bf6a5fb2 36431 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36432 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36433 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36434 compiling for the i386 targets, but not for the utilities.
36435
96b1619a 36436 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36437 to grub_uint8_t.
36438 (grub_root_drive): Likewise.
36439 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36440 remove alignment.
36441 (grub_root_drive): Change size to byte.
36442 (grub_start_addr): Remove.
36443 (grub_end_addr): Likewise.
36444 (grub_apm_bios_info): Likewise.
36445
b729776b 364462009-05-21 Felix Zielcke <fzielcke@z-51.de>
36447
36448 * normal/i386: Remove.
36449 * normal/powerpc: Likewise.
36450 * normal/sparc64: Likewise.
36451 * normal/x86_64: Likewise.
36452
0a15ce80 364532009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36454
36455 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36456 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36457 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36458
33db9015 364592009-05-18 Colin D Bennett <colin@gibibit.com>
36460
d6da58e6 36461 Display error messages when parsing a Lua statement fails.
36462 Previously, executing a syntactically invalid statement like
36463 ")foo" or "bar;" would silently fail.
33db9015 36464
36465 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36466 (grub_lua_parse_line): Improved reporting of Lua parser and
36467 execution errors.
33db9015 36468
46422c89 364692009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36470
36471 Remove -Werror which causes build to fail on some systems
36472
36473 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36474 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36475 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36476
22f53a96 364772009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36478
36479 trampoline for linux on 64-bit platform
36480
18f547ad 36481 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36482 loader/i386/efi/linux_trampoline.S
36483 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36484 declaration
d6da58e6 36485 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36486 here
22f53a96 36487 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36488 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36489 trampoline
22f53a96 36490 (jumpvector): removed
36491 (grub_linux_trampoline_start): new declaration
36492 (grub_linux_trampoline_end): likewise
36493 (grub_linux_boot): use trampoline when on 64-bit platform
36494 * loader/i386/linux.c: likewise
36495
cb5a0f40 364962009-05-16 Pavel Roskin <proski@gnu.org>
36497
36498 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36499 const to avoid a warning.
36500 (grub_lua_setenv): Likewise.
36501 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36502 lmsg to fix a warning.
36503
334f2c28 365042009-05-16 Felix Zielcke <fzielcke@z-51.de>
36505
36506 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36507 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36508 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36509 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36510 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36511 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36512 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36513 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36514
59e5d3ec 365152009-05-16 Felix Zielcke <fzielcke@z-51.de>
36516
36517 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36518
9d87a1ba 365192009-05-16 Bean <bean123ch@gmail.com>
36520
36521 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36522 (lua_mod_SOURCES): New variable.
36523 (lua_mod_CFLAGS): Likewise.
36524 (lua_mod_LDFLAGS): Likewise.
36525
36526 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36527 (setjmp_mod_SOURCES): New variable.
36528 (setjmp_mod_CFLAGS): Likewise.
36529 (setjmp_LDFLAGS): Likewise.
36530
36531 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36532 (setjmp_mod_SOURCES): New variable.
36533 (setjmp_mod_CFLAGS): Likewise.
36534 (setjmp_LDFLAGS): Likewise.
36535
36536 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36537 (setjmp_mod_SOURCES): New variable.
36538 (setjmp_mod_CFLAGS): Likewise.
36539 (setjmp_LDFLAGS): Likewise.
36540
36541 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36542 (setjmp_mod_SOURCES): New variable.
36543 (setjmp_mod_CFLAGS): Likewise.
36544 (setjmp_LDFLAGS): Likewise.
36545
36546 * normal/i386/setjmp.S: Moved from here ...
36547 * lib/i386/setjmp.S: ... Moved here
36548 * normal/x86_64/setjmp.S: Moved from here ...
36549 * lib/x86_64/setjmp.S: ... Moved here
36550 * normal/powerpc/setjmp.S: Moved from here ...
36551 * lib/powerpc/setjmp.S: ... Moved here
36552 * normal/sparc64/setjmp.S: Moved from here ...
36553 * lib/sparc64/setjmp.S: ... Moved here
36554
36555 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36556 returns_twice in mingw.
36557
36558 * script/lua/grub_lib.c: New file.
36559 * script/lua/grub_lib.h: Likewise.
36560 * script/lua/grub_lua.h: Likewise.
36561 * script/lua/grub_main.c: Likewise.
36562 * script/lua/lapi.c: Likewise.
36563 * script/lua/lapi.h: Likewise.
36564 * script/lua/lauxlib.c: Likewise.
36565 * script/lua/lauxlib.h: Likewise.
36566 * script/lua/lbaselib.c: Likewise.
36567 * script/lua/lcode.c: Likewise.
36568 * script/lua/lcode.h: Likewise.
36569 * script/lua/ldblib.c: Likewise.
36570 * script/lua/ldebug.c: Likewise.
36571 * script/lua/ldebug.h: Likewise.
36572 * script/lua/ldo.c: Likewise.
36573 * script/lua/ldo.h: Likewise.
36574 * script/lua/ldump.c: Likewise.
36575 * script/lua/lfunc.c: Likewise.
36576 * script/lua/lfunc.h: Likewise.
36577 * script/lua/lgc.c: Likewise.
36578 * script/lua/lgc.h: Likewise.
36579 * script/lua/linit.c: Likewise.
36580 * script/lua/liolib.c: Likewise.
36581 * script/lua/llex.c: Likewise.
36582 * script/lua/llex.h: Likewise.
36583 * script/lua/llimits.h: Likewise.
36584 * script/lua/lmathlib.c: Likewise.
36585 * script/lua/lmem.c: Likewise.
36586 * script/lua/lmem.h: Likewise.
36587 * script/lua/loadlib.c: Likewise.
36588 * script/lua/lobject.c: Likewise.
36589 * script/lua/lobject.h: Likewise.
36590 * script/lua/lopcodes.c: Likewise.
36591 * script/lua/lopcodes.h: Likewise.
36592 * script/lua/loslib.c: Likewise.
36593 * script/lua/lparser.c: Likewise.
36594 * script/lua/lparser.h: Likewise.
36595 * script/lua/lstate.c: Likewise.
36596 * script/lua/lstate.h: Likewise.
36597 * script/lua/lstring.c: Likewise.
36598 * script/lua/lstring.h: Likewise.
36599 * script/lua/lstrlib.c: Likewise.
36600 * script/lua/ltable.c: Likewise.
36601 * script/lua/ltable.h: Likewise.
36602 * script/lua/ltablib.c: Likewise.
36603 * script/lua/ltm.c: Likewise.
36604 * script/lua/ltm.h: Likewise.
36605 * script/lua/lua.h: Likewise.
36606 * script/lua/luaconf.h: Likewise.
36607 * script/lua/lualib.h: Likewise.
36608 * script/lua/lundump.c: Likewise.
36609 * script/lua/lundump.h: Likewise.
36610 * script/lua/lvm.c: Likewise.
36611 * script/lua/lvm.h: Likewise.
36612 * script/lua/lzio.c: Likewise.
36613 * script/lua/lzio.h: Likewise.
36614
5e898c9d 366152009-05-16 Bean <bean123ch@gmail.com>
36616
36617 * include/grub/kernel.h (grub_module_header_types): Add type
36618 OBJ_TYPE_CONFIG.
36619
36620 * kern/main.c (grub_load_config): New function.
36621 (grub_main): Call grub_load_config to read boot config.
36622
36623 * grub-mkimage (generate_image): New parameter config_path.
36624 (options): New option --config.
36625 (main): Parse --config option, and pass it to generate_image.
36626
cf353a47 366272009-05-14 Christian Franke <franke@computer.org>
36628
36629 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36630 This fixes build on Cygwin.
36631
3834887f 366322009-05-14 Pavel Roskin <proski@gnu.org>
36633
36634 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36635 jump. This saves two bytes, so the typical case of 2 swapped
36636 drives would fit 32 bytes.
36637
8090fc01 366382009-05-13 Pavel Roskin <proski@gnu.org>
36639
ac963883 36640 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36641 grub_uint32_t to avoid a warning.
36642
8090fc01 36643 * loader/i386/linux.c (allocate_pages): When assigning
36644 real_mode_mem, cast through grub_size_t to fix a warning. The
36645 code already makes sure that the value would fit a pointer.
36646 (grub_linux_setup_video): Cast render_target->data to
36647 grub_size_t to fix a warning.
36648
18f547ad 366492009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36650
36651 * commands/i386/pc/drivemap.c: New file - implement drivemap
36652 command.
36653 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36654 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36655
6f6a8b28 366562009-05-13 Pavel Roskin <proski@gnu.org>
36657
36658 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36659 embedding_area_exists.
36660
15fbf4c4 366612009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36662
36663 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36664 it easier to understand / work with.
59978c8a 36665 Improve warning messages for cases where there's no embedding area,
36666 or when it is too small (or core.img too large).
15fbf4c4 36667
238e871f 366682009-05-13 Pavel Roskin <proski@gnu.org>
36669
0ab3a9a4 36670 * loader/i386/pc/multiboot2.c: Add necessary includes for
36671 grub_multiboot2_real_boot().
36672
a2c8c5f8 36673 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36674 PX record is always little-endian. We only need the lower 2
36675 bytes of the mode.
36676
faec96af 36677 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36678 facilitate code reuse.
36679 (grub_cpio_mount): Use "struct head", not a char buffer. This
36680 fixes a warning reported by gcc 4.4.
36681
238e871f 36682 * kernel/disk.c (grub_disk_read): Use void pointer for the
36683 buffer.
36684 (grub_disk_write): Use const void pointer for the buffer.
36685 Adjust all callers. Remove unnecessary casts.
36686
901d2f0c 366872009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36688
36689 * util/i386/pc/grub-install.in: Update copyright year.
36690
18f547ad 366912009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36692
36693 gptsync
36694
36695 * commands/gptsync.c: new file
36696 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36697 (gptsync_mod_SOURCES): new variable
36698 (gptsync_mod_CFLAGS): likewise
36699 (gptsync_mod_LDFLAGS): likewise
18f547ad 36700 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36701 new definition
36702 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36703 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36704 * conf/i386-ieee1275.rmk: likewise
36705 * conf/i386-pc.rmk: likewise
36706 * conf/powerpc-ieee1275.rmk: likewise
36707
b4ba690a 367082009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36709
36710 Fixed grub-emu
36711
36712 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36713 (grub_dl_ref): likewise
36714
317e1a44 367152009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36716
36717 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36718 split in two functions (one for msdos and one for gpt).
36719
041b8094 367202009-05-08 Pavel Roskin <proski@gnu.org>
36721
752473c2 36722 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36723 not modified.
36724
041b8094 36725 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36726 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36727 Initialize them with -1. Add sanity check for bad1. Eliminate
36728 nerr variable.
36729
172800ce 367302009-05-08 David S. Miller <davem@davemloft.net>
36731
36732 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36733
29aa5e81 367342009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36735
36736 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36737 existence.
29aa5e81 36738
96613b62 367392009-05-05 Felix Zielcke <fzielcke@z-51.de>
36740
36741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36742 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36743
eef73c8a 367442009-05-05 David S. Miller <davem@davemloft.net>
36745
36746 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36747
119494b5 367482009-05-05 Pavel Roskin <proski@gnu.org>
36749
36750 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36751 of grub_dl_ref() and grub_dl_unref().
36752 * commands/parttool.c: Remove preprocessor conditionals around
36753 grub_dl_ref() and grub_dl_unref().
36754 * fs/affs.c: Likewise.
36755 * fs/afs.c: Likewise.
36756 * fs/cpio.c: Likewise.
36757 * fs/ext2.c: Likewise.
36758 * fs/fat.c: Likewise.
36759 * fs/hfs.c: Likewise.
36760 * fs/hfsplus.c: Likewise.
36761 * fs/iso9660.c: Likewise.
36762 * fs/jfs.c: Likewise.
36763 * fs/minix.c: Likewise.
36764 * fs/ntfs.c: Likewise.
36765 * fs/reiserfs.c: Likewise.
36766 * fs/sfs.c: Likewise.
36767 * fs/udf.c: Likewise.
36768 * fs/ufs.c: Likewise.
36769 * fs/xfs.c: Likewise.
36770 * include/grub/dl.h: Likewise.
36771 * loader/xnu.c: Likewise.
36772
de5fd76e 367732009-05-04 Pavel Roskin <proski@gnu.org>
36774
36775 * commands/acpi.c: Remove unused variable my_mod.
36776 * partmap/amiga.c: Likewise.
36777 * partmap/apple.c: Likewise.
36778 * partmap/gpt.c: Likewise.
36779 * partmap/pc.c: Likewise.
36780 * partmap/sun.c: Likewise.
36781 * term/gfxterm.c: Likewise.
36782 * term/i386/pc/vesafb.c: Likewise.
36783 * term/i386/pc/vga.c: Likewise.
36784
983598ad 367852009-05-04 David S. Miller <davem@davemloft.net>
36786
36787 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36788 pointer args to grub_ieee1275_get_property().
36789
8aadec43 36790 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36791
9554b15e 36792 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36793 devices, and do not traverse down under controller nodes.
36794
67e23c90 36795 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36796 (grub_ofdisk_open): Use it to un-escape "," characters.
36797 * kern/disk.c (find_part_sep): New.
36798 (grub_disk_open): Use it to find the first non-escaped ','
36799 character in the disk name.
36800 * util/ieee1275/devicemap.c (escape_of_path): New.
36801 (grub_util_emit_devicemap_entry): Use it.
36802 * util/sparc64/ieee1275/grub-install.in: Update script to
36803 strip partition specifiers properly by not triggering on
36804 '\' escaped ',' characters.
36805
74bfdd2f 368062009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36807
36808 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36809 to 0x300.
36810 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36811 resolutions.
36812 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36813 on documentation from Wikipedia).
36814
4241d2b1 368152009-05-04 Pavel Roskin <proski@gnu.org>
36816
36817 * disk/ata.c: Spelling fixes.
36818 * disk/raid.c: Likewise.
36819 * disk/usbms.c: Likewise.
36820 * disk/dmraid_nvidia.c: Likewise.
36821 * kern/ieee1275/openfw.c: Likewise.
36822 * kern/ieee1275/init.c: Likewise.
36823 * kern/ieee1275/cmain.c: Likewise.
36824 * boot/i386/pc/cdboot.S: Likewise.
36825 * video/readers/png.c: Likewise.
36826 * video/i386/pc/vbe.c: Likewise.
36827 * fs/udf.c: Likewise.
36828 * fs/hfs.c: Likewise.
36829 * fs/reiserfs.c: Likewise.
36830 * efiemu/runtime/efiemu.c: Likewise.
36831 * efiemu/main.c: Likewise.
36832 * efiemu/mm.c: Likewise.
36833 * include/grub/elf.h: Likewise.
36834 * include/grub/xnu.h: Likewise.
36835 * include/grub/usbdesc.h: Likewise.
36836 * include/grub/usb.h: Likewise.
36837 * include/grub/script_sh.h: Likewise.
36838 * include/grub/lib/LzmaEnc.h: Likewise.
36839 * include/grub/efiemu/efiemu.h: Likewise.
36840 * include/grub/command.h: Likewise.
36841 * normal/menu.c: Likewise.
36842 * normal/main.c: Likewise.
36843 * normal/datetime.c: Likewise.
36844 * bus/usb/uhci.c: Likewise.
36845 * mmap/i386/uppermem.c: Likewise.
36846 * mmap/mmap.c: Likewise.
36847 * commands/acpi.c: Likewise.
36848 * commands/test.c: Likewise.
36849 * partmap/apple.c: Likewise.
36850 * font/font.c: Likewise.
36851 * loader/sparc64/ieee1275/linux.c: Likewise.
36852 * loader/macho.c: Likewise.
36853 * loader/i386/bsd_trampoline.S: Likewise.
36854 * loader/i386/bsd.c: Likewise.
36855 * loader/xnu.c: Likewise.
36856 * term/i386/pc/vesafb.c: Likewise.
36857 * term/usb_keyboard.c: Likewise.
36858 * util/resolve.c: Likewise.
36859 * util/getroot.c: Likewise.
36860
0cfc0083 368612009-05-04 Felix Zielcke <fzielcke@z-51.de>
36862
36863 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36864
7c1d00cd 368652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36866
36867 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36868 build error.
36869
b01f0548 368702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36871
36872 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36873 parameter only available on BIOS.
36874
ecc3eb22 368752009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36876
36877 Removed wrong semicolon in declaration
36878
36879 * grub/misc.h (grub_dprintf): remove semicolon
36880
112972a9 368812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36882
36883 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36884 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36885 is done by grub_cmd_linux() now).
36886 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36887 restore video to text mode.
36888 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36889 indicates lack of "vga=" parameter. "vga=0" is mapped to
36890 `GRUB_LINUX_VID_MODE_NORMAL'.
36891
afd5c115 368922009-05-04 Felix Zielcke <fzielcke@z-51.de>
36893
36894 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36895 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36896 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36897 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36898 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36899 `grub_script.tab.c'.
36900
36901 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36902 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36904 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36906
faa517ce 36907 * Makefile.in: Remove duplicated 2008 in Copyright line.
36908
ae0c0bdc 369092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36910
473d1e45 36911 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36912 unconditionally.
36913 * include/grub/util/misc.h (grub_util_warn): New declaration.
36914
36915 * util/i386/pc/grub-install.in: Understand --force and pass it down
36916 to grub-setup.
36917
36918 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36919 down to setup().
36920 (setup): Improve error messages and add warnings when requested to
36921 install in odd layouts. Refuse to install using blocklists unless
36922 --force was set.
36923
18f547ad 369242009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36925
36926 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36927
6d260daa 369282009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36929
36930 Updated copyright year
36931
36932 * fs/hfsplus.c: updated copyright year
18f547ad 36933
69f853f8 369342009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36935
36936 HFS+ UUID
36937
18f547ad 36938 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36939 in the space previously used by unused3
36940 (grub_hfsplus_uuid): new function
36941 (grub_hfsplus_fs): added uuid field
36942
4c402e73 369432009-05-03 Pavel Roskin <proski@gnu.org>
36944
36945 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36946 suppress warnings. It's no longer needed.
36947 * disk/host.c: Likewise.
36948 * disk/ata_pthru.c: Likewise.
36949 * disk/loopback.c: Likewise.
36950 * hook/datehook.c: Likewise.
36951 * parttool/pcpart.c: Likewise.
36952 * fs/i386/pc/pxe.c: Likewise.
36953 * fs/ntfscomp.c: Likewise.
36954 * efiemu/main.c: Likewise.
36955 * mmap/mmap.c: Likewise.
36956 * commands/crc.c: Likewise.
36957 * commands/hexdump.c: Likewise.
36958 * commands/hdparm.c: Likewise.
36959 * commands/acpi.c: Likewise.
36960 * commands/echo.c: Likewise.
36961 * commands/minicmd.c: Likewise.
36962 * commands/blocklist.c: Likewise.
36963 * commands/memrw.c: Likewise.
36964 * commands/loadenv.c: Likewise.
36965 * commands/usbtest.c: Likewise.
36966 * commands/lsmmap.c: Likewise.
36967 * commands/boot.c: Likewise.
36968 * commands/parttool.c: Likewise.
36969 * commands/configfile.c: Likewise.
36970 * commands/search.c: Likewise.
36971 * commands/ieee1275/suspend.c: Likewise.
36972 * commands/cat.c: Likewise.
36973 * commands/i386/pc/pxecmd.c: Likewise.
36974 * commands/i386/pc/play.c: Likewise.
36975 * commands/i386/pc/halt.c: Likewise.
36976 * commands/i386/pc/vbeinfo.c: Likewise.
36977 * commands/i386/pc/vbetest.c: Likewise.
36978 * commands/lspci.c: Likewise.
36979 * commands/date.c: Likewise.
36980 * commands/handler.c: Likewise.
36981 * commands/ls.c: Likewise.
36982 * commands/test.c: Likewise.
36983 * commands/cmp.c: Likewise.
36984 * commands/efi/loadbios.c: Likewise.
36985 * commands/efi/fixvideo.c: Likewise.
36986 * commands/halt.c: Likewise.
36987 * commands/help.c: Likewise.
36988 * commands/reboot.c: Likewise.
36989 * hello/hello.c: Likewise.
36990 * script/sh/main.c: Likewise.
36991 * loader/xnu.c: Likewise.
36992 * term/terminfo.c: Likewise.
36993 * term/i386/pc/serial.c: Likewise.
36994 * term/usb_keyboard.c: Likewise.
36995
515b5079 369962009-05-03 David S. Miller <davem@davemloft.net>
36997
36998 * normal/menu.c: Include grub/parser.h
36999
dfc31a22 370002009-05-03 Pavel Roskin <proski@gnu.org>
37001
2fee74f1 37002 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
37003 not char*.
37004 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
37005 Suggested by Javier Martín <lordhabbit@gmail.com>
37006
dfc31a22 37007 * util/i386/pc/grub-mkrescue.in: Allow for the case when
37008 efiemu??.o doesn't exist.
37009 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
37010 copying.
37011
18f547ad 370122009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 37013
37014 FreeBSD 64-bit support
37015
18f547ad 37016 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 37017 and loader/i386/bsd_trampoline.S
37018 (bsd_mod_ASFLAGS): new variable
37019 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
37020 (FREEBSD_MODTYPE_KERNEL64): likewise
37021 (grub_bsd64_trampoline_start): likewise
37022 (grub_bsd64_trampoline_end): likewise
37023 (grub_bsd64_trampoline_selfjump): likewise
37024 (grub_bsd64_trampoline_gdt): likewise
37025 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
37026 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
37027 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
37028 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 37029 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 37030 of "attrib" member
37031 * loader/i386/bsd_pagetable.c: new file
37032 * loader/i386/bsd_trampoline.S: likewise
37033 * loader/i386/bsd.c (ALIGN_QWORD): new macro
37034 (ALIGN_VAR): likewise
37035 (entry_hi): new variable
37036 (kern_end_mdofs): likewise
37037 (is_64bit): likewise
37038 (grub_freebsd_add_meta): use ALIGN_VAR
37039 (grub_e820_mmap): new declaration
37040 (grub_freebsd_add_mmap): new function
37041 (grub_freebsd_add_meta_module): support 64 bit kernels
37042 (grub_freebsd_list_modules): use ALIGN_VAR
37043 (gdt_descriptor): new declaration
37044 (grub_freebsd_boot): support 64 bit kernels
37045 (grub_bsd_elf64_hook): new function
37046 (grub_bsd_load_elf): support elf64
37047
038c5720 370482009-05-03 Bean <bean123ch@gmail.com>
37049
37050 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37051 after we get the result of if statement.
37052
fc45fb58 370532009-05-03 Bean <bean123ch@gmail.com>
37054
37055 * Makefile.in (enable_efiemu): New variable.
37056
37057 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37058 set.
37059 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37060 path.
37061 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37062 path, add -mno-red-zone option.
37063 (efiemu64_s.o): Likewise.
37064 (efiemu64.o): Use macro $^ for source file.
37065
37066 * configure.ac (--enable-efiemu): New option.
37067
bbee0f2b 370682009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37069
37070 xnu support
37071
37072 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37073 (pkglib_MODULES): add xnu.mod
37074 (xnu_mod_SOURCES): new variable
37075 (xnu_mod_CFLAGS): likewise
37076 (xnu_mod_LDFLAGS): likewise
37077 (xnu_mod_ASFLAGS): likewise
37078 * conf/i386-pc.rmk: likewise
37079 * conf/x86_64-efi.rmk: likewise
7dd4a573 37080 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 37081 new declaration
37082 * include/grub/i386/macho.h: new file
37083 * include/grub/i386/xnu.h: likewise
37084 * include/grub/macho.h: likewise
37085 * include/grub/machoload.h: likewise
37086 * include/grub/x86_64/macho.h: likewise
37087 * include/grub/x86_64/xnu.h: likewise
37088 * include/grub/xnu.h: likewise
37089 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37090 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37091 * loader/i386/efi/xnu.c: new file
37092 * loader/i386/pc/xnu.c: likewise
37093 * loader/i386/xnu.c: likewise
37094 * loader/i386/xnu_helper.S: likewise
37095 * loader/macho.c: likewise
37096 * loader/xnu.c: likewise
37097 * loader/xnu_resume.c: likewise
37098 * util/grub-dumpdevtree: likewise
37099 * include/grub/i386/pit.h: include grub/err.h
37100 (grub_pit_wait): export
37101 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 37102
5caf964d 371032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37104
37105 Efiemu
7dd4a573 37106
5caf964d 37107 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 37108 _linux_efi, linux_efi.
37109 new files in grub-emu
5caf964d 37110 new targets efiemu32.o and efiemu64.o
37111 * loader/linux_normal_efiemu.c: likewise
37112 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 37113 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 37114 files to copy
37115 * include/grub/autoefi.h: new file
7dd4a573 37116 * include/grub/i386/efiemu.h: likewise
5caf964d 37117 * include/grub/i386/pc/efiemu.h: likewise
37118 * include/grub/efi/api.h: add LL suffix when necessary
37119 new definitions relating to tables
37120 * include/grub/efiemu/efiemu.h: new file
37121 * include/grub/efiemu/runtime.h: likewise
37122 * efiemu/prepare.c: likewise
37123 * efiemu/loadcore_common.c: likewise
37124 * efiemu/loadcore64.c: likewise
37125 * efiemu/runtime/efiemu.sh: likewise
37126 * efiemu/runtime/efiemu.S: likewise
37127 * efiemu/runtime/efiemu.c: likewise
37128 * efiemu/runtime/config.h: likewise
37129 * efiemu/prepare32.c: likewise
37130 * efiemu/main.c: likewise
37131 * efiemu/modules/pnvram.c: likewise
37132 * efiemu/modules/i386: likewise
37133 * efiemu/modules/i386/pc: likewise
37134 * efiemu/modules/acpi.c: likewise
37135 * efiemu/i386/pc/cfgtables.c: likewise
37136 * efiemu/i386/loadcore64.c: likewise
37137 * efiemu/i386/loadcore32.c: likewise
37138 * efiemu/prepare64.c: likewise
37139 * efiemu/loadcore.c: likewise
37140 * efiemu/symbols.c: likewise
37141 * efiemu/mm.c: likewise
37142 * efiemu/loadcore32.c: likewise
7dd4a573 37143
371442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 37145
37146 ACPI spoofing
37147
37148 * commands/acpi.c: new file
37149 * commands/i386/pc/acpi.c: likewise
37150 * commands/efi/acpi.c: likewise
37151 * include/grub/acpi.h: likewise
37152 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37153 (acpi_mod_SOURCES): new variable
37154 (acpi_mod_CFLAGS): likewise
37155 (acpi_mod_LDFLAGS): likewise
37156 * conf/i386-efi.rmk: likewise
37157 * conf/x86_64-efi.rmk: likewise
37158
7dd4a573 371592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 37160
37161 Missing part from mmap patch
37162
37163 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37164 (grub_mmap_unregister)
37165 (grub_mmap_free_and_unregister): use grub_mmap_register
37166
7dd4a573 371672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 37168
37169 Mmap services
37170
37171 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37172 * loader/i386/linux.c (find_mmap_size): likewise
37173 (allocate_pages): likewise
37174 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37175 (grub_fill_multiboot_mmap): likewise
37176 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37177 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37178 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37179 (OPENBSD_MMAP_RESERVED): likewise
37180 * include/grub/i386/pc/memory.h: include grub/memory.h
37181 (grub_lower_mem): removed
37182 (grub_upper_mem): likewise
37183 (GRUB_MACHINE_MEMORY_ACPI): new definition
37184 (GRUB_MACHINE_MEMORY_NVS): likewise
37185 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37186 (GRUB_MACHINE_MEMORY_HOLE): likewise
37187 (grub_machine_mmap_register): likewise
37188 (grub_machine_mmap_unregister): likewise
37189 (grub_machine_get_upper): likewise
37190 (grub_machine_get_lower): likewise
37191 (grub_machine_get_post64): likewise
37192 * include/grub/i386/efi/memory.h: new file
37193 * include/grub/x86_64/efi/memory.h: likewise
37194 * include/grub/efi/memory.h: likewise
37195 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37196 (mmap_mod_SOURCES): new variable
37197 (mmap_mod_LDFLAGS): likewise
37198 (mmap_mod_ASFLAGS): likewise
37199 * conf/i386-coreboot.rmk: likewise
37200 * conf/i386-ieee1275.rmk: likewise
37201 * conf/i386-efi.rmk: likewise
37202 * conf/x86_64-efi.rmk: likewise
37203 * include/grub/types.h (UINT_TO_PTR): new macro
37204 (PTR_TO_UINT32): likewise
37205 (PTR_TO_UINT64): likewise
37206 * include/grub/memory.h: new file
37207 * mmap/i386/pc/mmap.c: likewise
37208 * mmap/i386/pc/mmap_helper.S: likewise
37209 * mmap/i386/uppermem.c: likewise
37210 * mmap/mmap.c: likewise
37211 * mmap/efi/mmap.c: likewise
7dd4a573 37212 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37213 grub_upper_mem
37214 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37215 (grub_upper_mem): likewise
37216 (grub_machine_init): don't use grub_upper_mem,
37217 make grub_lower_mem local
37218 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37219 grub_mmap_iterate and grub_mmap_get_upper
37220 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37221
d558e6b5 372222009-05-02 Bean <bean123ch@gmail.com>
37223
37224 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37225 script/sh/parser.y.
37226 (pkglib_MODULES): Add normal.mod and sh.mod.
37227 (normal_SOURCES): New variable.
37228 (normal_mod_CFLAGS): Likewise.
37229 (normal_mod_LDFLAGS): Likewise.
37230 (sh_mod_SOURCES): Likewise.
37231 (sh_mod_CFLAGS): Likewise.
37232 (sh_mod_LDFLAGS): Likewise.
37233
37234 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37235 script/sh/lexer.c_DEPENDENCIES.
37236 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37237 kern/rescue_reader.c and kern/rescue_parser.c.
37238 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37239 (grub_emu_SOURCES): Change source files.
37240 (pkglib_MODULES): Remove normal.mod.
37241 (normal_SOURCES): Removed.
37242 (normal_mod_CFLAGS): Likewise.
37243 (normal_mod_LDFLAGS): Likewise.
37244 * conf/i386-coreboot.rmk: Likewise.
37245 * conf/i386-efi.rmk: Likewise.
37246 * conf/i386-ieee1276.rmk: Likewise.
37247 * conf/powerpc-ieee1275.rmk: Likewise.
37248 * conf/sparc64-ieee1275.rmk: Likewise.
37249 * conf/x86_64-efi.rmk: Likewise.
37250
37251 * include/grub/command.h (grub_command_execute): New inline function.
37252
37253 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37254
37255 * include/grub/normal.h: Remove <grub/setjmp.h>.
37256 (grub_fs_module_list): Moved to normal/autofs.c.
37257 (grub_exit_env): Removed.
37258 (grub_command_execute): Likewise.
37259 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37260 parameter script.
37261 (read_command_list): New function declaration.
37262 (read_fs_list): Likewise.
37263
37264 * include/parser.h: Include <grub/reader.h>.
37265 (grub_parser_split_cmdline): Change type of getline parameter.
37266 (grub_parser): New structure.
37267 (grub_parser_class): New variable.
37268 (grub_parser_execute): New function declaration.
37269 (grub_register_rescue_parser): Likewise.
37270 (grub_parser_register): New inline function.
37271 (grub_parser_unregister): Likewise.
37272 (grub_parser_get_current): Likewise.
37273 (grub_parser_set_current): Likewise.
37274
37275 * include/grub/reader.h: New file.
37276 * kern/reader.c: Likewise.
37277 * kern/rescue_parser.c: Likewise.
37278 * kern/rescue_reader.c: Likewise.
37279 * normal/autofs.c: Likewise.
37280 * normal/dyncmd.c: Likewise.
37281
37282 * include/grub/rescue.h: Removed.
37283 * normal/command.h: Likewise.
37284
37285 * include/grub/script.h: Moved to ...
37286 * include/grub/script_sh.h: ... Moved here.
37287 * normal/execute.c: Moved to ...
37288 * script/sh/execute.c: ... Moved here.
37289 * normal/function.c: Moved to ...
37290 * script/sh/function.c: ... Moved here.
37291 * normal/lexer.c: Moved to ...
37292 * script/sh/lexer.c: ... Moved here.
37293 * normal/parser.y: Moved to ...
37294 * script/sh/parser.y: ... Moved here.
37295 * normal/script.c: Moved to ...
37296 * script/sh/script.c: ... Moved here.
37297
37298 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37299 <grub/reader.h>.
37300 (grub_exit_env): Removed.
37301 (fs_module_list): Moved to normal/autofs.c.
37302 (grub_file_getline): Don't handle comment here.
37303 (free_menu): Skip removed field entry->commands.
37304 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37305 script parameter.
37306 (read_config_file): Removed nested parameter, change getline function.
37307 (grub_enter_normal_mode): Removed.
37308 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37309 (read_command_list): Likewise.
37310 (autoload_fs_module): Moved to normal/autofs.c.
37311 (read_fs_list): Likewise.
37312 (reader_nested): New variable.
37313 (grub_normal_execute): Run parser.sh to switch to sh parser.
37314 (grub_cmd_rescue): Removed.
37315 (cmd_normal): Removed.
37316 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37317 rescue command.
37318 (grub_cmdline_run): New function.
37319 (grub_normal_reader_init): Likewise.
37320 (grub_normal_read_line): Likewise.
37321 (grub_env_write_pager): Likewise.
37322 (cmdline): New variable.
37323 (grub_normal_reader): Likewise.
37324 (GRUB_MOD_INIT): Register normal reader and set as current, register
37325 pager hook, register normal command with grub_register_command_prio,
37326 so that it won't show up in command.lst.
37327 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37328 grub_fs_autoload_hook.
37329
37330 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37331 (grub_menu_execute_entry): Replace grub_script_execute with
37332 grub_parser_execute, change parameter to grub_command_execute.
37333
37334 * normal/menu_text.c: Remove <grub/script.h>.
37335
37336 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37337 and <grub/parser.h>.
37338 (run): Change editor_getline to use new parser interface. Change
37339 parameter to grub_command_execute.
37340
37341 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37342 <grub/reader.h> and <grub/parser.h>.
37343 (grub_load_normal_mode): Execute normal command.
37344 (grub_main): Call grub_register_core_commands,
37345 grub_register_rescue_parser and grub_register_rescue_reader, use
37346 grub_reader_loop to enter input loop.
37347
7dd4a573 37348 * kern/parser.c (grub_parser_split_cmdline): Change type of
37349 getline parameter.
d558e6b5 37350 (grub_parser_class): New variable.
37351 (grub_parser_execute): New function.
37352
37353 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37354 * loader/multiboot2.c: Likewise.
37355 * loader/sparc64/ieee1275/linux.c: Likewise.
37356
37357 * util/grub-emu.c (read_command_list): New dummy function.
37358
18db813d 373592009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37360
37361 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37362 count to 16 for CCISS and IDA.
37363
6c67de15 373642009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37365
37366 * normal/menu_text.c (grub_wait_after_message): Print a newline
37367 after waiting for user input.
37368
37369 * loader/i386/linux.c: Include `<grub/normal.h>'.
37370 (grub_cmd_linux): Improve the error message about `ask' mode, by
37371 waiting for user input so it's not missed (we can do this, since
37372 user requested interaction).
37373
d9dc87b0 373742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37375
37376 Added missing lst to grub-mkrescue
37377
37378 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37379 and ${input_dir}/parttool.lst
37380
ac8a2baa 373812009-04-30 David S. Miller <davem@davemloft.net>
37382
ad22a610 37383 * util/hostdisk.c (device_is_wholedisk): New function.
37384 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37385 zero only if device_is_wholedisk() returns true.
37386
6966215d 37387 * util/hostdisk.c (convert_system_partition_to_system_disk):
37388 Handle virtual disk devices named /dev/vdiskX as found on sparc
37389 and powerpc.
37390
ac8a2baa 37391 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37392 lettered partition specifier is found, convert to numbered.
37393
979b4fb4 373942009-04-29 David S. Miller <davem@davemloft.net>
37395
e2bf39b2 37396 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37397 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37398
3c64e104 37399 * normal/command.c: Add missing newline at end of file.
37400
979b4fb4 37401 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37402 warnings.
37403 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37404 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37405 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37406 ihandles have a 32-bit type but need to be stored in a "void *".
37407
136d9f82 374082009-04-28 Pavel Roskin <proski@gnu.org>
37409
9459c306 37410 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37411 not disk. Adjust all dependencies.
2e08a26a 37412 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37413 grub_disk_close().
37414
136d9f82 37415 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37416 parent's partition, don't copy it by reference, as it gets freed
37417 on close.
37418
7dd4a573 374192009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37420
37421 Preboot hooks support
37422
37423 * commands/boot.c (struct grub_preboot_t): new declaration
37424 (preboots_head): new variable
37425 (preboots_tail): likewise
37426 (grub_loader_register_preboot_hook): new function
37427 (grub_loader_unregister_preboot_hook): likewise
37428 (grub_loader_set): launch preboot hooks
37429 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37430 (grub_loader_register_preboot_hook): new declaration
37431 (grub_loader_unregister_preboot_hook): likewise
37432
5af922b5 374332009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37434
37435 Warning fix
37436
7dd4a573 37437 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37438 calling grub_dprintf
37439
a5562c30 374402009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37441
37442 Bug and warning fixes
37443
7dd4a573 37444 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37445 declaration
37446 * commands/test.c (test_parse): fixed bug with file tests and corrected
37447 declaration of find_file
37448
4006f85c 374492009-04-26 Pavel Roskin <proski@gnu.org>
37450
37451 * Makefile.in: Don't install empty manual pages if help2man is
37452 missing. Use help2man option for output, not shell redirection.
37453
5c77c3de 374542009-04-26 David S. Miller <davem@davemloft.net>
37455
37456 * util/grub-mkdevicemap.c (make_device_map): Add missing
37457 NESTED_FUNC_ATTR to process_device().
37458
033b10a8 374592009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37460
37461 Test command
37462
37463 * commands/test.c: rewritten to use bash-like test
37464
e4343593 374652009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37466
37467 Parttool autoloading and improvements
37468
7dd4a573 37469 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37470 (parttool.lst): new target
37471 * genmk.rb: generate parttool-*
37472 (CLEANFILES): add #{parttool}
37473 (PARTTOOLFILES): new variable
37474 * genparttoollist.sh: new file
7dd4a573 37475 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37476 (grub_pcpart_type): likewise
37477 * commands/parttool.c (helpmsg): new variable
37478 (grub_cmd_parttool): output help if not enough arguments are supplied
37479 autoload modules
37480 (GRUB_MOD_INIT(parttool)): use helpmsg
37481
0d312500 374822009-04-24 David S. Miller <davem@davemloft.net>
37483
7dd4a573 37484 Avoiding opening same device multiple times in device iterator.
0d312500 37485
37486 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37487 and use it to build a list of partitions in iterate_disk() and
0d312500 37488 iterate_partition().
37489
ac20caff 37490 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37491 on disk->data.
37492
0dcf7495 37493 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37494 grub_devalias_iterate() result instead of unconditional 0.
37495 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37496 Also, capture hook return value, either directly or via
37497 grub_children_iterate(), and propagate to caller.
37498 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37499 grub_children_iterate): Return value is now 'int' instead of
37500 'grub_err_t'.
37501 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37502 like a proper iterator, stopping when hooks return non-zero.
37503 (grub_devalias_iterate): Likewise.
37504
c8c08833 375052009-04-23 David S. Miller <davem@davemloft.net>
37506
37507 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37508
f01005a8 375092009-04-22 David S. Miller <davem@davemloft.net>
37510
37511 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37512 is larger than address_cells, use that value for address_cells too.
37513
4e8269da 37514 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37515 IEEE1275_MAX_PATH_LEN): Define.
37516 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37517 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37518 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37519 'devtype'. Explicitly NULL terminate devalias expansion.
37520
a1447506 37521 * util/sparc64/ieee1275/misc.c: New file.
37522 * util/sparc64/ieee1275/grub-setup.c: New file.
37523 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37524 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37525 * util/sparc64/ieee1275/grub-install.in: New file.
37526 * util/ieee1275/ofpath.c: New file.
37527 * util/ieee1275/devicemap.c: New file.
37528 * util/devicemap.c: New file.
37529 * util/deviceiter.c: New file.
37530 * kern/sparc64/ieee1275/init.c: New file.
37531 * include/grub/util/ofpath.h: New file.
37532 * include/grub/util/deviceiter.h: New file.
37533 * util/grub-mkdevicemap.c: Include deviceiter.h.
37534 Implement using grub_util_emit_devicemap_entry and
37535 grub_util_iterate_devices.
37536 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37537 util/devicemap.c into grub-mkdevicemap
37538 * conf/i386-efi.rmk: Likewise.
37539 * conf/i386-ieee1275.rmk: Likewise.
37540 * conf/i386-pc.rmk: Likewise.
37541 * conf/powerpc-ieee1275.rmk: Likewise.
37542 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37543 images and installation utilities. Build kernel as image
37544 instead of as elf binary. Use common rules as much as possible.
37545
7dd4a573 375462009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37547
37548 Correct GPT definition
37549
7dd4a573 37550 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37551 of "attrib" member
37552
c6c5219f 375532009-04-19 Felix Zielcke <fzielcke@z-51.de>
37554
37555 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37556
0552ff9f 375572009-04-19 David S. Miller <davem@davemloft.net>
37558
37559 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37560 (grub_rescue_cmd_linux): Rename to...
37561 (grub_cmd_linux): and fix prototype.
37562 (grub_rescue_cmd_initrd): Rename to...
37563 (grub_cmd_initrd): and fix prototype.
37564 (cmd_linux, cmd_initrd): New.
37565 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37566 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37567
d1a282fc 375682009-04-17 Pavel Roskin <proski@gnu.org>
37569
07c5039f 37570 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37571 format.
37572 (grub_ohci_transfer): Likewise.
37573
b012002d 37574 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37575
1bc09c35 37576 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37577 return without a value. Fix inconsistent indentation.
37578
e0ff9126 37579 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37580 match struct grub_fs.
37581
d1a282fc 37582 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37583 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37584 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37585 * commands/lspci.c (grub_lspci_iter): Likewise.
37586
a96df3f2 375872009-04-16 Bean <bean123ch@gmail.com>
37588
37589 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37590 value.
37591
41bb0fe9 375922009-04-15 Pavel Roskin <proski@gnu.org>
37593
37594 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37595 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37596 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37597 definitions.
37598
596c6970 375992009-04-15 Felix Zielcke <fzielcke@z-51.de>
37600
37601 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37602 that no multiple data or metadata areas are supported and `Unknown
596c6970 37603 metadata header'.
37604
7dd4a573 376052009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37606
37607 Move loader out of the kernel
37608
37609 * kern/loader.c: moved to ...
37610 * commands/boot.c: ... moved here
37611 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37612 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37613 * include/grub/kernel.h (grub_machine_fini): export
37614 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37615 (grub_loader_set): likewise
37616 (grub_loader_unset): likewise
37617 (grub_loader_boot): likewise
37618 * conf/common.rmk: new module boot.mod
37619 (pkglib_MODULES): add boot.mod
37620 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37621 (grub_emu_SOURCES): likewise
37622 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37623 (grub_emu_SOURCES): likewise
37624 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37625 (grub_emu_SOURCES): likewise
37626 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37627 (grub_emu_SOURCES): likewise
37628 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37629 (grub_emu_SOURCES): likewise
7dd4a573 37630 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37631 (grub_emu_SOURCES): likewise
0d5d5653 37632 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37633 (grub_emu_SOURCES): likewise
0d5d5653 37634
7dd4a573 376352009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37636
37637 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37638
5999d619 37639 * kern/misc.c (grub_itoa): Removed function
37640 (grub_ltoa): likewise
37641 (grub_vsprintf): use grub_lltoa
37642
7dd4a573 376432009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37644
37645 Restore grub-emu
37646
37647 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37648 * conf/i386-coreboot.rmk: likewise
37649 * conf/i386-ieee1275.rmk: likewise
37650 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37651
20318222 376522009-04-15 Felix Zielcke <fzielcke@z-51.de>
37653
37654 * INSTALL: Add that `./autogen.sh' needs to be run before
37655 `./configure.'.
37656
d05f0df3 376572009-04-14 Bean <bean123ch@gmail.com>
37658
37659 * Makefile.in (pkglib_DATA): Add handler.lst.
37660 (handler.lst): New rule.
37661
37662 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37663 * conf/i386-coreboot.rmk: Likewise.
37664 * conf/i386-ieee1275.rmk: Likewise.
37665 * conf/i386-efi.rmk: Likewise.
37666 * conf/x86_64-efi.rmk: Likewise.
37667 * conf/powerpc-ieee1275.rmk: Likewise.
37668 * conf/sparc64-ieee1275.rmk: Likewise.
37669
37670 * genhandlerlist.sh: New file.
37671
37672 * genmk.rb: Add rules to generate handler.lst.
37673
37674 * include/grub/normal.h (grub_file_getline): New function definition.
37675 (read_handler_list): Likewise.
37676 (free_handler_list): Likewise.
37677
37678 * include/grub/term.h (grub_term_register_input): Add name parameter
37679 for auto generation of handler.lst.
37680 (grub_term_register_output): Likewise.
37681
37682 * normal/handler.c: New file.
37683
37684 * normal/main.c (get_line): Renamed to grub_file_getline.
37685 (read_config_file): Use the newly renamed grub_file_getline.
37686 (read_command_list): Likewise.
37687 (read_fs_list): Likewise.
37688 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37689 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37690
37691 * term/efi/console.c (grub_console_init): Add name parameter for auto
37692 generation of handler.lst.
37693 * term/gfxterm.c: Likewise.
37694 * term/i386/pc/at_keyboard.c: Likewise.
37695 * term/i386/pc/console.c: Likewise.
37696 * term/i386/pc/serial.c: Likewise.
37697 * term/i386/pc/vesafb.c: Likewise.
37698 * term/i386/pc/vga.c: Likewise.
37699 * term/i386/pc/vga_text.c: Likewise.
37700 * term/ieee1275/ofconsole.c: Likewise.
37701 * term/usb_keyboard.c: Likewise.
37702
33c846be 377032009-04-14 Bean <bean123ch@gmail.com>
37704
37705 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37706 properly with null character.
37707
4484e01e 377082009-04-14 Felix Zielcke <fzielcke@z-51.de>
37709
37710 * configure: Remove.
37711 * config.h.in: Likewise.
f93d668e 37712 * stamp-h.in: Likewise.
4484e01e 37713 * DISTLIST: Likewise.
37714 * conf/common.mk: Likewise.
37715 * conf/i386-coreboot.mk: Likewise.
37716 * conf/i386-efi.mk: Likewise.
37717 * conf/i386-ieee1275.mk: Likewise.
37718 * conf/i386.mk: Likewise.
37719 * conf/i386-pc.mk: Likewise.
37720 * conf/powerpc-ieee1275.mk: Likewise.
37721 * conf/sparc64-ieee1275.mk: Likewise.
37722 * conf/x86_64-efi.mk: Likewise.
37723
37724 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37725 develop on GRUB.
37726
7dd4a573 377272009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37728 David S. Miller <davem@davemloft.net>
37729
37730 * util/hostdisk.c (make_device_name): Fix buffer length
37731 calculations.
37732
e25b5a8c 377332009-04-14 Felix Zielcke <fzielcke@z-51.de>
37734
37735 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37736 <sys/param.h> and <sys/sysctl.h>.
37737 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37738 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37739 opening the device and reset them afterwards.
37740
1f1f580c 377412009-04-13 Pavel Roskin <proski@gnu.org>
37742
37743 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37744 Reported by John Stanley <jpsinthemix@verizon.net>
37745
7ebc2d6b 377462009-04-13 Robert Millan <rmh@aybabtu.com>
37747
37748 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37749 that name for menuentries when appropriate.
7ebc2d6b 37750
d8ba3667 377512009-04-13 Felix Zielcke <fzielcke@z-51.de>
37752
37753 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37754
cba416eb 377552009-04-13 Robert Millan <rmh@aybabtu.com>
37756
37757 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37758 to Linux, simply abort telling the user it's no longer supported.
37759
a547a745 377602009-04-13 Felix Zielcke <fzielcke@z-51.de>
37761
37762 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37763 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37764 `freebsd_loadenv' only when devices.hints exist.
37765
232a769c 377662009-04-13 Pavel Roskin <proski@gnu.org>
37767
37768 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37769
c3012039 377702009-04-13 Felix Zielcke <fzielcke@z-51.de>
37771
37772 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37773 partition number.
37774 (grub_drive): Likewise.
37775
234022fe 377762009-04-13 David S. Miller <davem@davemloft.net>
37777
37778 * kern/sparc64/ieee1275/ieee1275.c: New file.
37779 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37780 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37781 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37782 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37783 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37784 grub_ieee1275_alloc_physmem): Declare new exported functions.
37785
d8e1836c 37786 * include/grub/sparc64/ieee1275/loader.h: New file.
37787 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37788 * include/grub/sparc64/kernel.h: Likewise.
37789 * loader/sparc64/ieee1275/linux.c: Likewise.
37790
96bd81ec 37791 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37792 (grub_fstest_SOURCES): Likewise.
37793
6a4737e5 37794 * util/hostdisk.c (make_device_name): Do not make any assumptions
37795 about the length of drive names.
37796
1d7a72fd 37797 * kern/dl.c (grub_dl_load_file): Close file immediately when
37798 we are done using it.
37799
56bc2471 378002009-04-12 David S. Miller <davem@davemloft.net>
37801
37802 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37803 values. Noticed by Pavel Roskin.
37804
df38d0bb 37805 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37806 target compiler.
7dd4a573 37807
e382e93a 37808 * genmk.rb: Add more flexible image type specification, also
37809 pass --strip-unneeded to objcopy.
37810 * conf/i386-pc.rmk: Use *_FORMAT.
37811 * conf/i386-pc.mk: Rebuilt.
37812
f5dbbca9 37813 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37814 (OFDISK_HASH_SZ): Define.
37815 (ofdisk_hash): New hash table.
37816 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37817 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37818 instead of device phandle which is not unique.
37819
91c88b12 37820 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37821 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37822 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37823 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37824 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37825 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37826 GRUB_KERNEL_MACHINE_DATA_END): Define.
37827 (grub_kernel_image_size, grub_total_module_size): Declare.
37828
5b5d4aa5 378292009-04-12 Pavel Roskin <proski@gnu.org>
37830
7dd4a573 37831 * configure.ac: Change the logic when we check for target tools.
37832 Do it when the target is specified and it's different from the
37833 specified value of the host.
5b5d4aa5 37834
c91e1793 378352009-04-11 Felix Zielcke <fzielcke@z-51.de>
37836
37837 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37838 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37839 GNU/kFreeBSD. Check if a device is a character device. Use
37840 DIOCGMEDIASIZE to get the size.
37841 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37842 support for GNU/kFreeBSD.
37843 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37844 is a character device instead of a block device. Add support for
37845 FreeBSD device names.
37846
37847 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37848 is a character device instead of a block device.
37849
37850 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37851 is a character device instead of a block device.
37852
b1ac8644 378532009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37854
37855 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37856 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37857 FreeBSD. Check if a device is a character device. Use
37858 DIOCGMEDIASIZE to get the size.
37859 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37860 support for FreeBSD.
37861 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37862 is a character device instead of a block device. Add support for
37863 FreeBSD device names.
37864
37865 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37866 a character device instead of a block device.
37867 (grub_util_check_char_device): New function.
37868
37869 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37870 a character device instead of a block device.
37871
37872 * include/grub/util/getroot.h (grub_util_check_char_device): New
37873 prototype.
37874
a3f7515a 378752009-04-11 David S. Miller <davem@davemloft.net>
37876
37877 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37878 static libgcc.
37879 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37880 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37881 function, if present.
37882 (__bswapdi2): Likewise.
37883
0d44993d 37884 * include/grub/sparc64/ieee1275/boot.h: New file.
37885 * boot/sparc64/ieee1275/boot.S: Likewise.
37886 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37887
ed3d2bc2 37888 * kern/misc.c (grub_ltoa): New function.
37889 (grub_vsprintf): Use it to format 'long' integers.
37890
d3bfb59c 378912009-04-10 David S. Miller <davem@davemloft.net>
37892
37893 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37894 slots are of type grub_ieee1275_cell_t.
37895 (grub_nand_read): Likewise.
37896 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37897 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37898 macros are used to compare values in arg/ret block of the call.
37899 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37900 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37901 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37902 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37903 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37904 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37905 grub_ieee1275_close, grub_ieee1275_set_property,
37906 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37907 grub_ieee1275_cell_t.
37908 * kern/ieee1275/openfw.c (grub_map): Likewise.
37909 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37910 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37911
450e2238 37912 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37913 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37914 (grub_devalias_iterate): Likewise.
37915
7dd4a573 379162009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37917
37918 UFS improvements
37919
37920 * fs/ufs.c (INODE_NBLOCKS): new definition
37921 (struct grub_ufs_dirent): added fields for non-BSD dirents
37922 (grub_ufs_get_file_block): fixed double indirect handling
37923 (grub_ufs_lookup_symlink): use more robust way to determine whether
37924 symlink is inline
37925 (grub_ufs_find_file): support for non-BSD dirents
37926 (grub_ufs_dir): support for non-BSD dirents
37927
e7e6862a 379282009-04-10 Bean <bean123ch@gnail.com>
37929
37930 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37931 attribute, otherwise the size would be wrong for i386 platform.
37932
37933 * include/grub/pci.h (grub_pci_read_word): New inline function.
37934 (grub_pci_read_byte): Likewise.
37935 (grub_pci_write): Likewise.
37936 (grub_pci_write_word): Likewise.
37937 (grub_pci_write_byte): Likewise.
37938
37939 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37940
37941 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37942 (find_framebuf): Scan pci to locate the frame buffer address.
37943
37944 * commands/efi/fixvideo.c: New file.
37945
37946 * commands/efi/loadbios.c: Likewise.
37947
37948 * commands/memrw.c: Likewise.
37949
37950 * util/grub-dumpbios.in: Likewise.
37951
37952 * conf/common.rmk (grub-dumpbios): New utility.
37953 (pkglib_MODULES): New module memrw.mod.
37954 (memrw_mod_SOURCE): New macro.
37955 (memrw_mod_CFLAGS): Likewise.
37956 (memrw_mod_LDFLAGS): Likewise.
37957
7dd4a573 37958 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37959 fixvideo.mod.
37960 (loadbios_mod_SOURCE): New macro.
37961 (loadbios_mod_CFLAGS): Likewise.
37962 (loadbios_mod_LDFLAGS): Likewise.
37963 (fixvideo_mod_SOURCE): Likewise.
37964 (fixvideo_mod_CFLAGS): Likewise.
37965 (fixvideo_mod_LDFLAGS): Likewise.
37966
7dd4a573 37967 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37968 fixvideo.mod.
37969 (loadbios_mod_SOURCE): New macro.
37970 (loadbios_mod_CFLAGS): Likewise.
37971 (loadbios_mod_LDFLAGS): Likewise.
37972 (fixvideo_mod_SOURCE): Likewise.
37973 (fixvideo_mod_CFLAGS): Likewise.
37974 (fixvideo_mod_LDFLAGS): Likewise.
37975
af63ada2 379762009-04-08 Felix Zielcke <fzielcke@z-51.de>
37977
37978 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37979
c2cdde70 379802009-04-07 David S. Miller <davem@davemloft.net>
37981
37982 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37983 support for R_SPARC_OLO10 relocations. Fix compile warning for
37984 R_SPARC_WDISP30 case.
ea3f72cf 37985 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37986
761319cf 379872009-04-06 Pavel Roskin <proski@gnu.org>
37988
1007d1f5 37989 * include/grub/misc.h (ARRAY_SIZE): New macro.
37990 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37991 New macro.
37992 * loader/i386/linux.c (allocate_pages): Use free_pages().
37993 (grub_linux_unload): Don't use free_pages().
37994 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37995 wrong index. Treat all other modes as text modes.
37996 (grub_cmd_linux): Initialize vid_mode unconditionally to
37997 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37998
761319cf 37999 * commands/help.c (print_command_help): Use cmd->prio, not
38000 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
38001
ea761d40 380022009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 38003
ea761d40 38004 Parttool
38005
38006 * parttool/pcpart.c: new file
38007 * commands/parttool.c: likewise
38008 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
38009 (parttool_mod_SOURCES): new variable
38010 (parttool_mod_CFLAGS): likewise
38011 (parttool_mod_LDFLAGS): likewise
38012 (pcpart_mod_SOURCES): likewise
38013 (pcpart_mod_CFLAGS): likewise
38014 (pcpart_mod_LDFLAGS): likewise
7dd4a573 38015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 38016 and parttool/pcpart.c
38017 * conf/i386-efi.rmk: likewise
38018 * conf/i386-ieee1275.rmk: likewise
38019 * conf/i386-pc.rmk: likewise
38020 * conf/powerpc-ieee1275.rmk: likewise
38021 * conf/sparc64-ieee1275.rmk: likewise
38022 * conf/x86_64-ieee1275.rmk: likewise
38023
05aaebfb 380242009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38025
38026 Support for mtime and further expandability of dir command
38027
38028 * include/grub/lib/datetime.h: moved to ...
7dd4a573 38029 * include/grub/datetime.h: ... moved here and added
05aaebfb 38030 declaration of grub_unixtime2datetime. All users updated
7dd4a573 38031 * include/grub/fs.h: new syntax for dir and mtime functions in
38032 struct grub_fs
05aaebfb 38033 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
38034 and GRUB_FSHELP_FLAGS_MASK
38035 * commands/ls.c (grub_ls_list_files): Write mtime in long format
38036 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
38037 (grub_ext2_mtime): new function
38038 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38039 (grub_hfsplus_mtime): new function
38040 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38041 (GRUB_UFS_ATTR_FILE): likewise
38042 (GRUB_UFS_ATTR_LNK): likewise
38043 (struct grub_ufs_sblock): new fields mtime
38044 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38045 all users updated
38046 (grub_ufs_dir): mtime support
38047 (grub_ufs_mtime): new function
38048 * fs/affs.c (grub_affs_dir): use new dir syntax
38049 * fs/afs.c (grub_afs_dir): likewise
38050 * fs/cpio.c (grub_cpio_dir): likewise
38051 * fs/fat.c (grub_fat_find_dir): likewise
38052 * fs/hfs.c (grub_hfs_dir): likewise
38053 * fs/iso9660.c (grub_iso9660_dir): likewise
38054 * fs/jfs.c (grub_jfs_dir): likewise
38055 * fs/minix.c (grub_minix_dir): likewise
38056 * fs/ntfs.c (grub_ntfs_dir): likewise
38057 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38058 * fs/sfs.c (grub_sfs_dir): likewise
38059 * fs/xfs.c (grub_xfs_dir): likewise
38060 * util/hostfs.c (grub_hostfs_dir): likewise
38061 * lib/datetime.c: moved to ...
38062 * normal/datetime.c: ... moved here
38063 (grub_unixtime2datetime): new function
38064 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 38065 * normal/completion.c (iterate_dir): use new dir syntax
38066 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 38067 last modification time of a volume
7dd4a573 38068 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 38069 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 38070 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 38071 (normal_mod_SOURCES): likewise
38072 (datetime_mod_SOURCES): Removed lib/datetime.c
38073 * conf/i386-efi.rmk: likewise
7dd4a573 38074 * conf/i386-ieee1275.rmk: likewise
05aaebfb 38075 * conf/i386-pc.rmk: likewise
38076 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 38077 * conf/sparc64-ieee1275.rmk: likewise
38078 * conf/x86_64-efi.rmk: likewise
05aaebfb 38079
8a7e1a14 380802009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38081
38082 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 38083
38084 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 38085 on grub_fat_find_dir
38086 (grub_fat_find_dir): use grub_fat_iterate_dir
38087 (grub_fat_label): likewise
38088
04186a9c 380892009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38090
7dd4a573 38091 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 38092 and command.h
38093 remove extraneous kernel_elf_HEADERS
38094
da4c0bb6 380952009-04-04 Bean <bean123ch@gnail.com>
38096
38097 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38098
38099 * util/misc.c: Likewise.
38100
54ad9555 381012009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38102
38103 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38104 instead of grub_printf.
38105
7a6bf9f2 381062009-04-03 Robert Millan <rmh@aybabtu.com>
38107
38108 * loader/i386/linux.c (grub_linux_setup_video): Fill
38109 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38110 values from `mode info' structure instead of hardcoded
38111 values.
38112
3fcc2083 381132009-04-01 Pavel Roskin <proski@gnu.org>
38114
38115 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38116 unused now.
38117 * genmk.rb: Likewise.
38118 * configure.ac: Likewise.
38119
5ec9740b 381202009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38121
38122 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38123 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38124
5270cec8 381252009-04-01 David S. Miller <davem@davemloft.net>
38126
38127 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 38128 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 38129 (grub_setjmp): Mark with 'returns_twice' attribute.
38130 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38131 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38132 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38133
9c3dd854 381342009-04-01 Robert Millan <rmh@aybabtu.com>
38135
38136 Reapply fix from 2008-07-28 which was accidentally reverted; also
38137 perform the same fix to a similar check in same function.
38138
38139 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38140 with the same number are found, just use issue a warning with
38141 grub_dprintf(), as this error has been reported to be non-fatal.
38142
0d818b7e 381432009-03-31 Pavel Roskin <proski@gnu.org>
38144
38145 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38146 for cross-compilation.
38147
95646d92 381482009-03-30 Robert Millan <rmh@aybabtu.com>
38149
38150 Fix i386-ieee1275 build.
38151
38152 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38153 Remove declaration.
38154
6a003ed1 381552009-03-30 Pavel Roskin <proski@gnu.org>
38156
38157 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38158 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38159 zero-terminated, rely only on the strlen value. Fix comparison
38160 of strings differing in length.
38161
92f33540 381622009-03-30 Robert Millan <rmh@aybabtu.com>
38163
38164 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38165 checking for abi version. Improve error messages on BIOS to notify
38166 user about `linux16' command.
38167
a8c48fd5 381682009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38169
f968172e 38170 Leak fixes
a8c48fd5 38171
f968172e 38172 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38173 in case of collision
38174 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 38175
9c323f09 381762009-03-29 Robert Millan <rmh@aybabtu.com>
38177
38178 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38179 set `vid_mode' accordingly.
38180 (grub_linux_boot): Process `vid_mode' and set video mode.
38181
ae68f423 381822009-03-29 Robert Millan <rmh@aybabtu.com>
38183
38184 * util/grub.d/10_linux.in (linux_entry): New function.
38185 Factorize generation of Linux boot entries.
38186
5709cfc4 381872009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38188
38189 Make the format of Environment Block plain text. The boot loader
38190 part is not tested well yet.
7dd4a573 38191
5709cfc4 38192 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38193 (buffer): Removed.
38194 (envblk): Likewise.
38195 (usage): Remove "info" and "clear". Add "unset". Update the
38196 description of "set", as this does not delete variables any
38197 longer.
38198 (create_envblk_file): Complete rewrite.
38199 (open_envblk_file): Likewise.
38200 (cmd_info): Removed.
38201 (cmd_list): Likewise.
38202 (cmd_set): Likewise.
38203 (cmd_clear): Likewise.
38204 (list_variables): New function.
38205 (write_envblk): Likewise.
38206 (set_variables): Likewise.
38207 (unset_variables): Likewise.
38208 (main): Complete rewrite.
38209
38210 * commands/loadenv.c (buffer): Removed.
38211 (envblk): Likewise.
38212 (open_envblk_file): New function.
38213 (read_envblk_file): Complete rewrite.
38214 (grub_cmd_load_env): Likewise.
38215 (grub_cmd_list_env): Likewise.
38216 (struct blocklist): New struct.
38217 (free_blocklists): New function.
38218 (check_blocklists): Likewise.
38219 (write_blocklists): Likewise.
38220 (grub_cmd_save_env): Complete rewrite.
38221
38222 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38223 a plain text signature.
38224 (GRUB_ENVBLK_MAXLEN): Removed.
38225 (struct grub_envblk): Complete rewrite.
38226 (grub_envblk_find): Removed.
38227 (grub_envblk_insert): Likewise.
38228 (grub_envblk_open): New prototype.
38229 (grub_envblk_set): Likewise.
38230 (grub_envblk_delete): Put const to VALUE.
38231 (grub_envblk_iterate): Put const to NAME and VALUE.
38232 (grub_envblk_close): New prototype.
38233 (grub_envblk_buffer): New inline function.
38234 (grub_envblk_size): Likewise.
38235
38236 * lib/envblk.c: Include grub/mm.h.
38237 (grub_env_find): Removed.
38238 (grub_envblk_open): New function.
38239 (grub_envblk_close): Likewise.
38240 (escaped_value_len): Likewise.
38241 (find_next_line): Likewise.
38242 (grub_envblk_insert): Removed.
38243 (grub_envblk_set): New function.
38244 (grub_envblk_delete): Complete rewrite.
38245 (grub_envblk_iterate): Likewise.
38246
a9368fd3 382472009-03-28 Robert Millan <rmh@aybabtu.com>
38248
38249 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38250 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38251 variables. Use 16-bit loader.
38252 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38253 loader.
38254 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38255 (grub_linux16_boot): ... this. Update all users.
38256 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38257 (grub_linux_boot): ... this. Update all users.
38258
38259 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38260 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38261 commands to `linux16' and `initrd16'.
38262 (GRUB_MOD_FINI(linux)): Rename to ...
38263 (GRUB_MOD_FINI(linux16)): ... this.
38264
e4dd5a7e 382652009-03-24 Pavel Roskin <proski@gnu.org>
38266
38267 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38268 not just for compilation.
38269
c04d6e05 382702009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38271
38272 Move multiboot helper out of kernel
38273
38274 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38275 `loader/i386/multiboot_helper.S'.
38276 * conf/i386-coreboot.rmk: Likewise
38277 * conf/i386-ieee1275.rmk: Likewise
38278
38279 * kern/i386/loader.S: Move multiboot helpers from here...
38280 * loader/i386/multiboot_helper.S: ...moved here
38281 * include/grub/i386/loader.h: Move declarations of multiboot
38282 helpers from here...
38283 * include/grub/i386/multiboot.h: ...moved here
38284 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38285
42a5b3fc 382862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38287
38288 * kern/env.c (grub_env_context_open): Added an argument to specify
38289 whether a new context inherits exported variables from current
38290 one. This is useful when making a sandbox to interpret a config
38291 file.
38292 All callers updated.
38293
38294 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38295
b28bbc4e 382962009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38297
38298 * kern/env.c (grub_env_context_close): Fix memory leaks.
38299
f04f02e4 383002009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38301
38302 * normal/main.c (grub_normal_execute): Added an argument
38303 BATCH to specify if an interactive interface should be provided
38304 after reading a config file.
38305 All callers updated.
38306 (read_command_list): Prevent being executed twice.
38307 (read_fs_list): Likewise.
38308
42a5b3fc 38309 * include/grub/normal.h (grub_normal_execute): Updated the
38310 prototype.
f04f02e4 38311
41473ac2 383122009-03-22 Pavel Roskin <proski@gno.org>
38313
fbc00b0c 38314 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38315 _start.
38316 * kern/i386/pc/startup.S: Likewise.
38317 * kern/i386/efi/startup.S: Likewise.
38318 * kern/i386/ieee1275/startup.S: Likewise.
38319 * kern/i386/coreboot/startup.S: Likewise.
38320 * kern/x86_64/efi/startup.S: Likewise.
38321
41473ac2 38322 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38323 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38324 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38325
2274cc8f 383262009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38327
38328 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38329
38330 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38331 limit detection.
38332 Use vaddr of correct segment for entry_point.
38333
b1b797cb 383342009-03-21 Bean <bean123ch@gmail.com>
38335
38336 * commands/blocklist.c: Add include file <grub/command.h>, remove
38337 <grub/normal.h> and <grub/arg.h>.
38338 (grub_cmd_blocklist): Use the new command interface.
38339 (GRUB_MOD_INIT): Likewise.
38340 (GRUB_MOD_FINI): Likewise.
38341 * commands/boot.c: Likewise.
38342 * commands/cat.c: Likewise.
38343 * commands/cmp.c: Likewise.
38344 * commands/configfile.c: Likewise.
38345 * commands/crc.c: Likewise.
38346 * commands/echo.c: Likewise.
38347 * commands/halt.c: Likewise.
38348 * commands/handler.c: Likewise.
38349 * commands/hdparm.c: Likewise.
38350 * commands/help.c: Likewise.
38351 * commands/hexdump.c: Likewise.
38352 * commands/loadenv.c: Likewise.
38353 * commands/ls.c: Likewise.
38354 * commands/lsmmap.c: Likewise.
38355 * commands/lspci.c: Likewise.
38356 * commands/loadenv.c: Likewise.
38357 * commands/read.c: Likewise.
38358 * commands/reboot.c: Likewise.
38359 * commands/search.c: Likewise.
38360 * commands/sleep.c: Likewise.
38361 * commands/test.c: Likewise.
38362 * commands/usbtest.c: Likewise.
38363 * commands/videotest.c: Likewise.
38364 * commands/i386/cpuid.c: Likewise.
38365 * commands/i386/pc/halt.c: Likewise.
38366 * commands/i386/pc/play.c: Likewise.
38367 * commands/i386/pc/pxecmd.c: Likewise.
38368 * commands/i386/pc/vbeinfo.c: Likewise.
38369 * commands/i386/pc/vbetest.c: Likewise.
38370 * commands/ieee1275/suspend.c: Likewise.
38371 * disk/loopback.c: Likewise.
38372 * font/font_cmd.c: Likewise.
38373 * hello/hello.c: Likewise.
38374 * loader/efi/appleloader.c: Likewise.
38375 * loader/efi/chainloader.c: Likewise.
38376 * loader/i386/bsd.c: Likewise.
38377 * loader/i386/efi/linux.c: Likewise.
38378 * loader/i386/ieee1275/linux.c: Likewise.
38379 * loader/i386/linux.c: Likewise.
38380 * loader/i386/pc/chainloader.c: Likewise.
38381 * loader/i386/pc/linux.c: Likewise.
38382 * loader/powerpc/ieee1275/linux.c: Likewise.
38383 * loader/multiboot_loader.c: Likewise.
38384 * term/gfxterm.c: Likewise.
38385 * term/i386/pc/serial.c: Likewise.
38386 * term/terminfo.c: Likewise.
38387
38388 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38389 * term/i386/pc/vga.c: Likewise.
38390 * video/readers/jpeg.c: Likewise.
38391 * video/readers/png.c: Likewise.
38392 * video/readers/tga.c: Likewise.
38393
38394 * util/grub-fstest (cmd_loopback): Removed.
38395 (cmd_blocklist): Likewise.
38396 (cmd_ls): Likewise.
38397 (grub_register_command): Likewise.
38398 (grub_unregister_command): Likewise.
38399 (execute_command): Use grub_command_find to locate command and execute
38400 it.
38401
38402 * include/grub/efi/chainloader.h: Removed.
38403 * loader/efi/chainloader_normal.c: Likewise.
38404 * loader/i386/bsd_normal.c: Likewise.
38405 * loader/i386/pc/chainloader_normal.c: Likewise.
38406 * loader/i386/pc/multiboot_normal.c: Likewise.
38407 * loader/linux_normal.c: Likewise.
38408 * loader/multiboot_loader_normal.c: Likewise.
38409 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38410
38411 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38412 and grub_register_command_p1.
38413
38414 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38415 kern/command.c, lib/arg.c and commands/extcmd.c.
38416 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38417 (minicmd_mod_SOURCES): New variable.
38418 (minicmd_mod_CFLAGS): Likewise.
38419 (minicmd_mod_LDFLAGS): Likewise.
38420 (extcmd_mod_SOURCES): Likewise.
38421 (extcmd_mod_CFLAGS): Likewise.
38422 (extcmd_mod_LDFLAGS): Likewise.
38423 (boot_mod_SOURCES): Removed.
38424 (boot_mod_CFLAGS): Likewise.
38425 (boot_mod_LDFLAGS): Likewise.
38426
38427 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38428 kern/corecmd.c.
38429 (kernel_img_HEADERS): Add command.h.
38430 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38431 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38432 and lib/arg.c.
38433 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38434 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38435 remove the corresponding normal mode command.
38436 (normal_mod_SOURCES): Remove normal/arg.c.
38437 * conf/i386-coreboot.rmk: Likewise.
38438 * conf/i386-efi.rmk: Likewise.
38439 * conf/i386-ieee1275.rmk: Likewise.
38440 * conf/powerpc-ieee1275.rmk: Likewise.
38441 * conf/x86_64-efi.rmk: Likewise.
38442
38443 * include/grub/arg.h: Move from here ...
38444 * include/grub/lib/arg.h: ... to here.
38445
38446 * normal/arg.c: Move from here ...
38447 * lib/arg.c: ... to here.
38448
38449 * commands/extcmd.c: New file.
38450 * commands/minicmd.c: Likewise.
38451 * include/grub/command.h: Likewise.
38452 * include/grub/extcmd.h: Likewise.
38453 * kern/command.c: Likewise.
38454 * kern/corecmd.c: Likewise.
38455
38456 * kern/list.c (grub_list_iterate): Return int instead of void.
38457 (grub_list_insert): New function.
38458 (grub_prio_list_insert): Likewise.
38459
38460 * kern/rescue.c (grub_rescue_command): Removed.
38461 (grub_rescue_command_list): Likewise.
38462 (grub_rescue_register_command): Likewise.
38463 (grub_rescue_unregister_command): Likewise.
38464 (grub_rescue_cmd_boot): Move to minicmd.c
38465 (grub_rescue_cmd_help): Likewise.
38466 (grub_rescue_cmd_info): Likewise.
38467 (grub_rescue_cmd_boot): Likewise.
38468 (grub_rescue_cmd_testload): Likewise.
38469 (grub_rescue_cmd_dump): Likewise.
38470 (grub_rescue_cmd_rmmod): Likewise.
38471 (grub_rescue_cmd_lsmod): Likewise.
38472 (grub_rescue_cmd_exit): Likewise.
38473 (grub_rescue_print_devices): Moved to corecmd.c.
38474 (grub_rescue_print_files): Likewise.
38475 (grub_rescue_cmd_ls): Likewise.
38476 (grub_rescue_cmd_insmod): Likewise.
38477 (grub_rescue_cmd_set): Likewise.
38478 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38479 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38480 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38481 commands, remove grub_rescue_register_command calls.
b1b797cb 38482
7d074e3c 38483 * normal/command.c (grub_register_command): Removed.
b1b797cb 38484 (grub_unregister_command): Likewise.
38485 (grub_command_find): Likewise.
38486 (grub_iterate_commands): Likewise.
38487 (rescue_command): Likewise.
38488 (export_command): Moved to corecmd.c.
38489 (set_command): Removed.
38490 (unset_command): Likewise.
38491 (insmod_command): Likewise.
38492 (rmmod_command): Likewise.
38493 (lsmod_command): Likewise.
38494 (grub_command_init): Likewise.
38495
38496 * normal/completion.c (iterate_command): Use cmd->prio to check for
38497 active command.
38498 (complete_arguments): Use grub_extcmd_t structure to find options.
38499 (grub_normal_do_completion): Change function grub_iterate_commands to
38500 grub_command_iterate.
38501
38502 * normal/execute.c (grub_script_execute_cmd): No need to parse
38503 argument here.
38504
38505 * normal/main.c (grub_dyncmd_dispatcher): New function.
38506 (read_command_list): Register unload commands as dyncmd.
38507 (grub_cmd_normal): Use new command interface, register rescue,
38508 unregister normal at entry, register normal, unregister rescue at exit.
38509
38510 * include/grub/list.h (grub_list_test_t): New type.
38511 (grub_list_iterate): Return int instead of void.
38512 (grub_list_insert): New function.
38513 (GRUB_AS_NAMED_LIST_P): New macro.
38514 (GRUB_AS_PRIO_LIST): Likewise.
38515 (GRUB_AS_PRIO_LIST_P): Likewise.
38516 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38517 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38518 (grub_prio_list): New structure.
38519 (grub_prio_list_insert): New function.
38520 (grub_prio_list_remove): New inline function.
38521
38522 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38523 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38524 (GRUB_COMMAND_FLAG_MENU): Likewise.
38525 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38526 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38527 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38528 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38529 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38530 (grub_command): Likewise.
38531 (grub_register_command): Likewise.
38532 (grub_command_find): Likewise.
38533 (grub_iterate_commands): Likewise.
38534 (grub_command_init): Likewise.
38535 (grub_arg_parse): Likewise.
38536 (grub_arg_show_help): Likewise.
38537
38538 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38539 (grub_rescue_unregister_command): Likewise.
38540
38541 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38542 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38543 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38544
38545 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38546 grub_rescue_cmd_initrd.
38547 * include/grub/i386/loader.h: Likewise.
38548 * include/grub/x86_64/loader.h: Likewise.
38549
38550 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38551
1f4147aa 385522009-03-21 Bean <bean123ch@gmail.com>
38553
38554 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38555 instead of stat in mingw environment.
38556
38557 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38558
38559 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38560
38561 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38562 AC_CONFIG_LINKS.
38563
2156d5ba 385642009-03-21 Bean <bean123ch@gmail.com>
38565
38566 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38567 out of range error.
38568
177b82ca 385692009-03-18 Michel Dänzer <michel@daenzer.net>
38570
38571 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38572 checking inode flags for EXT4_EXTENTS_FLAG.
38573
14aad807 385742009-03-18 Robert Millan <rmh@aybabtu.com>
38575
38576 * loader/i386/linux.c: Include `<grub/video.h>' and
38577 `<grub/i386/pc/vbe.h>'..
38578 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38579 (grub_linux32_boot): Attempt to configure video settings with
38580 grub_linux_setup_video().
38581 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38582 to avoid grub_console_fini() which would step out of graphical mode
38583 unconditionally.
38584
8cf83a27 385852009-03-14 Robert Millan <rmh@aybabtu.com>
38586
38587 Fix build on powerpc.
38588 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38589
40164e75 385902009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38591
38592 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38593 background image command.
38594
c58bc32a 385952009-03-12 Colin D Bennett <colin@gibibit.com>
38596
38597 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38598 (grub_gfxterm_putchar): Extract pairs of identical calls to
38599 draw_cursor out of conditional blocks.
38600
5415144a 386012009-03-11 Pavel Roskin <proski@gnu.org>
38602
38603 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38604 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38605
6394042e 386062009-03-11 Robert Millan <rmh@aybabtu.com>
38607
38608 * loader/i386/multiboot_elfxx.c
38609 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38610
b7b50e5f 386112009-03-11 Felix Zielcke <fzielcke@z-51.de>
38612
38613 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38614 `kern/handler.c'.
38615
1ca7fc96 386162009-03-11 Robert Millan <rmh@aybabtu.com>
38617
38618 * loader/i386/multiboot.c (code_size): New variable.
38619 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38620 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38621 4-byte alignment to MBI and others by increasing
7d074e3c 38622 `boot_loader_name_length' appropriately.
1ca7fc96 38623
38624 * loader/i386/multiboot_elfxx.c
38625 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38626
a83ea1d2 386272009-03-09 Felix Zielcke <fzielcke@z-51.de>
38628
38629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38630 `fs/ext2.c'.
38631
aa9f3bff 386322009-03-08 Robert Millan <rmh@aybabtu.com>
38633
38634 Make loader/i386/linux.c usable on i386-pc again.
38635
38636 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38637 memory to heap.
38638 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38639 `#error' stanza.
38640
d8b3b60e 386412009-03-07 Bean <bean123ch@gmail.com>
38642
38643 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38644 allocation.
38645
b362c9e9 386462009-03-06 Robert Millan <rmh@aybabtu.com>
38647
38648 Fix display issue on terminals with screen size other than 80x25
38649 (e.g. gfxterm with resolution higher than 640x480).
38650
38651 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38652 position relative to the center of the terminal instead of relying
b362c9e9 38653 on a hardcoded offset.
38654
9304eef1 386552009-03-04 Robert Millan <rmh@aybabtu.com>
38656
38657 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38658 installed.
38659
38660 * Makefile.in (host_kernel): New variable.
38661 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38662 scripts instead of just the windows one.
38663 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38664
eabc95fb 386652009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38666
38667 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38668 `kern/handler.c'.
38669 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38670 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38671 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38673 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38674 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38675
ceb1223c 386762009-03-04 Felix Zielcke <fzielcke@z-51.de>
38677
38678 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38679 or if there's no space for the disk label and print the partition number on a
38680 invalid magic.
38681
4910684a 386822009-03-04 Felix Zielcke <fzielcke@z-51.de>
38683
38684 * util/misc.c: Include <time.h>.
38685 (grub_millisleep): New function.
38686
7e9ca17a 386872009-03-04 Bean <bean123ch@gmail.com>
38688
38689 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38690 another option -mno-red-zone.
38691
38692 * commands/handler.c: Change module description.
38693
38694 * kern/handler.c: Add missing space at the end of description line.
38695
38696 * kern/list.c: Likewise.
38697
f501677c 386982009-03-03 Robert Millan <rmh@aybabtu.com>
38699
38700 Move more components to the relocation area, and fix mbi pointer
38701 handling to use the destination rather than the origin (thanks to
38702 Vladimir Serbinenko for spotting).
38703
38704 * loader/i386/multiboot.c (mbi_dest): New variable.
38705 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38706 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38707 relocation area.
38708
9902d047 387092009-03-01 Bean <bean123ch@gmail.com>
38710
50fb7002 38711 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38712 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38713 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38714 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38715
38716 * loader/i386/efi/linux.c (acpi_guid): New variable.
38717 (acpi_guid): Likewise.
38718 (EBDA_SEG_ADDR): New constant.
38719 (LOW_MEM_ADDR): Likewise.
38720 (FAKE_EBDA_SEG): Likewise.
38721 (fake_bios_data): New function.
38722 (grub_linux_boot): Call fake_bios_data.
38723
71b9f361 387242009-03-01 Bean <bean123ch@gmail.com>
38725
38726 * commands/terminal.c: Removed.
38727
38728 * commands/handler.c: New file.
38729
38730 * include/grub/list.h: Likewise.
38731
38732 * include/grub/handler.h: Likewise.
38733
38734 * kern/list.c: Likewise.
38735
38736 * kern/handler.c: Likewise.
38737
38738 * kern/term.h: Include header file <grub/handler.h>.
38739 (grub_term_input): Move next field to the beginning.
38740 (grub_term_output): Likewise.
38741 (grub_term_input_class): New variable.
38742 (grub_term_output_class): Likewise.
38743 (grub_term_register_input): Changed to inline function.
38744 (grub_term_register_output): Likewise.
38745 (grub_term_unregister_input): Likewise.
38746 (grub_term_unregister_output): Likewise.
38747 (grub_term_set_current_input): Likewise.
38748 (grub_term_set_current_output): Likewise.
38749 (grub_term_get_current_input): Likewise.
38750 (grub_term_get_current_output): Likewise.
38751 (grub_term_iterate_input): Removed.
38752 (grub_term_iterate_output): Likewise.
38753
38754 * kern/term.c (grub_term_list_input): Removed.
38755 (grub_term_list_output): Likewise.
38756 (grub_term_input_class): New variable.
38757 (grub_term_output_class): Likewise.
50fb7002 38758 (grub_cur_term_input): Change variable as macro.
71b9f361 38759 (grub_cur_term_output): Likewise.
38760 (grub_term_register_input): Removed.
38761 (grub_term_register_output): Likewise.
38762 (grub_term_unregister_input): Likewise.
38763 (grub_term_unregister_output): Likewise.
38764 (grub_term_set_current_input): Likewise.
38765 (grub_term_set_current_output): Likewise.
38766 (grub_term_iterate_input): Likewise.
38767 (grub_term_iterate_output): Likewise.
38768 (grub_term_get_current_input): Likewise.
38769 (grub_term_get_current_output): Likewise.
38770
38771 * util/grub-editenv.c: Include header file <grub/handler.h>.
38772 (grub_term_get_current_input): Removed.
38773 (grub_term_get_current_output): Likewise.
38774 (grub_term_input_class): New variable.
50fb7002 38775 (grub_term_output_class): Likewise.
71b9f361 38776
38777 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38778 (grub_term_get_current_output): Likewise.
38779 (grub_term_input_class): New variable.
50fb7002 38780 (grub_term_output_class): Likewise.
71b9f361 38781
38782 * util/grub-probe.c (grub_term_get_current_input): Removed.
38783 (grub_term_get_current_output): Likewise.
38784 (grub_term_input_class): New variable.
50fb7002 38785 (grub_term_output_class): Likewise.
71b9f361 38786
38787 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38788 (grub_term_get_current_output): Likewise.
38789 (grub_term_input_class): New variable.
50fb7002 38790 (grub_term_output_class): Likewise.
71b9f361 38791
38792 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38793 (terminal_mod_SOURCES): Likewise.
38794 (terminal_mod_CFLAGS): Likewise.
38795 (terminal_mod_LDFLAGS): Likewise.
38796
38797 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38798 handler.c.
38799 (kernel_img_SOURCES): Add list.c and handler.c.
38800 (kernel_img_HEADERS): Add list.h and handler.h.
38801
38802 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38803 handler.c.
38804 (kernel_mod_SOURCES): Add list.c and handler.c.
38805 (kernel_mod_HEADERS): Add list.h and handler.h.
38806
38807 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38808 handler.c.
38809 (kernel_elf_SOURCES): Add list.c and handler.c.
38810 (kernel_elf_HEADERS): Add list.h and handler.h.
38811
38812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38813 handler.c.
38814 (kernel_elf_SOURCES): Add list.c and handler.c.
38815 (kernel_elf_HEADERS): Add list.h and handler.h.
38816
38817 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38818 handler.c.
38819 (kernel_mod_SOURCES): Add list.c and handler.c.
38820 (kernel_mod_HEADERS): Add list.h and handler.h.
38821
38822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38823 handler.c.
38824 (kernel_elf_SOURCES): Add list.c and handler.c.
38825 (kernel_elf_HEADERS): Add list.h and handler.h.
38826
8a31787f 388272009-02-27 Robert Millan <rmh@aybabtu.com>
38828
38829 Factorize elf32 / elf64 code in Multiboot loader. This will
38830 prevent it from getting out of sync again.
38831
38832 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38833 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38834 grub_multiboot_load_elf64): Move from here ...
38835 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38836 grub_multiboot_load_elf): ... to here (new file).
38837
51cd3dfc 388382009-02-27 Robert Millan <rmh@aybabtu.com>
38839
38840 * util/grub.d/10_linux.in: Rename "single-user mode" to
38841 "recovery mode".
38842
6e8c9c3a 388432009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38844
38845 Don't leak in SCSI code.
38846 * disk/scsi.c (grub_scsi_close): free `scsi'.
38847
4b6bf4f9 388482009-02-27 Robert Millan <rmh@aybabtu.com>
38849
38850 * loader/i386/pc/multiboot.c: Move from here ...
38851 * loader/i386/multiboot.c: ... to here. Update all users.
38852
b9413424 388532009-02-27 Robert Millan <rmh@aybabtu.com>
38854
38855 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38856 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38857
50fb7002 388582009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38859
38860 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38861 b-tree.
38862
8cc50345 388632009-02-27 Robert Millan <rmh@aybabtu.com>
38864
38865 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38866 `0x' qualifier as 0 when base is specified as parameter).
38867
6e09b8b7 388682009-02-24 Bean <bean123ch@gmail.com>
38869
38870 * configure.ac: Check for -mcmodel=large in x86_64 target.
38871
38872 * include/grub/efi/api.h (efi_call_10): New macro.
38873 (efi_wrap_10): New function.
38874
38875 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38876 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38877 (GRUB_PE32_REL_BASED_LOW): Likewise.
38878 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38879 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38880 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38881 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38882 (GRUB_PE32_REL_BASED_REL): Likewise.
38883 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38884 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38885 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38886
38887 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38888 issue.
38889
38890 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38891 (efi_wrap_10): New function.
38892
38893 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38894
38895 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38896 MB/MBP model (NV chipset).
38897 (devdata_devs): Add devpath_5 to the list.
38898
38899 * load/i386/efi/linux.c (video_base): Remove variable.
38900 (RGB_MASK): New macro.
38901 (RGB_MAGIC): Likewise.
38902 (LINE_MIN): Likewise.
38903 (LINE_MAX): Likewise.
38904 (FBTEST_STEP): Likewise.
38905 (FBTEST_COUNT): Likewise.
38906 (fb_list): New variable.
38907 (grub_find_video_card): Remove function.
38908 (find_framebuf): New function.
38909 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38910 line length.
38911
38912 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38913 problem for x86_64.
38914
74b21bee 389152009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38916
38917 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38918
38919 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38920 coding tool name.
38921
a455f472 389222009-02-22 Robert Millan <rmh@aybabtu.com>
38923
38924 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38925 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38926 in our relocation, instead of using it directly from heap. Also
38927 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38928
6374daf3 389292009-02-21 Robert Millan <rmh@aybabtu.com>
38930
38931 Implement USB keyboard support (based on patch by Marco Gerards)
38932
38933 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38934 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38935 (usb_keyboard_mod_LDFLAGS): New variables.
38936
38937 * term/usb_keyboard.c: New file.
38938
8fa4ea70 389392009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38940
38941 Corrected wrong declaration
38942
38943 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38944
353976ac 389452009-02-14 Christian Franke <franke@computer.org>
38946
38947 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38948 (grub_lspci_iter): Print class code and programming interface byte.
38949
6aa1169b 389502009-02-14 Christian Franke <franke@computer.org>
38951
38952 * gendistlist.sh: Ignore `.svn' directories.
38953
265372ca 389542009-02-14 Felix Zielcke <fzielcke@z-51.de>
38955
38956 * fs/fat.c: Add 2009 to Copyright line.
38957
9ff516f3 389582009-02-14 Christian Franke <franke@computer.org>
38959
38960 * commands/hdparm.c: New file. Provides `hdparm' command
38961 which sends ATA commands via grub_disk_ata_pass_through ().
38962
38963 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38964
38965 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38966 and <grub/cpu/io.h> to include/grub/ata.h.
38967 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38968 (GRUB_CDROM_SECTOR_SIZE): Remove.
38969 (GRUB_ATA_*): Move to include/grub/ata.h.
38970 (GRUB_ATAPI_*): Likewise.
38971 (enum grub_ata_commands): Likewise.
38972 (enum grub_ata_timeout_milliseconds): Likewise.
38973 (struct grub_ata_device): Likewise.
38974 (grub_ata_regset): Likewise.
38975 (grub_ata_regget): Likewise.
38976 (grub_ata_regset2): Likewise.
38977 (grub_ata_regget2): Likewise.
38978 (grub_ata_check_ready): Likewise.
38979 (grub_ata_wait_not_busy): Remove static, exported in
38980 include/grub/ata.h.
38981 (grub_ata_wait_drq): Likewise.
38982 (grub_ata_pio_read): Likewise.
38983
38984 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38985 function for hdparm.mod.
38986
38987 * include/grub/ata.h: New file, contains declarations from
38988 disk/ata.c.
38989 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38990
38991 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38992 (grub_disk_ata_pass_through): New exported variable.
38993
38994 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38995
772e23da 389962009-02-13 Colin D Bennett <colin@gibibit.com>
38997
38998 Support multiple fallback entries, and provide an API to support
38999 executing default+fallback menu entries. Renamed the `terminal' menu
39000 viewer to `text'.
39001
39002 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
39003 variable declaration.
39004 (grub_menu_execute_callback): New structure declaration.
39005 (grub_menu_execute_callback_t): New typedef.
39006 (grub_menu_execute_with_fallback): New function declaration.
39007 (grub_menu_get_entry): Likewise.
39008 (grub_menu_get_timeout): Likewise.
39009 (grub_menu_set_timeout): Likewise.
39010
39011 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
39012
39013 * normal/menu.c (grub_wait_after_message): Moved to
39014 `normal/menu_text.c'.
39015 (draw_border): Likewise.
39016 (print_message): Likewise.
39017 (print_entry): Likewise.
39018 (print_entries): Likewise.
39019 (grub_menu_init_page): Likewise.
39020 (get_entry_number): Likewise.
39021 (print_timeout): Likewise.
39022 (run_menu): Likewise.
39023 (grub_menu_execute_entry): Likewise.
39024 (show_text_menu): Likewise.
39025 (get_and_remove_first_entry_number): New function.
39026 (grub_menu_execute_with_fallback): Likewise.
39027 (get_entry): Renamed to ...
39028 (grub_menu_get_entry): .. this and made it global.
39029 (get_timeout): Renamed to ...
39030 (grub_menu_get_timeout): ... this and made it global.
39031 (set_timeout): Renamed to ...
39032 (grub_menu_set_timeout): ... this and made it global.
39033 (grub_normal_terminal_menu_viewer): Renamed to ...
39034 (grub_normal_text_menu_viewer): ... this.
39035
39036 * normal/menu_text.c: New file. Extracted text-menu-specific code
39037 from normal/menu.c.
39038
39039 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39040 (normal_mod_SOURCES): Likewise.
39041
39042 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39043 (normal_mod_SOURCES): Likewise.
39044
39045 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39046 (normal_mod_SOURCES): Likewise.
39047
39048 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39049 (normal_mod_SOURCES): Likewise.
39050
39051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39052 (normal_mod_SOURCES): Likewise.
39053
39054 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39055 (normal_mod_SOURCES): Likewise.
39056
39057 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39058 (normal_mod_SOURCES): Likewise.
39059
16ac430e 390602009-02-11 Robert Millan <rmh@aybabtu.com>
39061
39062 * util/grub.d/00_header.in: Update old reference to `font' command.
39063
06ff20fc 390642009-02-10 Felix Zielcke <fzielcke@z-51.de>
39065
39066 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39067
39068 Based on patch from Javier Martín.
39069
96da9407 390702009-02-09 Felix Zielcke <fzielcke@z-51.de>
39071
39072 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 39073 to avoid false positives with FAT.
96da9407 39074 (grub_fstest_SOURCES): Likewise.
39075 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39076 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39078 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39079 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39081
6dca6fe4 390822009-02-09 Felix Zielcke <fzielcke@z-51.de>
39083
06ff20fc 39084 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 39085 bpb.version_specific.fat12_or_fat16.fstype and
39086 bpb.version_specific.fat32.fstype.
39087
2550c62f 390882009-02-08 Robert Millan <rmh@aybabtu.com>
39089
be110b30 39090 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 39091
56978920 390922009-02-08 Robert Millan <rmh@aybabtu.com>
39093
39094 * Makefile.in (host_os, host_cpu): New variables.
39095 (target_os): Remove. Update all users.
39096
d64399b5 390972009-02-08 Marco Gerards <marco@gnu.org>
39098
39099 * Makefile.in (enable_grub_emu_usb): New variable.
39100 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39101 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39102 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39103 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39104 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39105 `usbtest.mod' and `usbms.mod'.
39106 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39107 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39108 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39109 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39110 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39111 variables.
39112
39113 * disk/usbms.c: New file.
39114
39115 * include/grub/usb.h: Likewise.
39116
39117 * include/grub/usbtrans.h: Likewise.
39118
39119 * include/grub/usbdesc.h: Likewise.
39120
39121 * bus/usb/usbtrans.c: Likewise.
39122
39123 * bus/usb/ohci.c: Likewise.
39124
39125 * bus/usb/uhci.c: Likewise.
39126
39127 * bus/usb/usbhub.c: Likewise.
39128
39129 * bus/usb/usb.c: Likewise.
39130
39131 * commands/usbtest.c: Likewise.
39132
39133 * util/usb.c: Likewise.
50fb7002 39134
d64399b5 39135 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39136
39137 * configure.ac: Test for libusb presence.
50fb7002 39138
d64399b5 39139 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39140
2b40d6bb 391412009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39142
39143 * kern/mm.c: Add more comments.
39144
73a4ce81 391452009-02-08 Robert Millan <rmh@aybabtu.com>
39146
39147 Patch from Javier Martín.
39148 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39149 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39150
f821ce59 391512009-02-08 Robert Millan <rmh@aybabtu.com>
39152
39153 * fs/cpio.c: Split tar functionality to ...
39154 * fs/tar.c: ... here (new file). Update all users.
39155
aebfc4b0 391562009-02-07 Robert Millan <rmh@aybabtu.com>
39157
39158 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39159 backward-incompatible features.
39160
39161 Based on patch from Javier Martín, with some adjustments.
39162
50fb7002 391632009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 39164
39165 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39166
0bb5115e 391672009-02-07 Robert Millan <rmh@aybabtu.com>
39168
39169 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39170 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39171 after the RAID stuff.
39172
38a0f8e7 391732009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39174
50fb7002 39175 Fixes problem when running vbetest command as reported by
38a0f8e7 39176 Vladimir Serbinenko <phcoder@gmail.com>.
39177
39178 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39179
3143cc1c 391802009-02-04 Felix Zielcke <fzielcke@z-51.de>
39181
39182 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39183 /dev/md/NpN style mdraid devices.
39184
9cba6fce 391852009-02-03 Felix Zielcke <fzielcke@z-51.de>
39186
39187 * util/unifont2pff.rb: Remove.
39188
e507a2c1 391892009-02-03 Felix Zielcke <fzielcke@z-51.de>
39190
39191 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39192 `#'.
39193
d2c2b4cd 391942009-02-03 Felix Zielcke <fzielcke@z-51.de>
39195
39196 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39197 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39198 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39199 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39202 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39203
b4315fb0 392042009-02-02 Christian Franke <franke@computer.org>
39205
39206 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39207
de3aa260 392082009-02-01 Felix Zielcke <fzielcke@z-51.de>
39209
7c3ff286 39210 * INSTALL: Note that we now require at least autoconf 2.59 and
39211 that LZO is optional.
de3aa260 39212
825a182b 392132009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39214
39215 Base on patch on bug #24154 created by Tomas Tintera
39216 <trosos@seznam.cz>.
39217
39218 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39219
a69ef770 392202009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39221
7c3ff286 39222 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39223 <bero@arklinux.org>.
39224
39225 * normal/parser.y (script_init): Add missing semicolon.
39226
6fa42fa6 392272009-01-31 Colin D Bennett <colin@gibibit.com>
39228
7c3ff286 39229 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39230 (free_menu_entry_classes): Added.
39231 (grub_normal_menu_addentry): Added class property handling.
39232 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39233 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39234
39235 * normal/menu_viewer.c: New file.
39236
39237 * normal/menu.c (run_menu_entry): Renamed to ...
39238 (grub_menu_execute_entry): ... this and made it as global.
39239 (grub_menu_run): Renamed to ...
39240 (show_text_menu): ... this and made it local.
39241 (show_text_menu): Adapt to new function names.
39242 (grub_normal_terminal_menu_viewer): New global variable.
39243
39244 * include/grub/menu.h: New file.
39245
39246 * include/grub/menu_viewer.h: New file.
39247
39248 * include/grub/normal.h: Added include to grub/menu.h.
39249 (grub_menu_entry): Moved to include/grub/menu.h.
39250 (grub_menu_entry_t): Likewise.
39251 (grub_menu): Likewise.
39252 (grub_menu_t): Likewise.
39253 (grub_normal_terminal_menu_viewer): Added.
39254 (grub_menu_execute_entry): Likewise.
39255 (grub_menu_run): Removed.
39256
39257 * DISTLIST: Added include/grub/menu.h.
39258 Added include/grub/menu_viewer.h.
39259 Added normal/menu_viewer.c.
39260
392612009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39262
39263 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39264 arglist for menutitle arguments.
39265
39266 * normal/main.c (grub_normal_menu_addentry): Likewise.
39267
39268 * normal/parser.y (menuentry): Likewise.
39269
39270 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39271
39272 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39273 (grub_script_create_cmdmenu): Likewise.
39274
39275 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39276
39277 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39278 changes.
39279
39280 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39281
39282 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39283
39284 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39285
39286 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39287
39288 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39289
39290 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39291
56192c23 392922009-01-30 Christian Franke <franke@computer.org>
39293
39294 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39295 in option help text.
39296
d72521b3 392972009-01-27 Pavel Roskin <proski@gnu.org>
39298
39299 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39300
994b5e84 393012009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39302
39303 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39304
39305 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39306
39307 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39308 unregister function.
39309
6a7eab2c 393102009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39311
39312 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39313
39314 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39315
39316 * util/grub-mkfont.c (usage): Fix typo.
39317
39318 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39319
1806b56e 393202009-01-26 Daniel Mierswa <impulze@impulze.org>
39321
3fb18f09 39322 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39323
336e1fb9 39324 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39325
1806b56e 39326 * kern/misc.c (grub_strcasecmp): New function.
39327 (grub_strcasecmp): Use grub_size_t instead of int for length.
39328 Fix return value.
39329 * include/grub/misc.h: Update function prototypes.
39330
580b2a0f 393312009-01-26 Robert Millan <rmh@aybabtu.com>
39332
39333 * configure.ac: Fix cross-compilation check.
ef257b36 39334
d31c24f1 393352009-01-22 Christian Franke <franke@computer.org>
39336
39337 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39338 (precision) digit string. Allow `.format2' without `format1' (width).
39339 Limit input chars for `%s' output to `format2' if specified. This is
39340 compatible with standard printf ().
39341
3138b44c 393422009-01-22 Christian Franke <franke@computer.org>
39343
39344 * disk/ata.c (grub_ata_wait_status): Replace by ...
39345 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39346 other status bits may be invalid while BSY is asserted.
39347 (grub_ata_check_ready): New function.
39348 (grub_ata_cmd): Removed.
39349 (grub_ata_wait_drq): New function.
39350 (grub_ata_strncpy): Remove inline.
39351 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39352 and error check now done by grub_ata_wait_drq ().
39353 (grub_ata_pio_write): Likewise.
39354 (grub_atapi_identify): Set DEV before check for !BSY. Use
39355 grub_ata_wait_drq () to wait for data.
39356 (grub_ata_device_initialize): Add status register check to
39357 detect missing SATA slave devices. Add debug messages.
39358 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39359 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39360 transfer loop by grub_ata_pio_write ().
39361 (grub_ata_identify): Set DEV before check for !BSY. Use
39362 grub_ata_wait_drq () to wait for data.
ef257b36 39363 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39364 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39365 read/write in one loop. Fix invalid command on write. Fix incomplete
39366 command on (size % batch) == 0. Add missing error check after write of
39367 last block. Add debug messages.
39368 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39369
59a64ef6 393702009-01-19 Christian Franke <franke@computer.org>
39371
39372 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39373 (GRUB_ATAPI_IREASON_*): Likewise.
39374 (grub_ata_pio_write): Fix timeout error return.
39375 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39376 (grub_atapi_wait_drq): New function.
39377 (grub_atapi_packet): New parameter `size'.
39378 Use grub_atapi_wait_drq () and direct write instead of
39379 grub_ata_pio_write ().
39380 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39381 reads the number of bytes requested by the device for each DRQ
39382 assertion.
39383 (grub_atapi_write): Remove old implementation, return not
39384 implemented instead.
39385
1cfe20b3 393862009-01-19 Christian Franke <franke@computer.org>
39387
39388 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39389 of 512 to calculate data size.
39390 (grub_scsi_read12): Likewise.
39391 (grub_scsi_write10): Likewise.
39392 (grub_scsi_write12): Likewise.
39393 (grub_scsi_read): Adjust size according to blocksize.
39394 Add checks for invalid blocksize and unaligned transfer.
39395
bee5fe5d 393962009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39397
39398 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39399
ef257b36 39400 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39401 width glyphs.
39402
3e643f8c 394032009-01-19 Robert Millan <rmh@aybabtu.com>
39404
39405 * config.guess: Update to latest version from config git.
39406 * config.sub: Likewise.
39407
4fa80998 394082009-01-17 Felix Zielcke <fzielcke@z-51.de>
39409
39410 * Makefile.in: Change font compilation to use new grub-mkfont instead
39411 of java version.
39412
39413 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39414 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39415 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39416 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39417 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39418 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39419 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39420 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39421 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39422
7086085b 394232009-01-16 Christian Franke <franke@computer.org>
39424
39425 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39426 (enum grub_ata_timeout_milliseconds): New enum.
39427 (grub_ata_wait_status): Add parameter milliseconds.
39428 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39429 recovery from timed-out commands.
39430 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39431 return grub_errno instead of REG_ERROR.
39432 (grub_ata_pio_write): Add parameter milliseconds.
39433 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39434 Pass milliseconds to grub_ata_wait_status () and
39435 grub_ata_pio_read ().
39436 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39437 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39438 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39439 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39440 It is not suitable for device detection, because DEV bit is ignored,
39441 the command may run too long, and not all devices set the signature
39442 properly.
39443 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39444 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39445 Fix device selection, DEV bit must be set first to address the registers
39446 of the correct device.
39447 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39448 grub_ata_pio_read/write ().
39449 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39450 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39451
4a412913 394522009-01-13 Carles Pina i Estany <carles@pina.cat>
39453
39454 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39455
7795c55e 394562009-01-13 Bean <bean123ch@gmail.com>
d913988c 39457
39458 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39459
7795c55e 394602009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39461
39462 * Makefile.in: (enable_grub_mkfont): New variable.
39463 (freetype_cflags): Likewise.
39464 (freetype_libs): Likewise.
39465
39466 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39467 (grub_mkfont_SOURCES): New variable.
39468 (grub_mkfont_CFLAGS): Likewise.
39469 (grub_mkfont_LDFLAGS): Likewise.
39470
39471 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39472 library if `--enable-grub-mkfont' is requested.
39473 (enable_grub_mkfont): New variable.
39474 (freetype_cflags): Likewise.
39475 (freetype_libs): Likewise.
39476
39477 * util/grub-mkfont.c: New file.
39478
093af1fe 394792009-01-12 Christian Franke <franke@computer.org>
39480
39481 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39482 mode check. Fix setting of compat_use[].
39483
f36cc108 394842009-01-10 Robert Millan <rmh@aybabtu.com>
39485
39486 Update a few copyright years which we forgot to do in 2008 (only for
39487 files whose changes made in 2008 were copyright-significant)
39488
39489 * Makefile.in: Add 2008 to Copyright line.
39490 * disk/ieee1275/ofdisk.c: Likewise.
39491 * disk/efi/efidisk.c: Likewise.
39492 * kern/dl.c: Likewise.
39493 * kern/sparc64/ieee1275/init.c: Likewise.
39494 * kern/mm.c: Likewise.
39495 * kern/efi/mm.c: Likewise.
39496 * boot/i386/pc/boot.S: Likewise.
39497 * genfslist.sh: Likewise.
39498 * fs/iso9660.c: Likewise.
39499 * fs/hfs.c: Likewise.
39500 * fs/jfs.c: Likewise.
39501 * fs/minix.c: Likewise.
39502 * fs/ufs.c: Likewise.
39503 * gensymlist.sh.in: Likewise.
39504 * genkernsyms.sh.in: Likewise.
39505 * include/grub/misc.h: Likewise.
39506 * include/grub/types.h: Likewise.
39507 * include/grub/symbol.h: Likewise.
39508 * include/grub/elf.h: Likewise.
39509 * include/grub/kernel.h: Likewise.
39510 * include/grub/disk.h: Likewise.
39511 * include/grub/dl.h: Likewise.
39512 * include/grub/i386/linux.h: Likewise.
39513 * include/grub/i386/pc/biosdisk.h: Likewise.
39514 * include/grub/efi/api.h: Likewise.
39515 * include/grub/efi/pe32.h: Likewise.
39516 * include/grub/util/misc.h: Likewise.
39517 * normal/execute.c: Likewise.
39518 * normal/arg.c: Likewise.
39519 * normal/completion.c: Likewise.
39520 * normal/lexer.c: Likewise.
39521 * normal/parser.y: Likewise.
39522 * normal/misc.c: Likewise.
39523 * commands/i386/pc/vbeinfo.c: Likewise.
39524 * commands/hexdump.c: Likewise.
39525 * commands/terminal.c: Likewise.
39526 * commands/ls.c: Likewise.
39527 * commands/help.c: Likewise.
39528 * partmap/pc.c: Likewise.
39529 * loader/efi/chainloader.c: Likewise.
39530 * loader/multiboot_loader.c: Likewise.
39531 * loader/i386/pc/multiboot2.c: Likewise.
39532 * term/efi/console.c: Likewise.
39533 * term/i386/pc/serial.c: Likewise.
39534 * util/lvm.c: Likewise.
39535 * util/console.c: Likewise.
39536 * util/i386/efi/grub-mkimage.c: Likewise.
39537 * util/raid.c: Likewise.
39538
7f02114b 395392009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39540
39541 * commands/videotest.c: Removed include to grub/machine/memory.h.
39542
39543 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39544 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39545 (video_mod_SOURCES): Removed.
39546 (video_mod_CFLAGS): Likewise.
39547 (video_mod_LDFLAGS): Likewise.
39548 (gfxterm_mod_SOURCES): Likewise.
39549 (gfxterm_mod_CFLAGS): Likewise.
39550 (gfxterm_mod_LDFLAGS): Likewise.
39551 (videotest_mod_SOURCES): Likewise.
39552 (videotest_mod_CFLAGS): Likewise.
39553 (videotest_mod_LDFLAGS): Likewise.
39554 (bitmap_mod_SOURCES): Likewise.
39555 (bitmap_mod_CFLAGS): Likewise.
39556 (bitmap_mod_LDFLAGS): Likewise.
39557 (tga_mod_SOURCES): Likewise.
39558 (tga_mod_CFLAGS): Likewise.
39559 (tga_mod_LDFLAGS): Likewise.
39560 (jpeg_mod_SOURCES): Likewise.
39561 (jpeg_mod_CFLAGS): Likewise.
39562 (jpeg_mod_LDFLAGS): Likewise.
39563 (png_mod_SOURCES): Likewise.
39564 (png_mod_CFLAGS): Likewise.
39565 (png_mod_LDFLAGS): Likewise.
39566
39567 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39568 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39569 (video_mod_SOURCES): Added.
39570 (video_mod_CFLAGS): Likewise.
39571 (video_mod_LDFLAGS): Likewise.
39572 (videotest_mod_SOURCES): Likewise.
39573 (videotest_mod_CFLAGS): Likewise.
39574 (videotest_mod_LDFLAGS): Likewise.
39575 (bitmap_mod_SOURCES): Likewise.
39576 (bitmap_mod_CFLAGS): Likewise.
39577 (bitmap_mod_LDFLAGS): Likewise.
39578 (tga_mod_SOURCES): Likewise.
39579 (tga_mod_CFLAGS): Likewise.
39580 (tga_mod_LDFLAGS): Likewise.
39581 (jpeg_mod_SOURCES): Likewise.
39582 (jpeg_mod_CFLAGS): Likewise.
39583 (jpeg_mod_LDFLAGS): Likewise.
39584 (png_mod_SOURCES): Likewise.
39585 (png_mod_CFLAGS): Likewise.
39586 (png_mod_LDFLAGS): Likewise.
39587 (gfxterm_mod_SOURCES): Likewise.
39588 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39589 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39590
39591 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39592 grub/machine/console.h.
39593
644fff97 395942009-01-04 Jerone Young <jerone@gmail.com>
39595
39596 Make on screen instructions clearer
39597
39598 Based on patch created by Jidanni <jidanni@jidanni.org>
39599
39600 * normal/menu.c: print clearer instructions on the screen
39601
1e901a75 396022009-01-02 Colin D Bennett <colin@gibibit.com>
39603
39604 New font engine.
34c44600 39605
1e901a75 39606 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39607 build system and fixed gfxterm.c to work with different sized fonts.
39608
39609 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39610
1e901a75 39611 * configure: Re-generated.
34c44600 39612
1e901a75 39613 * DISTLIST: Removed font/manager.c.
39614 Added font/font.c.
39615 Added font/font_cmd.c.
34c44600 39616
1e901a75 39617 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39618 compilation.
34c44600 39619
1e901a75 39620 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39621
39622 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39623
39624 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39625
1e901a75 39626 * normal/menu.c: Likewise.
34c44600 39627
1e901a75 39628 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39629 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39630
1e901a75 39631 * include/grub/font.h: Replaced with new file.
34c44600 39632
1e901a75 39633 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39634 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39635 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39636 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39637 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39638 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39639 fg_red, fg_green, fg_blue, fg_alpha.
39640 (grub_video_adapter): Removed blit_glyph.
34c44600 39641 (grub_video_blit_glyph): Removed.
39642
1e901a75 39643 * font/manager.c: Removed file.
34c44600 39644
39645 * font/font.c: New file.
39646
1e901a75 39647 * font/font_cmd.c: Likewise.
34c44600 39648
1e901a75 39649 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39650
1e901a75 39651 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39652 (grub_video_vbe_map_rgba): Likewise.
39653 (grub_video_vbe_unmap_color_int): Likewise.
39654 (grub_video_vbe_blit_glyph): Removed.
39655 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39656
1e901a75 39657 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39658 (get_pixel): Likewise.
34c44600 39659 (set_pixel): Likewise.
39660
1e901a75 39661 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39662
1e901a75 39663 * term/gfxterm.c: Adapted to new font engine.
34c44600 39664
1e901a75 39665 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39666
1e901a75 39667 * term/i386/pc/vga.c: Likewise.
34c44600 39668
1e901a75 39669 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39670
1e901a75 39671 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39672
1e901a75 39673 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39674
1e901a75 39675 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39676
1e901a75 39677 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39678
1e901a75 39679 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39680
1e901a75 39681 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39682
1e901a75 39683 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39684
1e901a75 39685 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39686
39687 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39688
1e901a75 39689 * util/grub-mkconfig_lib.in: Changed font extension.
39690
278922e8 396912008-12-28 Felix Zielcke <fzielcke@z-51.de>
39692
39693 * util/getroot.c (grub_util_get_grub_dev): Add support for
39694 /dev/md/dNNpNN style partitionable mdraid devices.
39695
3ced05cf 396962008-12-12 Alex Smith <alex@alex-smith.me.uk>
39697
39698 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39699 at a time limit of the PXE TFTP API correctly.
39700 (grub_pxefs_close): Likewise.
39701
7fd0ee30 397022008-11-29 Robert Millan <rmh@aybabtu.com>
39703
34c44600 39704 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39705 grub_ata_device_initialize() calls.
39706
34c44600 397072008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39708
39709 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39710 iteration failed.
39711 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39712
89313780 397132008-11-28 Robert Millan <rmh@aybabtu.com>
39714
39715 Fix build on powerpc-ieee1275. Based on patch created by
39716 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39717 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39718 `kern/ieee1275/mmap.c'.
39719 * include/grub/powerpc/ieee1275/memory.h: New file.
39720
15257703 39721 Provide grub-install on coreboot.
39722 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39723 (grub_install_SOURCES): New variable.
39724 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39725 usable on coreboot.
39726
9fc5388a 397272008-11-25 Felix Zielcke <fzielcke@z-51.de>
39728
39729 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39730 to `grub_term_input_t'.
39731 (grub_term_get_current_output): Change return type to
39732 `grub_term_output_t'.
39733
bc3a2f31 397342008-11-22 Robert Millan <rmh@aybabtu.com>
39735
34c44600 39736 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39737 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39738 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39739 grub_vga_text_cls().
39740
80fc88f2 39741 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39742 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39743
cbf36fd3 39744 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39745 to 0x200000 (avoids trouble with some OFW implementations, and matches
39746 with the one in Yaboot).
39747 Reported by Manoel Abranches
39748
73e8e268 397492008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39750
39751 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39752 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39753
73e8e268 39754 * util/grub-mkconfig_lib.in (grub_warn): New function.
39755 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39756 warnings, to obtain consistent formatting.
39757 * util/grub.d/00_header.in: Likewise.
39758 * util/update-grub_lib.in: Likewise.
39759
e94045a1 39760 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39761 Move comment text to `#error' stanza.
e94045a1 39762
79d29fd7 39763 Harmonize ieee1275's grub_available_iterate() with the generic
39764 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39765 build problem on i386-ieee1275):
39766 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39767 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39768 parameter `type'. Update all users of this function.
39769 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39770 `kern/ieee1275/mmap.c'.
39771 * kern/ieee1275/init.c
39772 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39773 with ...
39774 (grub_machine_mmap_iterate): ... this.
39775 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39776 return type to `grub_err_t'. Update all implementations of this
39777 function prototype.
39778 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39779 Likewise.
39780
60d6b16e 39781 Add `lsmmap' command (lists firmware-provided memory map):
39782 * commands/lsmmap.c: New file.
39783 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39784 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39785 variables.
39786 * conf/powerpc-ieee1275.rmk: Likewise.
39787 * conf/i386-coreboot.rmk: Likewise.
39788 * conf/i386-ieee1275.rmk: Likewise.
39789
ebaaf49b 397902008-11-19 Robert Millan <rmh@aybabtu.com>
39791
39792 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39793 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39794 constraints to initrd allocation (based on code from
39795 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39796 for Linux to find it.
ebaaf49b 39797
dfab719f 397982008-11-14 Robert Millan <rmh@aybabtu.com>
39799
39800 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39801 order to cope with duplicate slashes.
39802
10fc3eb9 398032008-11-14 Robert Millan <rmh@aybabtu.com>
39804
39805 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39806 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39807 don't want to mess with lower memory, because it is used in the Linux
39808 loader.
39809
39810 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39811 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39812 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39813 is in our heap (probably as a result of it being corrupted during
2f2a3442 39814 decompression). Add #error instance with comment to explain why this
39815 loader isn't currently usable on PC/BIOS.
10fc3eb9 39816
e2e07847 398172008-11-14 Robert Millan <rmh@aybabtu.com>
39818
39819 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39820 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39821
fe8e8d69 398222008-11-12 Robert Millan <rmh@aybabtu.com>
39823
39824 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39825
39826 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39827 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39828 from here ...
39829 * include/grub/i386/pc/memory.h: ... to here.
39830
976b07d0 398312008-11-12 Robert Millan <rmh@aybabtu.com>
39832
39833 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39834 split).
39835
39836 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39837 (grub_console_cur_color, grub_console_real_putchar)
39838 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39839 (grub_console_setcolorstate, grub_console_setcolor)
39840 (grub_console_getcolor): Move from here ...
39841 * include/grub/i386/vga_common.h: ... to here (new file).
39842
39843 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39844 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39845 `<grub/i386/io.h>'.
39846 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39847 `<grub/i386/vga_common.h>'.
39848
76679cd3 398492008-11-12 Robert Millan <rmh@aybabtu.com>
39850
39851 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39852 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39853 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39854 variables.
39855 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39856 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39857
39858 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39859 grub_console_init() with call to grub_vga_text_init().
39860 (grub_machine_fini): Replace call to
39861 grub_console_fini() with call to grub_vga_text_fini() and
39862 grub_at_keyboard_fini().
39863
39864 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39865 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39866 (grub_console_setcolorstate, grub_console_setcolor)
39867 (grub_console_getcolor): New function prototypes.
39868
39869 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39870 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39871 (grub_vga_text_setcursor): Static-ize.
39872 (grub_vga_text_term): New structure.
39873 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39874
39875 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39876 (grub_console_cur_color, grub_console_standard_color)
39877 (grub_console_normal_color, grub_console_highlight_color)
39878 (map_char, grub_console_putchar, grub_console_getcharwidth)
39879 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39880 (grub_console_getcolor): Move from here ...
39881 * term/i386/vga_common.c: ... to here (same function names).
39882
95b841d3 398832008-11-12 Robert Millan <rmh@aybabtu.com>
39884
39885 Use newly-added Multiboot support in coreboot.
39886
39887 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39888 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39889
39890 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39891 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39892 (codestart): Store the MBI in `startup_multiboot_info' when we're
39893 being loaded using Multiboot.
39894
39895 * kern/i386/coreboot/init.c (grub_machine_init): Move
39896 grub_at_keyboard_init() call to beginning of function (useful for
39897 debugging). Call grub_machine_mmap_init() before attempting to use
39898 grub_machine_mmap_iterate().
39899 (grub_lower_mem, grub_upper_mem): Move from here ...
39900 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39901 here (new file).
39902
39903 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39904 function prototype.
39905
761ca975 399062008-11-12 Robert Millan <rmh@aybabtu.com>
39907
39908 Fix a regression introduced by the at_keyboard.mod split. Because
39909 some terminals are default on some platforms and non-default on
39910 others, the first terminal being registered determines which is
39911 going to be default.
39912
39913 * kern/term.c (grub_term_register_input): If this is the first
39914 terminal being registered, set it as the current one.
39915 (grub_term_register_output): Likewise.
39916
39917 * term/efi/console.c (grub_console_init): Do not call
39918 grub_term_set_current_output() or grub_term_set_current_input().
39919 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39920 * term/i386/pc/console.c (grub_console_init): Likewise.
39921 (grub_console_fini): Do not call grub_term_set_current_input()
39922 (but leave grub_term_set_current_output() to restore text mode).
39923
6c529df7 399242008-11-10 Robert Millan <rmh@aybabtu.com>
39925
39926 * util/grub.d/00_header.in: Add backward compatibility check for
39927 versions of terminal.mod that don't understand `terminal_input' or
39928 `terminal_output'.
39929
132e4113 399302008-11-09 Robert Millan <rmh@aybabtu.com>
39931
39932 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39933 `terminal_input' / `terminal_output', not `terminal'.
39934
ac293d50 399352008-11-08 Robert Millan <rmh@aybabtu.com>
39936
39937 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39938 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39939
0025933a 399402008-11-08 Robert Millan <rmh@aybabtu.com>
39941
39942 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39943 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39944 members. Update all users.
39945 * util/console.c (grub_ncurses_term): Split in ...
39946 (grub_ncurses_term_input): ... this, and ...
39947 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39948 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39949
37c86336 399502008-11-08 Robert Millan <rmh@aybabtu.com>
39951
39952 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39953 (PKGDATA): Add $(pkgdata_SRCDIR).
39954 (pkglib_BUILDDIR): New variable.
39955 (pkgdata_SRCDIR): New variable.
39956 (build_env.mk): New target.
39957 (include_DATA): New variable.
39958 (install-local): Install $(include_DATA) files in $(includedir).
39959
b6c15a2d 399602008-11-07 Pavel Roskin <proski@gnu.org>
39961
d99d46f1 39962 * gendistlist.sh: Use C locale for sorting to ensure consistent
39963 output on all systems.
39964
b6c15a2d 39965 * util/grub.d/00_header.in: Remove incorrect space before
39966 "serial".
39967
c32ee8c9 399682008-11-07 Robert Millan <rmh@aybabtu.com>
39969
39970 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39971 per specification.
39972 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39973 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39974 (based on find_multi_boot1_header).
39975 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39976 using find_multi_boot2_header(), and abort if neither Multiboot or
39977 Multiboot headers were found.
39978
651c29b7 399792008-11-07 Robert Millan <rmh@aybabtu.com>
39980
39981 Modularize at_keyboard.mod:
39982
39983 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39984 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39985 (at_keyboard_mod_LDFLAGS): New variables.
39986
39987 Actual terminal split:
39988
39989 * include/grub/term.h (struct grub_term): Split in ...
39990 (struct grub_term_input): ... this, and ...
39991 (struct grub_term_output): ... this. Update all users.
39992 (grub_term_set_current): Split in ...
39993 (grub_term_set_current_input): ... this, and ...
39994 (grub_term_set_current_output): ... this.
39995 (grub_term_get_current): Split in ...
39996 (grub_term_get_current_input): ... this, and ...
39997 (grub_term_get_current_output): ... this.
39998 (grub_term_register): Split in ...
39999 (grub_term_register_input): ... this, and ...
40000 (grub_term_register_output): ... this.
40001 (grub_term_unregister): Split in ...
40002 (grub_term_unregister_input): ... this, and ...
40003 (grub_term_unregister_output): ... this.
40004 (grub_term_iterate): Split in ...
40005 (grub_term_iterate_input): ... this, and ...
40006 (grub_term_iterate_output): ... this.
40007
40008 * kern/term.c (grub_term_list): Split in ...
40009 (grub_term_list_input): ... this, and ...
40010 (grub_term_list_output): ... this. Update all users.
40011 (grub_cur_term): Split in ...
40012 (grub_cur_term_input): ... this, and ...
40013 (grub_cur_term_output): ... this. Update all users.
40014 (grub_term_set_current): Split in ...
40015 (grub_term_set_current_input): ... this, and ...
40016 (grub_term_set_current_output): ... this.
40017 (grub_term_get_current): Split in ...
40018 (grub_term_get_current_input): ... this, and ...
40019 (grub_term_get_current_output): ... this.
40020 (grub_term_register): Split in ...
40021 (grub_term_register_input): ... this, and ...
40022 (grub_term_register_output): ... this.
40023 (grub_term_unregister): Split in ...
40024 (grub_term_unregister_input): ... this, and ...
40025 (grub_term_unregister_output): ... this.
40026 (grub_term_iterate): Split in ...
40027 (grub_term_iterate_input): ... this, and ...
40028 (grub_term_iterate_output): ... this.
40029
40030 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
40031 a check for input and one for output (and only attempt to get keys
40032 from user when input works).
40033
40034 * util/grub-probe.c (grub_term_get_current): Split in ...
40035 (grub_term_get_current_input): ... this, and ...
40036 (grub_term_get_current_output): ... this.
40037 * util/grub-fstest.c: Likewise.
40038 * util/i386/pc/grub-setup.c: Likewise.
40039 * util/grub-editenv.c: Likewise.
40040
40041 Portability adjustments:
40042
40043 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40044 `term/i386/pc/at_keyboard.c'.
40045 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40046 grub_keyboard_controller_init() (now handled by terminal .init).
40047 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40048 grub_at_keyboard_init().
40049 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40050 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40051 at_keyboard.mod via input terminal interface).
40052 * include/grub/i386/coreboot/console.h: Convert into a stub for
40053 `<grub/i386/pc/console.h>'.
40054
40055 Migrate full terminals to new API:
40056
40057 * term/efi/console.c (grub_console_term): Split into ...
40058 (grub_console_term_input): ... this, and ...
40059 (grub_console_term_output): ... this. Update all users.
40060 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40061 (grub_ofconsole_init): Split into ...
40062 (grub_ofconsole_init_input): ... this, and ...
40063 (grub_ofconsole_init_output): ... this.
40064 (grub_ofconsole_term): Split into ...
40065 (grub_ofconsole_term_input): ... this, and ...
40066 (grub_ofconsole_term_output): ... this. Update all users.
40067 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40068 (grub_serial_term_input): ... this, and ...
40069 (grub_serial_term_output): ... this. Update all users.
40070 * term/i386/pc/console.c (grub_console_term): Split into ...
40071 (grub_console_term_input): ... this, and ...
40072 (grub_console_term_output): ... this. Update all users.
40073 (grub_console_term_input): Only enable it on PC/BIOS platform.
40074 (grub_console_init): Remove grub_keyboard_controller_init() call.
40075
40076 Migrate input terminals to new API:
40077
40078 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40079 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40080 i386-specific anyway).
40081 (grub_console_checkkey): Rename to ...
40082 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40083 users.
40084 (grub_keyboard_controller_orig): New variable.
40085 (grub_console_getkey): Rename to ...
40086 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40087 users.
40088 (grub_keyboard_controller_init): Static-ize. Save original
40089 controller value so that it can be restored ...
40090 (grub_keyboard_controller_fini): ... here (new function).
40091 (grub_at_keyboard_term): New structure.
40092 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40093 functions.
40094
40095 Migrate output terminals to new API:
40096
40097 * term/i386/pc/vga.c (grub_vga_term): Change type to
40098 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40099 members. Update all users.
40100 * term/gfxterm.c (grub_video_term): Change type to
40101 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40102 members. Update all users.
40103 * include/grub/i386/pc/console.h (grub_console_checkkey)
40104 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40105 etc).
40106
40107 Migrate `terminal' command and userland tools to new API:
40108
40109 * commands/terminal.c (grub_cmd_terminal): Split into ...
40110 (grub_cmd_terminal_input): ... this, and ...
40111 (grub_cmd_terminal_output): ... this.
40112 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40113 `terminal_input' and `terminal_output'.
40114 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40115 `terminal_input' / `terminal_output' API.
40116 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40117 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40118 provided ${GRUB_TERMINAL}, convert it).
40119
96e5d876 401202008-11-04 Robert Millan <rmh@aybabtu.com>
40121
40122 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40123 for FreeBSD.
40124 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40125
556f3775 401262008-11-03 Bean <bean123ch@gmail.com>
40127
40128 * kern/elf.c (grub_elf32_load): Revert to previous code.
40129 (grub_elf64_load): Likewise.
40130
40131 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40132
926b9823 401332008-11-01 Robert Millan <rmh@aybabtu.com>
40134
40135 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40136 (TARGET_CPPFLAGS): Likewise.
40137 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40138
1432e958 401392008-11-01 Carles Pina i Estany <carles@pina.cat>
40140
40141 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40142
dba3f844 401432008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 40144
40145 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40146 addition of objects until the code is not going to be able to fail.
40147
dba3f844 401482008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 40149
40150 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40151 (add a missing NULL check, and correct them by moving the pointer
40152 operations after the actual check).
40153
7ab28c21 401542008-10-29 Robert Millan <rmh@aybabtu.com>
40155
40156 * util/i386/pc/grub-install.in: Handle empty string as output from
40157 make_system_path_relative_to_its_root().
40158
1b7748eb 401592008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40160
40161 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40162 circular metadata worst case scenario. If the metadata is circular
40163 then copy the wrap in place.
40164 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40165 project lib/format_text/layout.h
40166 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40167
c9618ab2 401682008-10-03 Felix Zielcke <fzielcke@z-51.de>
40169
7a36edca 40170 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 40171
bf981c62 401722008-10-03 Felix Zielcke <fzielcke@z-51.de>
40173
40174 * util/update-grub_lib.in: Mention filename in warning message.
40175
6d994591 401762008-09-29 Felix Zielcke <fzielcke@z-51.de>
40177
40178 * NEWS: Update for rename of update-grub to grub-mkconfig.
40179
18ade780 401802008-09-29 Felix Zielcke <fzielcke@z-51.de>
40181
40182 * util/update-grub_lib.in: Copy to ...
40183 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 40184 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 40185 * util/update-grub.in: Rename to ...
40186 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40187 option. Add `--output' option to allow users to specify the generated
40188 configuration file. Default to stdout.
40189 (update_grub_dir): Rename to ...
40190 (grub_mkconfig_dir): ... this.
40191 (grub_cfg): Default to an empty string.
40192 * conf/common.rmk (update-grub): Rename to ...
40193 (grub-mkconfig): ... this.
40194 (update-grub_lib): Copy to ...
40195 (grub-mkconfig_lib): ... this.
40196 (update-grub_SCRIPTS): Copy to ...
40197 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40198 (update-grub_DATA): Rename to ...
40199 (grub-mkconfig_DATA): ... this.
40200
556ce6ac 402012008-09-28 Robert Millan <rmh@aybabtu.com>
40202
40203 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40204 to `modified'. Add the real `created' field.
40205 (grub_iso9660_uuid): Use `modified' rather than `created' for
40206 constructing the UUID.
40207
402082008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 40209
40210 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40211 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40212
92274e85 402132008-09-28 Bean <bean123ch@gmail.com>
40214
40215 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40216 Thanks to Christian Franke for finding this bug.
40217
add6f17a 402182008-09-25 Robert Millan <rmh@aybabtu.com>
40219
40220 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40221 instances of grub_util_get_disk_name() (see previous commit).
40222
d2a367b8 402232008-09-25 Robert Millan <rmh@aybabtu.com>
40224
40225 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40226 `util/i386/get_disk_name.c'.
40227 * conf/i386-efi.rmk: Likewise.
40228 * conf/x86_64-efi.rmk: Likewise.
40229 * conf/i386-coreboot.rmk: Likewise.
40230 * conf/i386-ieee1275.rmk: Likewise.
40231 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40232 `util/ieee1275/get_disk_name.c'.
40233 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40234 * util/ieee1275/get_disk_name.c: Remove file.
40235 * util/i386/get_disk_name.c: Remove file.
40236 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40237 "hd%d" for device.map entries, rather than using
40238 grub_util_get_disk_name().
40239
81a06771 402402008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40241
40242 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40243 warning.
40244 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40245
5a004279 402462008-09-24 Carles Pina i Estany <carles@pina.cat>
40247
40248 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40249 Changed to 0x5100.
40250 (GRUB_TERM_PPAGE): Changed to 0x4900.
40251
397093d3 402522008-09-24 Robert Millan <rmh@aybabtu.com>
40253
40254 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40255 macros (they were i386-pc specific).
40256 * include/grub/sparc64/ieee1275/console.h: Likewise.
40257 * include/grub/efi/console.h: Likewise.
40258
a91b6c7c 402592008-09-22 Bean <bean123ch@gmail.com>
40260
40261 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40262 resident and in attribute list.
40263
40264 * include/grub/ntfs.h (BMP_LEN): Removed.
40265
c40fd116 402662008-09-22 Bean <bean123ch@gmail.com>
40267
81a06771 40268 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40269 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40270
40271 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40272 error occurs, as grub_disk_open will call grub_disk_close, which will
40273 call p->close (scsi).
40274
81a06771 402752008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40276
40277 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40278 (AC_PREREQ): Bumped to 2.59.
40279 (AC_TRY_COMPILE): Replace obsolete macro with ...
40280 (AC_COMPILE_IFELSE): ... this.
40281 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40282 (AC_LINK_IFELSE): ... this.
40283
5dc43410 402842008-09-21 Felix Zielcke <fzielcke@z-51.de>
40285
40286 * autogen.sh: Add a call to `gendistlist.sh'.
40287
9035dce4 402882008-09-19 Christian Franke <franke@computer.org>
40289
40290 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40291 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40292 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40293 Export __enable_execute_stack() to modules.
40294 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40295 New function.
40296
7fd75377 402972008-09-09 Felix Zielcke <fzielcke@z-51.de>
40298
040030b3 40299 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40300 Sort the list.
40301
403022008-09-09 Felix Zielcke <fzielcke@z-51.de>
40303
40304 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40305 #include <grub/util/hostdisk.h>.
40306
89d5ffcf 403072008-09-08 Robert Millan <rmh@aybabtu.com>
40308
40309 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40310 segments when their filesz is zero (grub_file_read() interprets
81a06771 40311 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40312 Use `lowest_segment' rather than 0 for calculating the current
40313 segment load address.
40314
40da438f 403152008-09-08 Robert Millan <rmh@aybabtu.com>
40316
40317 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40318 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40319 clobbered useful information.
40320
ddbf5556 403212008-09-08 Robert Millan <rmh@aybabtu.com>
40322
40323 * include/grub/util/biosdisk.h: Move to ...
40324 * include/grub/util/hostdisk.h: ... here. Update all users.
40325 * util/biosdisk.c: Move to ...
40326 * util/hostdisk.c: ... here. Update all users.
40327
783d0f48 403282008-09-07 Robert Millan <rmh@aybabtu.com>
40329
40330 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40331 variables.
40332 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40333 and length can be stored directly in the `mbi->mmap_addr' and
40334 `mbi->mmap_length' struct fields.
40335
548e2ea5 403362008-09-07 Robert Millan <rmh@aybabtu.com>
40337
40338 * conf/i386.rmk: New file. Provides declaration for building
40339 `cpuid.mod'.
40340 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40341 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40342 variables.
40343 Include `conf/i386.mk'.
40344 * conf/i386-efi.rmk: Likewise.
40345 * conf/x86_64-efi.rmk: Likewise.
40346 * conf/i386-coreboot.rmk: Likewise.
40347 * conf/i386-ieee1275.rmk: Likewise.
40348
0ea85a37 403492008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40350
40351 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40352 Adds optimization support for BGR based modes.
40353
40354 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40355 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40356 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40357 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40358 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40359 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40360 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40361 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40362 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40363 (grub_video_i386_vbeblit_index_index): Likewise.
40364 (grub_video_i386_vbeblit_replace_directN): Added.
40365 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40366 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40367 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40368 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40369 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40370 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40371 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40372 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40373 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40374 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40375 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40376 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40377 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40378
40379 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40380 (grub_video_i386_vbefill_R8G8B8): Likewise.
40381 (grub_video_i386_vbefill_index): Likewise.
40382 (grub_video_i386_vbefill_direct32): Added.
40383 (grub_video_i386_vbefill_direct24): Likewise.
40384 (grub_video_i386_vbefill_direct16): Likewise.
40385 (grub_video_i386_vbefill_direct8): Likewise.
40386
81a06771 40387 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40388 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40389 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40390 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40391 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40392 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40393
0ea85a37 40394 * video/video.c (grub_video_get_blit_format): Updated to use new
40395 blit formats. Added handling for 16 bit color modes.
81a06771 40396
40397 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40398 fillers.
40399 (common_blitter): Updated to use new blitters.
40400
40401 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40402 Removed.
40403 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40404 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40405 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40406 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40407 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40408 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40409 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40410 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40411 (grub_video_i386_vbeblit_index_index): Likewise.
40412 (grub_video_i386_vbeblit_replace_directN): Added.
40413 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40414 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40415 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40416 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40417 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40418 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40419 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40420 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40421 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40422 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40423 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40424 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40425 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40426
0ea85a37 40427 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40428 (grub_video_i386_vbefill_R8G8B8): Likewise.
40429 (grub_video_i386_vbefill_index): Likewise.
40430 (grub_video_i386_vbefill_direct32): Added.
40431 (grub_video_i386_vbefill_direct24): Likewise.
40432 (grub_video_i386_vbefill_direct16): Likewise.
40433 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40434
0ea85a37 40435 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40436 types.
81a06771 40437
0ea85a37 40438 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40439 types.
81a06771 40440
0ea85a37 40441 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40442 blitter types.
81a06771 40443
0ea85a37 40444 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40445 types.
40446
e8a83df6 404472008-09-06 Felix Zielcke <fzielcke@z-51.de>
40448
40449 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40450 RAID level 1.
40451
6bcd8ee5 404522008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40453
6bcd8ee5 40454 * fs/iso9660.c (grub_iso9660_date): New structure.
40455 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40456 (grub_iso9660_uuid): New function.
c375ae58 40457
59261157 404582008-09-05 Bean <bean123ch@gmail.com>
40459
40460 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40461
40462 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40463 insensitive bit for names in Win32 and Win32 & DOS namespace.
40464
40465 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40466
40467 * include/grub/types.h (LONG_MAX): Likewise.
40468
58b6645a 404692008-09-04 Felix Zielcke <fzielcke@z-51.de>
40470
4ee55921 40471 * util/getroot.c: Include <config.h>.
40472 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40473 add support for /dev/md/N devices and handle LVM double dash escaping.
40474
404752008-09-04 Felix Zielcke <fzielcke@z-51.de>
40476
40477 * config.guess: Update to latest version from config git.
40478 * config.sub: Likewise.
58b6645a 40479
9124f65d 404802008-09-03 Robert Millan <rmh@aybabtu.com>
40481
40482 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40483 `disk->total_sectors'.
40484
81a06771 404852008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40486
40487 * include/grub/normal.h: Fixed incorrect comment for
40488 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40489
81a06771 404902008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40491
40492 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40493 values with defines.
40494
40495 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40496 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40497 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40498 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40499 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40500 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40501 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40502 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40503 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40504 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40505 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40506 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40507 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40508 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40509 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40510 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40511 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40512 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40513 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40514
93d5cbf8 405152008-08-31 Robert Millan <rmh@aybabtu.com>
40516
40517 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40518 declaration.
40519 (grub_multiboot): Fix a few warnings.
40520
21751d50 405212008-08-31 Robert Millan <rmh@aybabtu.com>
40522
40523 * loader/i386/pc/multiboot.c: Update comment not to say that
40524 boot_device support is unimplemented.
40525
e27a75c5 405262008-08-31 Robert Millan <rmh@aybabtu.com>
40527
40528 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40529 or memory map support are unimplemented.
40530
81a06771 405312008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40532
40533 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40534
81a06771 405352008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40536
40537 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40538 total video memory in 'vbeinfo' output; show color format details for
40539 each video mode.
40540
7c5d8d95 405412008-08-30 Pavel Roskin <proski@gnu.org>
40542
40543 * util/genmoddep.c: Remove for real this time.
40544 * DISTLIST: Remove util/genmoddep.c.
40545
4cebd25a 405462008-08-30 Robert Millan <rmh@aybabtu.com>
40547
40548 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40549 as required by Multiboot spec (it was already 4-byte aligned, but
40550 only by chance).
40551
b497a269 405522008-08-29 Pavel Roskin <proski@gnu.org>
40553
e3925185 40554 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40555 * kern/powerpc/ieee1275/startup.S: ... this.
40556 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40557 * DISTLIST: Likewise.
40558
b497a269 40559 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40560 grub/cpu/kernel.h. Add start label for consistency with other
40561 platforms. Add grub_prefix immediately after start. Add jump
40562 to the code after grub_prefix.
40563 * include/grub/powerpc/kernel.h: Provide valid values for
40564 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40565
6e5a42fe 405662008-08-29 Bean <bean123ch@gmail.com>
40567
40568 * configure.ac: Change host_os to cygwin for mingw.
40569 (asprintf): New check for function.
40570
40571 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40572 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40573
40574 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40575 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40576 sync, sleep and grub_util_get_disk_size for mingw.
40577
40578 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40579 to get size in mingw.
40580 (open_device): Use flag O_BINARY if it's defined.
40581 (find_root_device): Add dummy code for mingw.
40582
40583 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40584 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40585 (get_scsi_disk_name): Return 0 for mingw.
40586
40587 * util/hostfs.c: #include <grub/util/misc.h>.
40588 (grub_hostfs_open): Use "rb" flag to open file, use
40589 grub_util_get_disk_size to get disk size for mingw.
40590
40591 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40592 (asprintf): New function if HAVE_ASPRINTF is not set.
40593 (sync): New function for mingw.
40594 (sleep): Likewise.
40595 (grub_util_get_disk_size): Likewise.
40596
ab3f2673 405972008-08-28 Pavel Roskin <proski@gnu.org>
40598
40599 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40600 kern/time.c.
40601
1c282483 406022008-08-28 Robert Millan <rmh@aybabtu.com>
40603
40604 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40605
678e849c 406062008-08-28 Robert Millan <rmh@aybabtu.com>
40607
40608 Change find_grub_drive() syntax so it doesn't prevent it from
40609 detecting NULL names as errors.
40610
40611 * util/biosdisk.c (find_grub_drive): Move free slot search code
40612 from here ...
40613 (find_free_slot): ... to here.
40614 (read_device_map): Use find_free_slot() to search for free slots.
40615
965c75ca 406162008-08-27 Marco Gerards <marco@gnu.org>
40617
40618 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40619 (scsi_mod_SOURCES): New variable.
40620 (scsi_mod_CFLAGS): Likewise
40621 (scsi_mod_LDFLAGS): Likewise.
40622
40623 * disk/scsi.c: New file.
40624
40625 * include/grub/scsi.h: Likewise.
40626
40627 * include/grub/scsicmd.h: Likewise.
40628
40629 * disk/ata.c: Include <grub/scsi.h>.
40630 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40631 instead.
40632 (grub_ata_iterate): Skip ATAPI devices.
40633 (grub_ata_open): Only handle ATAPI devices.
40634 (struct grub_atapi_read): Removed.
40635 (grub_atapi_readsector): Likewise.
40636 (grub_ata_read): No longer handle ATAPI devices.
40637 (grub_ata_write): Likewise.
40638 (grub_atapi_iterate): New function.
40639 (grub_atapi_read): Likewise.
40640 (grub_atapi_write): Likewise.
40641 (grub_atapi_open): Likewise.
40642 (grub_atapi_close): Likewise.
40643 (grub_atapi_dev): New variable.
40644 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40645 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40646
40647 * include/grub/disk.h (enum grub_disk_dev_id): Add
40648 `GRUB_DISK_DEVICE_SCSI_ID'.
40649
c07ae501 406502008-08-26 Robert Millan <rmh@aybabtu.com>
40651
40652 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40653 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40654 descriptive.
40655
5ed20adc 406562008-08-23 Bean <bean123ch@gmail.com>
40657
40658 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40659 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40660 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40661 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40662 dm_nv.mod.
40663 (raid5rec_mod_SOURCES): New macro.
40664 (raid5rec_mod_CFLAGS): Likewise.
40665 (raid5rec_mod_LDFLAGS): Likewise.
40666 (raid6rec_mod_SOURCES): Likewise.
40667 (raid6rec_mod_CFLAGS): Likewise.
40668 (raid6rec_mod_LDFLAGS): Likewise.
40669 (mdraid_mod_SOURCES): Likewise.
40670 (mdraid_mod_CFLAGS): Likewise.
40671 (mdraid_mod_LDFLAGS): Likewise.
40672 (dm_nv_mod_SOURCES): Likewise.
40673 (dm_nv_mod_CFLAGS): Likewise.
40674 (dm_nv_mod_LDFLAGS): Likewise.
40675
40676 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40677 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40678 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40679
40680 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40681 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40682
40683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40684
40685 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40686
40687 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40688
40689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40690
40691 * disk/raid5_recover.c: New file.
40692
40693 * disk/raid6_recover.c: Likewise.
40694
40695 * disk/mdraid_linux.c: Likewise.
40696
40697 * disk/dmraid_nvidia.c: Likewise.
40698
40699 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40700 ULONG_MAX.
40701
40702 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40703 calculate the size of raid device.
40704 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40705 different layout of raid5.
40706 (grub_raid_scan_device): Remove code specific to mdraid.
40707 (grub_raid_list): New variable.
40708 (free_array): New function.
40709 (grub_raid_register): Likewise.
40710 (grub_raid_unregister): Likewise.
40711 (grub_raid_rescan): Likewise.
40712 (GRUB_MOD_INIT): Don't iterate device here.
40713 (GRUB_MOD_FINI): Use free_array to release resource.
40714
40715 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40716 (grub_raid5_recover_func_t): New function variable type.
40717 (grub_raid6_recover_func_t): Likewise.
40718 (grub_raid5_recover_func): New variable.
40719 (grub_raid6_recover_func): Likewise.
40720 (grub_raid_register): New function.
40721 (grub_raid_unregister): Likewise.
40722 (grub_raid_rescan): Likewise.
40723 (grub_raid_block_xor): Likewise.
40724
40725 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40726 (CMD_CRC): New macro.
40727 (part): Removed.
40728 (read_file): Handle device as well as file.
40729 (cmd_crc): New function.
40730 (fstest): Handle multiple disks.
40731 (options): Remove part, raw and long, add root and diskcount.
40732 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40733 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40734 add handling for the new options, support multiple disks.
40735
40736 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40737
29c18915 407382008-08-23 Bean <bean123ch@gmail.com>
40739
40740 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40741
40742 * genfslist.sh: Ignore kernel.mod.
40743
40744 * genpartmaplist.sh: Likewise.
40745
8415f261 407462008-08-23 Robert Millan <rmh@aybabtu.com>
40747
40748 * util/getroot.c (find_root_device): Skip anything that starts with
40749 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40750
d5a7dc5b 407512008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40752
d5a7dc5b 40753 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40754 * util/grub.d/00_header.in: Allow the administrator to change default
40755 gfxmode via ${GRUB_GFXMODE}.
40756
380cfbb4 407572008-08-21 Felix Zielcke <fzielcke@z-51.de>
40758
40759 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40760
c9baafe7 407612008-08-21 Robert Millan <rmh@aybabtu.com>
40762
40763 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40764 loader.
40765 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40766 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40767
e290bef2 407682008-08-20 Carles Pina i Estany <carles@pina.cat>
40769
40770 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40771 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40772
f9dbfc96 407732008-08-19 Robert Millan <rmh@aybabtu.com>
40774
40775 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40776 (struct grub_virtual_screen): Remove `cursor_color'.
40777 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40778 initialization.
40779 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40780
dd6bd6ab 407812008-08-18 Robert Millan <rmh@aybabtu.com>
40782
40783 Unify (identical) linux_normal.c files.
40784 * loader/i386/efi/linux_normal.c: Move from here ...
40785 * loader/linux_normal.c: ... to here. Update all users.
40786 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40787 * loader/i386/ieee1275/linux_normal.c: Likewise.
40788
7f42f83e 407892008-08-18 Robert Millan <rmh@aybabtu.com>
40790
40791 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40792 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40793 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40794 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40795 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40796 New macros.
40797 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40798 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40799 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40800 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40801 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40802 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40803 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40804 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40805 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40806 portably using grub_getxy().
40807 Replace `-EFI' with `-bzImage' in boot message.
40808
38487ddb 408092008-08-17 Robert Millan <rmh@aybabtu.com>
40810
40811 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40812
deceb3ec 408132008-08-17 Robert Millan <rmh@aybabtu.com>
40814
40815 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40816
40817 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40818 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40819 (grub_machine_mmap_iterate): New function declaration.
40820 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40821 structure.
40822 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40823 macros.
40824
40825 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40826 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40827 Move e820 parsing from here ...
40828 * kern/i386/pc/mmap.c: New file.
40829 (grub_machine_mmap_iterate): ... to here.
40830
40831 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40832 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40833 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40834 (grub_available_iterate): Redeclare to return `void', and redeclare
40835 its hook to use grub_uint64_t as addr and size parameters, and rename
40836 to ...
40837 (grub_machine_mmap_iterate): ... this. Update all users.
40838
40839 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40840 to make it more readable. Rename to ...
40841 (grub_machine_mmap_iterate): ... this.
40842
40843 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40844 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40845 (grub_multiboot): Allocate an extra region after the payload, and fill
40846 it with a Multiboot memory map. Adjust a.out loader to calculate size
40847 with the extra space.
40848 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40849 with the extra space.
40850
f8aa0f43 408512008-08-17 Carles Pina i Estany <carles@pina.cat>
40852
9807deb9 40853 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40854
605f5bb6 408552008-08-17 Felix Zielcke <fzielcke@z-51.de>
40856
40857 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40858 mdate-sh to the list `find' searches for.
40859 * DISTLIST: Regenerated.
40860
210db6c6 408612008-08-16 Felix Zielcke <fzielcke@z-51.de>
40862
40863 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40864 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40865 genmoddep.awk, gensymlist.sh.in.
40866 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40867 * DISTLIST: Regenerated.
48cdbfd4 40868 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40869
1082b929 408702008-08-16 Robert Millan <rmh@aybabtu.com>
40871
40872 * disk/raid.c (grub_raid_init): Handle/report errors set by
40873 grub_device_iterate().
40874 * disk/lvm.c (grub_lvm_init): Likewise.
40875
42ce5170 408762008-08-15 Bean <bean123ch@gmail.com>
40877
40878 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40879 and datehook.mod.
40880 (datetime_mod_SOURCES): New macro.
40881 (datetime_mod_CFLAGS): Likewise.
40882 (datetime_mod_LDFLAGS): Likewise.
40883 (date_mod_SOURCES): Likewise.
40884 (date_mod_CFLAGS): Likewise.
40885 (date_mod_LDFLAGS): Likewise.
40886 (datehook_mod_SOURCES): Likewise.
40887 (datehook_mod_CFLAGS): Likewise.
40888 (datehook_mod_LDFLAGS): Likewise.
40889
40890 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40891 and datehook.mod.
40892 (datetime_mod_SOURCES): New macro.
40893 (datetime_mod_CFLAGS): Likewise.
40894 (datetime_mod_LDFLAGS): Likewise.
40895 (date_mod_SOURCES): Likewise.
40896 (date_mod_CFLAGS): Likewise.
40897 (date_mod_LDFLAGS): Likewise.
40898 (datehook_mod_SOURCES): Likewise.
40899 (datehook_mod_CFLAGS): Likewise.
40900 (datehook_mod_LDFLAGS): Likewise.
40901
40902 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40903 and datehook.mod.
40904 (datetime_mod_SOURCES): New macro.
40905 (datetime_mod_CFLAGS): Likewise.
40906 (datetime_mod_LDFLAGS): Likewise.
40907 (date_mod_SOURCES): Likewise.
40908 (date_mod_CFLAGS): Likewise.
40909 (date_mod_LDFLAGS): Likewise.
40910 (datehook_mod_SOURCES): Likewise.
40911 (datehook_mod_CFLAGS): Likewise.
40912 (datehook_mod_LDFLAGS): Likewise.
40913
40914 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40915 and datehook.mod.
40916 (datetime_mod_SOURCES): New macro.
40917 (datetime_mod_CFLAGS): Likewise.
40918 (datetime_mod_LDFLAGS): Likewise.
40919 (date_mod_SOURCES): Likewise.
40920 (date_mod_CFLAGS): Likewise.
40921 (date_mod_LDFLAGS): Likewise.
40922 (datehook_mod_SOURCES): Likewise.
40923 (datehook_mod_CFLAGS): Likewise.
40924 (datehook_mod_LDFLAGS): Likewise.
40925
40926 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40927 and datehook.mod.
40928 (datetime_mod_SOURCES): New macro.
40929 (datetime_mod_CFLAGS): Likewise.
40930 (datetime_mod_LDFLAGS): Likewise.
40931 (date_mod_SOURCES): Likewise.
40932 (date_mod_CFLAGS): Likewise.
40933 (date_mod_LDFLAGS): Likewise.
40934 (datehook_mod_SOURCES): Likewise.
40935 (datehook_mod_CFLAGS): Likewise.
40936 (datehook_mod_LDFLAGS): Likewise.
40937
40938 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40939
40940 * commands/date.c: New file.
40941
40942 * hook/datehook.c: Likewise.
40943
40944 * include/grub/lib/datetime.h: Likewise.
40945
40946 * include/grub/i386/cmos.h: Likewise.
40947
40948 * lib/datetime.c: Likewise.
40949
40950 * lib/i386/datetime.c: Likewise.
40951
40952 * lib/efi/datetime.c: Likewise.
40953
0e9242da 409542008-08-14 Robert Millan <rmh@aybabtu.com>
40955
40956 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40957 (grub_mkelfimage_SOURCES): New variable.
40958 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40959
40960 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40961 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40962 * conf/powerpc-ieee1275.rmk: Likewise.
40963 * conf/i386-ieee1275.rmk: Likewise.
40964
40965 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40966 * kern/i386/coreboot/init.c: Likewise.
40967
40968 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40969 with `<grub/cpu/kernel.h>'.
40970 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40971 to ...
40972 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40973 * kern/i386/coreboot/startup.S: Likewise.
40974
40975 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40976 (GRUB_MOD_GAP): Remove.
40977 * include/grub/powerpc/kernel.h: New file.
40978 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40979 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40980 * include/grub/i386/kernel.h: New file.
40981 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40982 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40983 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40984
40985 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40986 `grub-mkelfimage'.
40987 Use --directory when invoking grub_mkimage.
40988
40989 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40990 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40991 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40992 and GRUB_KERNEL_CPU_PREFIX.
40993
b86408f8 409942008-08-14 Felix Zielcke <fzielcke@z-51.de>
40995
d5e619ca 40996 * include/grub/err.h (grub_err_printf): New function prototype.
40997 * util/misc.c (grub_err_printf): New function.
40998 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40999 grub_printf.
41000 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 41001
7161f0e0 410022008-08-13 Robert Millan <rmh@aybabtu.com>
41003
41004 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
41005
a1967522 410062008-08-13 Robert Millan <rmh@aybabtu.com>
41007
41008 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
41009 boot entry.
41010
371458b5 410112008-08-12 Robert Millan <rmh@aybabtu.com>
41012
41013 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
41014 of the relocation code from here ...
41015 (grub_multiboot): ... to here.
41016 (forward_relocator, backward_relocator): Move from here ...
41017 * kern/i386/loader.S (grub_multiboot_forward_relocator)
41018 (grub_multiboot_backward_relocator): ... to here.
41019 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
41020 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
41021 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
41022 (grub_multiboot_forward_relocator_end)
41023 (grub_multiboot_backward_relocator)
41024 (grub_multiboot_backward_relocator_end): New variables.
41025
05f9452b 410262008-08-12 Bean <bean123ch@gmail.com>
41027
41028 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
41029
20024ab0 410302008-08-11 Robert Millan <rmh@aybabtu.com>
41031
41032 * kern/i386/linuxbios/startup.S: Move from here ...
41033 * kern/i386/coreboot/startup.S: ... to here.
41034
41035 * kern/i386/linuxbios/init.c: Move from here ...
41036 * kern/i386/coreboot/init.c: ... to here.
41037
41038 * kern/i386/linuxbios/table.c: Move from here ...
41039 * kern/i386/coreboot/mmap.c: ... to here.
41040
41041 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41042
e352e9cd 410432008-08-11 Robert Millan <rmh@aybabtu.com>
41044
41045 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41046 errors. Leave it to the upper layer to handle them.
41047
2d05bc6a 410482008-08-09 Christian Franke <franke@computer.org>
41049
41050 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41051 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41052 Install `grub.d/10_windows' only on Cygwin.
41053 * configure.ac: Add subst of `target_os'.
41054 Check `target_os' also before setting TARGET_OBJ2ELF.
41055 Add `--enable-grub-pe2elf'.
41056
042bd419 410572008-08-08 Robert Millan <rmh@aybabtu.com>
41058
41059 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41060 (grub_last_time): Change type to grub_uint64_t.
41061 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41062 (grub_disk_close): Likewise.
41063
41064 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41065 (run_menu): Migrate code from to using grub_get_time_ms().
41066
41067 * util/misc.c (grub_get_time_ms): New function.
41068
7f280db5 410692008-08-08 Marco Gerards <marco@gnu.org>
41070
41071 * disk/ata.c (grub_ata_regget): Change return type to
41072 `grub_uint8_t'.
41073 (grub_ata_regget2): Likewise.
41074 (grub_ata_wait_status): New function.
41075 (grub_ata_wait_busy): Removed function, updated all users to use
41076 `grub_ata_wait_status'.
41077 (grub_ata_wait_drq): Likewise.
41078 (grub_ata_cmd): New function.
41079 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41080 error handling.
41081 (grub_ata_pio_write): Add error handling.
41082 (grub_atapi_identify): Likewise.
41083 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41084 handling.
41085 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41086 handling. Actually use the detected registers. Reorder the
41087 detection logic such that it is easier to read.
41088 (grub_ata_pciinit): Do not assign the same ID to each controller.
41089 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41090 handling.
41091 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41092
41093 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41094
1fbc5e66 410952008-08-08 Marco Gerards <marco@gnu.org>
41096
41097 * NEWS: Update.
41098
819ce6c0 410992008-08-07 Bean <bean123ch@gmail.com>
41100
41101 * include/grub/x86_64/pci.h: New file.
41102
5c41d44d 411032008-08-07 Christian Franke <franke@computer.org>
41104
41105 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41106 (TIMER2_GATE): Likewise.
41107 (grub_pit_wait): Add enable/disable of the timer2 gate
41108 bit of port 0x61. This fixes a possible infinite loop.
41109
5ebc275d 411102008-08-07 Bean <bean123ch@gmail.com>
41111
41112 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41113 kern/i386/tsc.c and kern/i386/pit.c.
41114
41115 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41116 x86_64 platform.
41117
41118 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41119 <grub/i386/tsc.h>.
41120
41121 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41122
e383b3d0 411232008-08-07 Bean <bean123ch@gmail.com>
41124
41125 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41126
41127 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41128
41129 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41130 multiple inclusion. Add #include <grub/types.h>.
41131
1cbb58ac 411322008-08-06 Christian Franke <franke@computer.org>
41133
41134 * conf/common.rmk: Build and install `10_windows'.
41135 * util/grub.d/10_windows.in: New script.
41136
337f5a1e 411372008-08-06 Pavel Roskin <proski@gnu.org>
41138
41139 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41140
057bc4ac 411412008-08-06 Robert Millan <rmh@aybabtu.com>
41142
41143 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41144 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41145
2b99f123 411462008-08-06 Bean <bean123ch@gmail.com>
41147
41148 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41149 (grub_pxefs_fs_int): Remove dummy definition.
41150 (grub_pxefs_open): Use data->block_size to store the current block
41151 size setting.
41152 (grub_pxefs_read): Use block size stored in data->block_size. As the
41153 value of grub_pxe_blksize can be changed after the file is opened.
41154
9f0234cb 411552008-08-06 Bean <bean123ch@gmail.com>
41156
41157 * fs/i386/pc/pxe.c (curr_file): new variable.
41158 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41159 require the dummy internal file system anymore.
41160 (grub_pxefs_read): Removed.
41161 (grub_pxefs_close): Likewise.
41162 (grub_pxefs_fs_int): Likewise.
41163 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41164 connection when we switch file.
41165 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41166
a55d42e0 411672008-08-06 Robert Millan <rmh@aybabtu.com>
41168
41169 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41170 `halt.mod'.
41171 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41172 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41173
41174 * kern/i386/halt.c: New file.
41175 * kern/i386/reboot.c: Likewise.
41176 * include/grub/i386/reboot.h: Likewise.
41177 * include/grub/i386/halt.h: Likewise.
41178
41179 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41180 Include `<grub/cpu/halt.h>'.
41181 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41182 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41183
41184 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41185 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41186 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41187 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41188 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41189 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41190 from here ...
41191 * include/grub/i386/at_keyboard.h: ... to here.
41192
24371d26 411932008-08-05 Robert Millan <rmh@aybabtu.com>
41194
41195 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41196 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41197 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41198 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41199 `kern/generic/millisleep.c'.
41200
41201 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41202 instead of grub_get_rtc().
41203 (grub_tsc_init): Initialize `tsc_boot_time'.
41204
41205 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41206 (grub_machine_init): Use grub_tsc_init() rather than
41207 installing an RTC-based handler via grub_install_get_time_ms().
41208
41209 * kern/i386/pit.c: New file.
41210 * include/grub/i386/pit.h: Likewise.
41211
9e7007b3 412122008-08-05 Bean <bean123ch@gmail.com>
41213
41214 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41215
41216 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41217 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41218 (pxe_mod_SOURCES): New macro.
41219 (pxe_mod_CFLAGS): Likewise.
41220 (pxe_mod_LDFLAGS): Likewise.
41221 (pxecmd_mod_SOURCES): Likewise.
41222 (pxecmd_mod_CFLAGS): Likewise.
41223 (pxecmd_mod_LDFLAGS): Likewise.
41224
41225 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41226 (grub_pxe_call): Likewise.
41227
41228 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41229
41230 * commands/i386/pc/pxecmd.c: New file.
41231
9f0234cb 41232 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41233
41234 * include/grub/i386/pc/pxe.h: Likewise.
41235
6977d49f 412362008-08-05 Bean <bean123ch@gmail.com>
41237
41238 * util/console.c (grub_console_cur_color): New variable.
41239 (grub_console_standard_color): Likewise.
41240 (grub_console_normal_color): Likewise.
41241 (grub_console_highlight_color): Likewise.
41242 (color_map): Likewise.
41243 (use_color): Likewise.
41244 (NUM_COLORS): New macro.
41245 (grub_ncurses_setcolorstate): Handle color properly.
41246 (grub_ncurses_setcolor): Don't change color here, just remember the
41247 settings, color will be set in grub_ncurses_setcolorstate.
41248 (grub_ncurses_getcolor): New function.
41249 (grub_ncurses_init): Initialize color pairs.
41250 (grub_ncurses_term): New member grub_ncurses_getcolor.
41251
9c2ff3ee 412522008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41253
9c2ff3ee 41254 High resolution timer support. Implemented for x86 CPUs using TSC.
41255 Extracted generic grub_millisleep() so it's linked in only as needed.
41256 This requires a Pentium compatible CPU; if the RDTSC instruction is
41257 not supported, then it falls back on the generic grub_get_time_ms()
41258 implementation that uses the machine's RTC.
41259
41260 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41261 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41262 `kern/generic/millisleep.c'.
41263
41264 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41265 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41266
41267 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41268 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41269
41270 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41271
41272 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41273 `kern/generic/millisleep.c'.
41274
41275 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41276
41277 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41278
41279 * kern/generic/rtc_get_time_ms.c: New file.
41280
41281 * kern/generic/millisleep.c: New file.
337f5a1e 41282
9c2ff3ee 41283 * kern/misc.c: Don't include
41284 <kern/time.h> anymore.
41285 (grub_millisleep_generic): Removed.
41286
41287 * commands/sleep.c (grub_interruptible_millisleep): Uses
41288 grub_get_time_ms() instead of grub_get_rtc().
41289
41290 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41291 function.
41292 (grub_cpu_is_cpuid_supported): New inline function.
41293 (grub_cpu_is_tsc_supported): New inline function.
41294 (grub_tsc_init): New function prototype.
41295 (grub_tsc_get_time_ms): New function prototype.
41296
41297 * kern/i386/tsc.c (grub_get_time_ms): New file.
41298
41299 * include/grub/time.h: Include <grub/types.h.
41300 (grub_millisleep_generic): Removed.
41301 (grub_get_time_ms): New prototype.
41302 (grub_install_get_time_ms): New prototype.
41303 (grub_rtc_get_time_ms): New prototype.
41304
41305 * kern/time.c (grub_get_time_ms): New function.
41306 (grub_install_get_time_ms): New function.
41307
41308 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41309 <grub/time.h> anymore.
41310 (grub_millisleep): Removed.
41311 (grub_machine_init): Call grub_tsc_init.
41312
41313 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41314 get_time_ms() implementation.
41315
41316 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41317 (ieee1275_get_time_ms): New function.
41318 (grub_machine_init): Install get_time_ms() implementation.
41319
41320 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41321 (grub_machine_init): Call grub_tsc_init().
41322 (grub_millisleep): Removed.
bf06a93f 41323
9c2ff3ee 41324 * kern/ieee1275/init.c (grub_millisleep): Removed.
41325 (grub_machine_init): Install ieee1275_get_time_ms()
41326 implementation.
41327 (ieee1275_get_time_ms): New function.
41328 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41329 real work.
41330
9ec92aaf 413312008-08-05 Marco Gerards <marco@gnu.org>
41332
41333 * disk/ata.c: Include <grub/pci.h>.
41334 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41335 (grub_ata_initialize): Rewritten.
41336 (grub_ata_device_initialize): New function.
41337
8d23f507 413382008-08-04 Pavel Roskin <proski@gnu.org>
41339
41340 * kern/main.c: Include grub/mm.h.
41341
5e15ee3d 413422008-08-04 Robert Millan <rmh@aybabtu.com>
41343
41344 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41345 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41346 corruption problem).
41347
a9053f8f 413482008-08-04 Robert Millan <rmh@aybabtu.com>
41349
41350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41351 warnings introduced in my last commit.
41352
dd19c7d7 413532008-08-03 Robert Millan <rmh@aybabtu.com>
41354
41355 Make PCI available on all i386 architectures.
41356
41357 * include/grub/i386/pc/pci.h: Move from here ...
41358 * include/grub/i386/pci.h: ... to here.
41359
41360 * include/grub/i386/pc/pci.h: Remove.
41361 * include/grub/i386/efi/pci.h: Remove.
41362 * include/grub/x86_64/efi/pci.h: Remove.
41363
41364 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41365 `<grub/cpu/pci.h>'.
41366
41367 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41368 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41369 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41370
41371 * conf/i386-ieee1275.rmk: Likewise.
41372
e14a6184 413732008-08-03 Robert Millan <rmh@aybabtu.com>
41374
41375 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41376 (grub_console_setcursor): Make it possible to set cursor off.
41377
52768e37 413782008-08-03 Robert Millan <rmh@aybabtu.com>
41379
41380 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41381 of modules instead of assuming which platform provides what.
41382 * util/update-grub.in: Likewise.
41383
2d52f57f 413842008-08-03 Robert Millan <rmh@aybabtu.com>
41385
41386 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41387 instead of `grub_install_dos_part' to determine whether a drive needs
41388 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41389 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41390
2a5cd121 413912008-08-02 Robert Millan <rmh@aybabtu.com>
41392
41393 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41394
93808428 413952008-08-02 Robert Millan <rmh@aybabtu.com>
41396
41397 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41398 of informational grub_dprintf() calls.
41399
3bd0a12a 414002008-08-02 Robert Millan <rmh@aybabtu.com>
41401
41402 * disk/memdisk.c (memdisk_size): Don't initialize.
41403 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41404
41405 * include/grub/i386/pc/kernel.h
41406 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41407 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41408 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41409 (grub_arch_memdisk_size): Remove.
41410
41411 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41412 field (was only used to transfer a constant). Add `type' field to
41413 support multiple module types.
41414 (grub_module_iterate): New function.
41415
41416 * kern/device.c (grub_device_open): Do not hide error messages
41417 when grub_disk_open() fails. Use grub_print_error() instead.
41418
41419 * kern/i386/pc/init.c (grub_arch_modules_addr)
41420 (grub_arch_memdisk_size): Remove functions.
41421 (grub_arch_modules_addr): Return the module address in high memory
41422 (now that it isn't copied anymore).
41423
41424 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41425 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41426 decompression routine (grub_total_module_size already includes that
41427 now). Don't copy modules back to low memory.
41428
41429 * kern/main.c: Include `<grub/mm.h>'.
41430 (grub_load_modules): Split out (and use) ...
41431 (grub_module_iterate): ... this function, which iterates through
41432 module objects and runs a hook.
41433 Comment out grub_mm_init_region() call, as it would cause non-ELF
41434 modules to be overwritten.
41435
41436 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41437 the memdisk image in its own region, make it part of the module list.
41438 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41439 (main): Parse --memdisk|-m option, and pass user-provided path as
41440 parameter to generate_image().
41441 (add_segments): Pass `memdisk_path' down to load_modules().
41442 (load_modules): Embed memdisk image in module section when requested.
41443 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41444 `header.type' instead of `header.offset'.
41445
41446 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41447 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41448 (memdisk_mod_LDFLAGS): New variables.
41449 * conf/i386-coreboot.rmk: Likewise.
41450 * conf/i386-ieee1275.rmk: Likewise.
41451
a927cc73 414522008-08-02 Robert Millan <rmh@aybabtu.com>
41453
41454 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41455 (backward_relocator): New variables. Used to allocate and relocate
41456 the payload, respectively.
41457 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41458 address, install the appropriate relocator code in each bound of
a927cc73 41459 the payload, and set the entry point such that
41460 grub_multiboot_real_boot() will jump to one of them.
41461
41462 * kern/i386/loader.S (grub_multiboot_payload_size)
41463 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41464 (grub_multiboot_payload_entry_offset): New variables.
41465 (grub_multiboot_real_boot): Set cpu context to what the relocator
41466 expects, and jump to the relocator instead of the payload.
41467
41468 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41469 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41470 (grub_multiboot_payload_entry_offset): Export.
41471
b15d8a0c 414722008-08-01 Bean <bean123ch@gmail.com>
41473
41474 * normal/menu_entry.c (editor_getline): Don't return the original
41475 string as result, as it will be released by lexer once it has done
41476 using it.
41477
cdfb3d22 414782008-08-01 Robert Millan <rmh@aybabtu.com>
41479
41480 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41481 within menuentries, not before them.
41482 util/grub.d/10_hurd.in: Likewise.
41483
9175e93d 414842008-08-01 Bean <bean123ch@gmail.com>
41485
41486 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41487 (bufio_mod_SOURCES): New macro.
41488 (bufio_mod_CFLAGS): Likewise.
41489 (bufio_mod_LDFLAGS): Likewise.
41490
41491 * include/grub/bufio.h: New file.
41492
41493 * io/bufio.c: Likewise.
41494
41495 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41496 (grub_video_reader_png): Use grub_buffile_open to open file.
41497
41498 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41499 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41500
41501 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41502 (grub_video_reader_tga): Use grub_buffile_open to open file.
41503
41504 * font/manager.c: Include <grub/bufio.h>.
41505 (add_font): Use grub_buffile_open to open file.
41506
3d8383e7 415072008-07-31 Robert Millan <rmh@aybabtu.com>
41508
41509 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41510 ELF segments, use a macro for arbitrarily accessing any of them instead
41511 of preparing a pointer that allows access to one at a time.
41512 (grub_multiboot_load_elf64): Likewise.
41513
16e641b6 415142008-07-31 Bean <bean123ch@gmail.com>
41515
41516 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41517 GRUB_KERNEL_MACHINE_DATA_END.
41518
59198b72 415192008-07-30 Robert Millan <rmh@aybabtu.com>
41520
41521 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41522 Increase from 0x50 to 0x60.
41523 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41524 use UUIDs to identify the root drive for them. If that's not
41525 possible, abort.
41526 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41527 check, for cross-disk installs.
41528
ae88bca3 415292008-07-30 Robert Millan <rmh@aybabtu.com>
41530
41531 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41532 is non-empty, use it to set the `prefix' environment variable instead
41533 of the usual approach.
41534 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41535 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41536 environment variable instead of dummy make_install_device().
41537
41538 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41539 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41540 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41541
41542 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41543 New variable reference.
41544 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41545 New macro. Defines offset of `grub_prefix' within startup.S (relative
41546 to `start').
41547 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41548 section within startup.S (relative to `start').
41549 * include/grub/i386/coreboot/kernel.h: Likewise.
41550
41551 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41552 Overwrite grub_prefix with its contents, at the beginning of the
41553 first segment.
41554 (main): Understand -p|--prefix.
41555
14f41dd1 415562008-07-30 Robert Millan <rmh@aybabtu.com>
41557
41558 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41559
4ca049a3 415602008-07-30 Robert Millan <rmh@aybabtu.com>
41561
41562 * term/i386/pc/vga_text.c (grub_console_cls): Use
41563 grub_console_gotoxy() to go back to beginning of the screen.
41564 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41565
2921d337 415662008-07-29 Christian Franke <franke@computer.org>
41567
41568 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41569 Add conversion of emulated mount points on Cygwin.
41570
b609876d 415712008-07-29 Christian Franke <franke@computer.org>
41572
41573 * util/update-grub.in: Add a check for admin
41574 group on Cygwin.
41575 Remove old `grub.cfg.new' before creation.
41576 Add `-f' to `mv' to handle the different filesystem
41577 semantics of Windows.
41578
e93e4679 415792008-07-29 Bean <bean123ch@gmail.com>
41580
41581 * normal/main.c (get_line): Fix buffer overflow bug.
41582
41694fd0 415832008-07-28 Robert Millan <rmh@aybabtu.com>
41584
41585 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41586 (struct grub_apple_header): New struct. Describes the layout of
41587 the partmap header.
41588 (apple_partition_map_iterate): Check the header magic as well as the
41589 partition magic (which was already being checked).
41590
cfd0b4e6 415912008-07-28 Pavel Roskin <proski@gnu.org>
41592
41593 * genmk.rb: Add a warning to the beginning of the output that
41594 it's a generated file and should not be edited.
41595
93cce016 415962008-07-28 Robert Millan <rmh@aybabtu.com>
41597
41598 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41599 with the same number are found, just use issue a warning with
41600 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41601
cd1df915 416022008-07-27 Robert Millan <rmh@aybabtu.com>
41603
41604 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41605 information.
41606
b70a8427 416072008-07-27 Bean <bean123ch@gmail.com>
41608
41609 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41610 (grub_fat_find_dir): Ignore case when comparing filename.
41611
8f5e379f 416122008-07-27 Bean <bean123ch@gmail.com>
41613
41614 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41615 smallino, as it's more descriptive, and i8count can be confused with
41616 the other field count.
41617 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41618 inode type.
41619
a85cd5a0 416202008-07-27 Bean <bean123ch@gmail.com>
41621
41622 * commands/crc.c: New file.
41623
41624 * lib/crc.c: Likewise.
41625
41626 * include/grub/lib/crc.h: Likewise.
41627
41628 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41629
41630 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41631 (hexdump): Move this function to ...
41632
41633 * lib/hexdump.c: ... here.
41634
41635 * include/grub/hexdump.h: Renamed to ...
41636
41637 * include/grub/lib/hexdump.h: ... this.
41638
41639 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41640
41641 * util/grub-editenv.c: Likewise.
41642
41643 * include/envblk.h: Renamed to ...
41644
41645 * include/lib/envblk.h: ... this.
41646
41647 * util/envblk.c: Renamed to ...
41648
41649 * lib/envblk.c: ... this.
41650
41651 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41652 lib/hexdump.c.
41653 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41654 (pkglib_MODULES): Add crc.mod.
41655 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41656 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41657 (crc_mod_SOURCES): New macro.
41658 (crc_mod_CFLAGS): Likewise.
41659 (crc_mod_LDFLAGS): Likewise.
41660
41661 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41662
41663 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41664
41665 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41666
41667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41668
41669 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41670
c298def0 416712008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41672
41673 * commands/help.c: Include <grub/term.h>.
41674 (TERM_WIDTH): Removed. Updated all users.
41675
cc349fb3 416762008-07-27 Pavel Roskin <proski@gnu.org>
41677
41678 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41679 spurious warnings about a comment within a comment.
41680
9051607e 416812008-07-25 Robert Millan <rmh@aybabtu.com>
41682
41683 * util/getroot.c (find_root_device): Skip devices that match
41684 /dev/dm-[0-9]. This lets the real device be found for any type of
41685 abstraction (LVM, EVMS, RAID..).
41686 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41687 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41688 device is found first, find_root_device() will now skip it.
41689
01453bfc 416902008-07-24 Pavel Roskin <proski@gnu.org>
41691
41692 * include/grub/types.h: Use __builtin_bswap32() and
41693 __builtin_bswap64() with gcc 4.3 and newer.
41694
6af9849f 416952008-07-24 Christian Franke <franke@computer.org>
41696
3a0fa256 41697 * util/i386/pc/grub-install.in: If `--debug' is specified,
41698 pass `--verbose' to grub-setup.
41699 Abort script if make_system_path_relative_to_its_root() fails.
41700
7810e747 417012008-07-24 Bean <bean123ch@gmail.com>
41702
41703 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41704 variable `target_platform' should be `platform'.
41705
42290e17 417062008-07-24 Bean <bean123ch@gmail.com>
41707
51cc5193 41708 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41709 (grub_png_init_fixed_block): New function.
41710 (grub_png_decode_image_data): Handle fixed huffman code compression.
41711
2a8a80e4 417122008-07-24 Bean <bean123ch@gmail.com>
41713
41714 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41715 (grub_pe2elf_SOURCES): New macro.
41716 (CLEANFILES): Add grub-pe2elf.
41717
41718 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41719 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41720 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41721 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41722 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41723 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41724 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41725 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41726 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41727 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41728 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41729 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41730 (GRUB_PE32_DT_FUNCTION): Likewise.
41731 (GRUB_PE32_REL_I386_DIR32): Likewise.
41732 (GRUB_PE32_REL_I386_REL32): Likewise.
41733 (grub_pe32_symbol): New structure.
41734 (grub_pe32_reloc): Likewise.
41735
41736 * util/grub-pe2elf.c: New file.
41737
41738 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41739 start symbol in non pc platform.
41740
41741 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41742
41743 The following patches are from Christian Franke.
41744
41745 * include/grub/dl.h: Remove .previous, gas supports this only
41746 for ELF format.
41747
41748 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41749 Remove .type, gas supports this only for ELF format.
41750
41751 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41752 nullbytes in symbol table. This fixes an infinite loop if table is
41753 zero filled.
41754
41755 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41756 TARGET_IMG_LDFLAGS and EXEEXT.
41757
41758 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41759 TARGET_IMG_LDFLAGS_AC.
41760 (grub_CHECK_STACK_ARG_PROBE): New function.
41761
41762 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41763
41764 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41765
41766 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41767 to set TARGET_IMG_LD* accordingly.
41768 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41769 Add call to grub_CHECK_STACK_ARG_PROBE.
41770 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41771
41772 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41773
41774 * genmk.rb: Add EXEEXT to CLEANFILES.
41775
12ccdb75 417762008-07-23 Robert Millan <rmh@aybabtu.com>
41777
41778 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41779 define the codes for arrows and lines used for the menu).
41780 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41781 as well.
41782
41783 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41784 fonts, because the latter are too slow.
41785
18eeaf04 417862008-07-21 Bean <bean123ch@gmail.com>
41787
41788 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41789 a20. Run keyboard test last, as it will cause macbook to halt.
41790
b095e2ad 417912008-07-18 Pavel Roskin <proski@gnu.org>
41792
41793 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41794 load foreign architecture modules correctly anyway. Keep
41795 support for loading host architecture modules, whether we
41796 compile them or not.
41797
737feb35 417982008-07-17 Pavel Roskin <proski@gnu.org>
41799
3f4ce737 41800 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41801 change target_cpu. The compiler default can mismatch target_cpu
41802 in any case.
41803
4ad2d049 41804 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41805 * kern/efi/efi.c: Likewise.
41806
f6130a12 41807 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41808 target compiler is functional.
41809 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41810 are set up.
41811
58393a2d 41812 * configure.ac: Default to efi platform for x86_64-apple. Allow
41813 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41814 adjustments from the rest, only do them if target is not
41815 explicitly given. Merge other adjustments with the final sanity
41816 check. Remove an extraneous check for supported CPU. Be
41817 specific which CPU and which platform is not supported.
41818
737feb35 41819 * configure.ac: Default to pc platform for x86_64.
41820
546f966a 418212008-07-17 Robert Millan <rmh@aybabtu.com>
41822
41823 Partial LinuxBIOS -> Coreboot rename.
41824
41825 * conf/i386-linuxbios.rmk: Renamed to ...
41826 * conf/i386-coreboot.rmk: ... this.
41827 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41828 * configure.ac: Accept "coreboot" as input platform (but maintain
41829 compatibility with "linuxbios").
41830 * include/grub/i386/linuxbios: Renamed to ...
41831 * include/grub/i386/coreboot: ... this.
41832
20011694 418332008-07-17 Bean <bean123ch@gmail.com>
41834
41835 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41836 (appleldr_mod_SOURCE): New variable.
20011694 41837 (appleldr_mod_CFLAGS): Likewise.
41838 (appleldr_mod_LDFLAGS): Likewise.
41839 (pci_mod_SOURCES): Likewise.
41840 (pci_mod_CFLAGS): Likewise.
41841 (pci_mod_LDFLAGS): Likewise.
41842 (lspci_mod_SOURCES): Likewise.
41843 (lspci_mod_CFLAGS): Likewise.
41844 (lspci_mod_LDFLAGS): Likewise.
41845
41846 * conf/x86_64-efi.rmk: New file.
41847
41848 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41849 macro.
41850 (grub_efidisk_write): Likewise.
41851
41852 * include/efi/api.h (efi_call_0): New macro.
41853 (efi_call_1): Likewise.
41854 (efi_call_2): Likewise.
41855 (efi_call_3): Likewise.
41856 (efi_call_4): Likewise.
41857 (efi_call_5): Likewise.
41858 (efi_call_6): Likewise.
41859
41860 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41861 grub_rescue_cmd_chainloader.
41862
41863 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41864 (grub_pe32_optional_header): Change some fields based on i386 or
41865 x86_64 platform.
41866 (GRUB_PE32_PE32_MAGIC): Likewise.
41867
41868 * include/grub/efi/uga_draw.h: New file.
41869
41870 * include/grub/elf.h (STN_ABS): New constant.
41871 (R_X86_64_NONE): Relocation constant for x86_64.
41872 (R_X86_64_64): Likewise.
41873 (R_X86_64_PC32): Likewise.
41874 (R_X86_64_GOT32): Likewise.
41875 (R_X86_64_PLT32): Likewise.
41876 (R_X86_64_COPY): Likewise.
41877 (R_X86_64_GLOB_DAT): Likewise.
41878 (R_X86_64_JUMP_SLOT): Likewise.
41879 (R_X86_64_RELATIVE): Likewise.
41880 (R_X86_64_GOTPCREL): Likewise.
41881 (R_X86_64_32): Likewise.
41882 (R_X86_64_32S): Likewise.
41883 (R_X86_64_16): Likewise.
41884 (R_X86_64_PC16): Likewise.
41885 (R_X86_64_8): Likewise.
41886 (R_X86_64_PC8): Likewise.
41887
41888 * include/grub/i386/efi/pci.h: New file.
41889
41890 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41891 Change it value based on platform.
41892 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41893 (GRUB_E820_RAM): Likewise.
41894 (GRUB_E820_RESERVED): Likewise.
41895 (GRUB_E820_ACPI): Likewise.
41896 (GRUB_E820_NVS): Likewise.
41897 (GRUB_E820_EXEC_CODE): Likewise.
41898 (GRUB_E820_MAX_ENTRY): Likewise.
41899 (grub_e820_mmap): New structure.
41900 (linux_kernel_header): Change the efi field according to different
41901 kernel version, also field from linux_kernel_header.
41902
41903 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41904
41905 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41906 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41907 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41908 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41909 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41910 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41911 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41912 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41913 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41914 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41915
41916 * include/grub/x86_64/efi/kernel.h: New file.
41917
41918 * include/grub/x86_64/efi/loader.h: Likewise.
41919
41920 * include/grub/x86_64/efi/machine.h: Likewise.
41921
41922 * include/grub/x86_64/efi/pci.h: Likewise.
41923
41924 * include/grub/x86_64/efi/time.h: Likewise.
41925
41926 * include/grub/x86_64/linux.h: Likewise.
41927
41928 * include/grub/x86_64/setjmp.h: Likewise.
41929
41930 * include/grub/x86_64/time.h: Likewise.
41931
41932 * include/grub/x86_64/types.h: Likewise.
41933
41934 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41935 GRUB_TARGET_SIZEOF_VOID_P.
41936
41937 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41938 (grub_efi_locate_handle): Likewise.
41939 (grub_efi_open_protocol): Likewise.
41940 (grub_efi_set_text_mode): Likewise.
41941 (grub_efi_stall): Likewise.
41942 (grub_exit): Likewise.
41943 (grub_reboot): Likewise.
41944 (grub_halt): Likewise.
41945 (grub_efi_exit_boot_services): Likewise.
41946 (grub_get_rtc): Likewise.
41947
41948 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41949 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41950 (grub_efi_allocate_pages): Wrap efi calls.
41951 (grub_efi_free_pages): Wrap efi calls.
41952 (grub_efi_get_memory_map): Wrap efi calls.
41953
41954 * kern/x86_64/dl.c: New file.
41955
41956 * kern/x86_64/efi/callwrap.S: Likewise.
41957
41958 * kern/x86_64/efi/startup.S: Likewise.
41959
41960 * loader/efi/appleloader.c: Likewise.
41961
41962 * loader/efi/chainloader.c (cmdline): New variable.
41963 (grub_chainloader_unload): Wrap efi calls.
41964 (grub_chainloader_boot): Likewise.
41965 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41966 command line.
41967
41968 * loader/efi/chainloader_normal.c (chainloader_command):
41969 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41970 command line.
41971
41972 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41973 method.
41974 (grub_e820_add_region): New function.
41975 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41976 booting.
41977 (grub_find_video_card): New function.
41978 (grub_linux_setup_video): New function.
41979 (grub_rescue_cmd_linux): Probe for video information.
41980
41981 * normal/x86_64/setjmp.S: New file.
41982
41983 * term/efi/console.c (map_char): New function.
41984 (grub_console_putchar): Map unicode char.
41985 (grub_console_checkkey): Wrap efi calls.
41986 (grub_console_getkey): Likewise.
41987 (grub_console_getwh): Likewise.
41988 (grub_console_gotoxy): Likewise.
41989 (grub_console_cls): Likewise.
41990 (grub_console_setcolorstate): Likewise.
41991 (grub_console_setcursor): Likewise.
41992
41993 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41994
59652a20 419952008-07-16 Pavel Roskin <proski@gnu.org>
41996
ef294055 41997 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41998 format strings.
41999
59652a20 42000 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
42001 pointer, not an integer. This fixes a warning and prevents
42002 precision loss on 64-bit systems.
42003 (relocate_addresses): Remove unneeded cast.
42004
afc3b5d7 420052008-07-15 Pavel Roskin <proski@gnu.org>
42006
506b2b3e 42007 * kern/i386/ieee1275/init.c: Include grub/cache.h.
42008
62ead89c 42009 * term/ieee1275/ofconsole.c: Disable code unused on i386.
42010
c4cd51d7 42011 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
42012 Fix comparison between signed and unsigned.
42013
0d3d8f28 42014 * include/grub/i386/ieee1275/console.h: Declare
42015 grub_console_init() and grub_console_fini().
42016
8804b286 42017 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
42018 It's empty and unused.
42019
ee01cf35 42020 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
42021 beginning to avoid warnings with some compilers.
42022
afc3b5d7 42023 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
42024 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
42025
e4e8eaa5 420262008-07-14 Pavel Roskin <proski@gnu.org>
42027
407aceb4 42028 * kern/env.c (grub_register_variable_hook): Don't copy empty
42029 string, it leaks memory. Pass "" to grub_env_set(), it should
42030 handle constant strings.
42031
e4e8eaa5 42032 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
42033 * commands/cmp.c (grub_cmd_cmp): Likewise.
42034 * kern/dl.c (grub_dl_flush_cache): Likewise.
42035 (grub_dl_load_core): Likewise.
42036 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
42037 (grub_elf64_load_phdrs): Likewise.
42038
d4e2dad3 420392008-07-13 Pavel Roskin <proski@gnu.org>
42040
42041 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42042 between signed and unsigned.
42043 (LzmaEnc_Finish): Fix warning about an unused parameter.
42044
aa24b516 420452008-07-13 Bean <bean123ch@gmail.com>
42046
42047 * Makefile.in (enable_lzo): New rule.
42048
42049 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42050
42051 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42052
42053 * boot/i386/pc/lnxboot.S: #include <config.h>.
42054
42055 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 42056 its value according to the compression algorithm used, lzo or lzma.
aa24b516 42057
42058 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42059 compression algorithm according to configure macro.
42060
42061 * kern/i386/pc/startup.S (codestart): Likewise.
42062
42063 * kern/i386/pc/lzma_decode.S: New file.
42064
42065 * include/grub/lib/LzFind.h: Likewise.
42066
42067 * include/grub/lib/LzHash.h: Likewise.
42068
42069 * include/grub/lib/LzmaDec.h: Likewise.
42070
42071 * include/grub/lib/LzmaEnc.h: Likewise.
42072
42073 * include/grub/lib/LzmaTypes.h: Likewise.
42074
42075 * lib/LzFind.c: Likewise.
42076
42077 * lib/LzmaDec.c: Likewise.
42078
42079 * lib/LzmaEnc.c: Likewise.
42080
4ae821ac 420812008-07-13 Bean <bean123ch@gmail.com>
42082
42083 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42084 (grub_ext4_extent_header): New structure.
42085 (grub_ext4_extent): Likewise.
42086 (grub_ext4_extent_idx): Likewise.
42087 (grub_ext4_find_leaf): New function.
42088 (grub_ext2_read_block): Handle extents.
42089
9a745147 420902008-07-12 Robert Millan <rmh@aybabtu.com>
42091
42092 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42093
d49a4cf6 420942008-07-11 Robert Millan <rmh@aybabtu.com>
42095
42096 * util/grub.d/40_custom.in: New file. Example on how to add custom
42097 entries to /etc/grub.d.
42098 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42099 40_custom (implicitly, by merging all the grub.d rules).
42100
947414b4 421012008-07-11 Pavel Roskin <proski@gnu.org>
42102
0059cf6f 42103 * commands/read.c (grub_getline): Fix invalid memory access.
42104 Don't add newline to the variable value.
42105
947414b4 42106 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42107 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42108 (serial_hw_get_port): Check validity of the port number.
42109 (grub_cmd_serial): Check return value of serial_hw_get_port().
42110
62a02d00 421112008-07-07 Pavel Roskin <proski@gnu.org>
42112
42113 * boot/i386/pc/diskboot.S (notification_string): Replace
42114 "Loading kernel" with just "loading". This is shorter, less
42115 confusing and saves a few bytes for possible future changes.
42116
3e5581b0 421172008-07-05 Pavel Roskin <proski@gnu.org>
42118
ea387a48 42119 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42120 size for ATAPI devices, they are undefined. Output sector
42121 number in decimal form.
42122
3e5581b0 42123 * disk/ata.c: Use named constants for status bits.
42124
fdecb8fd 421252008-07-04 Pavel Roskin <proski@gnu.org>
42126
bcd35b90 42127 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42128 grub_addr_t before casting it to the void pointer to fix a
42129 warning. Non-addressable regions are discarded earlier.
42130 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42131 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42132 (check_signature): Don't shadow table_header.
42133 (grub_linuxbios_table_iterate): Cast numeric constants to
42134 grub_linuxbios_table_header_t.
42135 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42136 grub_stop().
42137
af58ab3d 42138 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42139 prevent warnings.
42140
1759aa57 42141 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42142 pointer, which can cause warnings. Support 64-bit addresses.
42143
fdecb8fd 42144 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42145 of sizeof(long). This fixes PowerPC image generation on x86_64.
42146
8516d2a8 421472008-07-04 Robert Millan <rmh@aybabtu.com>
42148
42149 This fixes a performance issue when pc & gpt partmap iterators
42150 didn't abort iteration even after our hook found what it was
fe987087 42151 looking for (often causing expensive probes of non-existent drives).
8516d2a8 42152
42153 Some callers relied on previous buggy behaviour, since they would
34c44600 42154 raise an error when their own hooks caused early abortion of its
8516d2a8 42155 iteration.
42156
42157 * kern/device.c (grub_device_open): Improve error message.
42158 * disk/lvm.c (grub_lvm_open): Likewise.
42159 * disk/raid.c (grub_raid_open): Likewise.
42160
42161 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42162 when hook requests it, independently of grub_errno.
42163 (pc_partition_map_probe): Do not fail when find_func() caused
42164 early abortion of pc_partition_map_iterate().
42165
42166 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42167 when hook requests it, independently of grub_errno.
42168 (gpt_partition_map_probe): Do not fail when find_func() caused
42169 early abortion of gpt_partition_map_iterate().
42170
42171 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42172 when hook requests it, independently of grub_errno. Do not fail when
42173 part_map_iterate_hook() caused early abortion of p->iterate().
42174
42175 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42176 when grub_partition_iterate() returned with non-zero.
42177
277d0de9 421782008-07-03 Pavel Roskin <proski@gnu.org>
42179
42180 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42181 like we do in grub_ata_pio_read().
42182 (grub_ata_readwrite): Always write individual sectors. Fix the
42183 sector count for the remainder.
42184 (grub_ata_write): Enable writing to ATA devices. Correctly
42185 report error for ATAPI devices.
42186
d4c9b428 421872008-07-02 Pavel Roskin <proski@gnu.org>
42188
e43fc690 42189 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42190 warning.
42191
f707af42 42192 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42193 for every read sector, we already increment it for the whole
42194 batch. This fixes reading more than 256 sectors at once.
42195
11e16b15 42196 * util/grub-editenv.c (cmd_info): Cast argument to long
42197 explicitly. ptrdiff_t reduces to int on i386.
42198
cbabfdd4 42199 * util/grub-editenv.c (main): Be specific which parameter is
42200 missing.
42201
b8fbce0a 42202 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42203 (memdisk): Make memdisk_orig_addr a pointer.
42204
c9c8e606 42205 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42206 for file offsets, use grub_off_t instead. Fix printf format
42207 warnings.
42208
ca62e598 42209 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42210 there. Real unexpected warnings should not drown in the noise
42211 about known problems.
42212
ce8d1766 42213 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42214 grub_disk_addr_t for memory addresses.
42215
00c7a56a 42216 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42217 explicitly to fix a warning.
42218
08d3ef09 42219 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42220
cb71ba20 42221 * Makefile.in (MODULE_LDFLAGS): New variable.
42222 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42223 the linker accepts --build-id=none.
42224 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42225 MODULE_LDFLAGS.
42226 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42227
d4c9b428 42228 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42229 those in Linux XFS code. Provide a way to access 64-bit parent
42230 inode.
42231 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42232 the end of struct grub_xfs_dir_header.
42233
d4156eee 422342008-07-02 Bean <bean123ch@gmail.com>
42235
42236 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42237 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42238 and GRUB_IEEE1275_FLAG_NO_ANSI.
42239
42240 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42241 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42242 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42243
42244 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42245 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42246
42247 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42248 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42249
42250 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42251 esc sequence on non ANSI terminal.
42252 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42253
42254 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42255 beginning of file.
42256
2270f77b 422572008-07-02 Bean <bean123ch@gmail.com>
42258
42259 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42260 (grub_editenv_SOURCES): New variable.
42261 (pkglib_MODULES): Add loadenv.mod.
42262 (loadenv_mod_SOURCES): New variable.
42263 (loadenv_mod_CFLAGS): Likewise.
42264 (loadenv_mod_LDFLAGS): Likewise.
42265
42266 * include/grub/envblk.h: New file.
42267
42268 * util/envblk.c: New file.
42269
42270 * util/grub-editenv.c: New file.
42271
42272 * commands/loadenv.c: New file.
42273
0e9e51ec 422742008-07-01 Pavel Roskin <proski@gnu.org>
42275
d89b7634 42276 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42277 not unsigned char. This fixes warnings and is consistent with
42278 other tags.
42279
bf1835b1 42280 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42281
8222a04b 42282 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42283
6a42d99d 42284 * term/tparm.c (analyze): Always set *popcount.
42285
10b159d1 42286 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42287 cast to fix a warning.
42288
b8789f6c 42289 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42290 cast to suppress a warning.
42291
29d7e38a 42292 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42293 grub_fshelp_read_file() expects.
42294
f341f669 42295 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42296 write uuid as a 32-bit value in CPU byte order, so declare and
42297 use it as such.
42298
0e9e51ec 42299 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42300 long if the format specifier expects it.
42301 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42302 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42303 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42304 long to fix a warning.
42305 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42306 grub_dprintf() arguments to fix warnings.
42307
3aefa857 423082008-06-30 Pavel Roskin <proski@gnu.org>
42309
56c7668b 42310 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42311 install_bsd_part immediately before core.img is embedded or
42312 modified on disk. This fixes core.img verification if core.img
42313 cannot be embedded.
42314
3aefa857 42315 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42316 core_path to calculate the blocklist.
42317 Patch from Javier Martín <lordhabbit@gmail.com>
42318
5444088d 423192008-06-29 Robert Millan <rmh@aybabtu.com>
42320
42321 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42322 block to disk block.
42323 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42324 Patch from Niels Böhm <bitbucket@arcor.de>
42325
674835c8 423262008-06-29 Robert Millan <rmh@aybabtu.com>
42327
42328 * util/update-grub_lib.in (font_path): Search for fonts in
42329 /boot/grub first, which is more likely to be readable (we aren't
42330 deciding where fonts live, just looking for them).
42331
f527dbc8 423322008-06-26 Pavel Roskin <proski@gnu.org>
42333
6c2d8df6 42334 * util/biosdisk.c (read_device_map): Don't leave dead map
42335 entries for devices failing stat() check.
42336
f527dbc8 42337 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42338 core_path_dev for the core.img path on the target device.
42339
aebe3d13 423402008-06-26 Robert Millan <rmh@aybabtu.com>
42341
42342 * disk/fs_uuid.c: New file.
42343 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42344 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42345 (fs_uuid_mod_LDFLAGS): New variables.
42346 * include/grub/disk.h (grub_disk_dev_id): Add
42347 `GRUB_DISK_DEVICE_UUID_ID'.
42348 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42349 implement iterate().
42350
37aaf354 423512008-06-26 Robert Millan <rmh@aybabtu.com>
42352
42353 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42354 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42355 Linux image includes no initrd.
42356
25ff262a 423572008-06-21 Javier Martín <lordhabbit@gmail.com>
42358
42359 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42360 call to resolve the core image location that effectively appended the
42361 name twice.
42362
76a2bd44 423632008-06-21 Robert Millan <rmh@aybabtu.com>
42364
42365 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42366 call from here ...
42367
42368 * util/grub.d/10_hurd.in: ... to here ...
42369 * util/grub.d/10_linux.in: ... and here.
42370
650e1c79 423712008-06-19 Robert Millan <rmh@aybabtu.com>
42372
fe987087 42373 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42374 after it has been set by grub_machine_set_prefix().
42375
6ce63911 423762008-06-19 Robert Millan <rmh@aybabtu.com>
42377
42378 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42379 search result when not saving to variable, not the other way around.
42380 When saving to variable, abort iteration as soon as a match is found.
42381
73940cec 423822008-06-19 Robert Millan <rmh@aybabtu.com>
42383
42384 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42385 check for partition that provides /boot/grub. Its logic is flawed,
42386 as it prevents prepare_grub_to_access_device() from being called
42387 multiple times.
42388
3c62a39d 423892008-06-19 Robert Millan <rmh@aybabtu.com>
42390
42391 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42392 "insmod" command directly when abstraction modules are needed,
fe987087 42393 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42394 since it had already been processed).
42395
47395a42 423962008-06-19 Pavel Roskin <proski@gnu.org>
42397
42398 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42399 changed. This is needed in case GRUB_LIBDIR changes.
42400 * conf/i386-ieee1275.rmk: Likewise.
42401 * conf/i386-linuxbios.rmk: Likewise.
42402 * conf/i386-pc.rmk: Likewise.
42403 * conf/powerpc-ieee1275.rmk: Likewise.
42404
a145ac2d 424052008-06-18 Pavel Roskin <proski@gnu.org>
42406
42407 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42408 kernel_elf_symlist.c to symlist.c for consistency with other
42409 architectures. Update all users.
42410 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42411
7847c51e 424122008-06-18 Robert Millan <rmh@aybabtu.com>
42413
42414 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42415 it in prefix.
42416
42417 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42418 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42419 a RAID device, run setup() for all members independently on whether
42420 LVM abstraction is being used.
42421 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42422 If grub-mkimage has set `*install_dos_part == -2', don't override this
42423 value.
42424 Perform *install_dos_part adjustments independently on whether
42425 we're embedding or not.
42426 Clarify error message when image is too big for embedding.
42427 Remove duplicate *install_dos_part stanza.
42428
b23e5644 424292008-06-17 Robert Millan <rmh@aybabtu.com>
42430
42431 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42432 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42433 variables.
42434 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42435 values in grub_ofconsole_normal_color and
42436 grub_ofconsole_highlight_color (they're not directly related to
42437 background and foreground).
42438 (grub_ofconsole_setcolorstate): Extract background and foreground
42439 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42440
0aac2f79 424412008-06-17 Robert Millan <rmh@aybabtu.com>
42442
42443 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42444 /boot/grub for the check in last commit, not /boot (they could be
42445 different partitions).
42446
3cca7ef3 424472008-06-16 Robert Millan <rmh@aybabtu.com>
42448
42449 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42450 asked to setup access for the same partition that provides /boot,
42451 don't bother using UUIDs since our root already has the value we
42452 want.
42453
347396d8 424542008-06-16 Robert Millan <rmh@aybabtu.com>
42455
42456 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42457 I2O devices.
42458 Patch from Sven Mueller <sven@debian.org>.
42459
991477f8 424602008-06-16 Robert Millan <rmh@aybabtu.com>
42461
42462 * util/update-grub.in: Check for $EUID instead of $UID.
42463 Reported by Vincent Zweije.
42464
d31a32a1 424652008-06-16 Bean <bean123ch@gmail.com>
42466
fe987087 42467 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42468 (grub_ext2_read_block): Likewise.
42469 (grub_ext2_read_inode): Likewise.
42470 (grub_ext2_mount): Likewise.
42471 (grub_ext2_close): Likewise.
42472 (grub_ext3_get_journal): Removed.
42473
fe987087 42474 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42475 (grub_reiserfs_read_symlink): Likewise.
42476 (grub_reiserfs_mount): Likewise.
42477 (grub_reiserfs_open): Likewise.
42478 (grub_reiserfs_read): Likewise.
42479 (grub_reiserfs_close): Likewise.
42480 (grub_reiserfs_get_journal): Removed.
42481
42482 * fs/fshelp.c (grub_fshelp_read): Removed.
42483 (grub_fshelp_map_block): Likewise.
42484
42485 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42486 (grub_fshelp_journal): Likewise.
42487 (grub_fshelp_read): Likewise.
42488 (grub_fshelp_map_block): Likewise.
42489
3540a760 424902008-06-16 Pavel Roskin <proski@gnu.org>
42491
42492 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42493 floating point anymore.
42494 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42495
95614c84 424962008-06-15 Pavel Roskin <proski@gnu.org>
42497
42498 * commands/ls.c (grub_ls_list_files): Use integer calculations
42499 for human readable format, avoid floating point use.
42500 * kern/misc.c (grub_ftoa): Remove.
42501 (grub_vsprintf): Remove floating point support.
42502
50465dd6 425032008-06-15 Robert Millan <rmh@aybabtu.com>
42504
fe6b695a 42505 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42506 devices.
42507 Reported by Max Vozeler.
42508
a9207284 425092008-06-15 Robert Millan <rmh@aybabtu.com>
42510
42511 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42512 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42513 skipped later.
42514 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42515 the beginning of the prefix.
42516
42517 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42518 It is assumed that if we have a memdisk, grub-mkimage has set
42519 grub_prefix to include the "(memdisk)" drive in it.
42520
a7cbd45a 425212008-06-15 Robert Millan <rmh@aybabtu.com>
42522
42523 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42524 Initialize keyboard controller after registering the terminal, so that
42525 grub_printf() can be called from grub_keyboard_controller_init().
42526
21cf716a 425272008-06-15 Robert Millan <rmh@aybabtu.com>
42528
42529 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42530 extent-btree which is written as big endian on disk.
42531 Reported by Alain Greppin <al@chilibi.org>.
42532
23a64d8e 425332008-06-14 Robert Millan <rmh@aybabtu.com>
42534
42535 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42536 * util/i386/pc/grub-install.in (modules): Likewise.
42537
d687651c 425382008-06-13 Pavel Roskin <proski@gnu.org>
42539
42540 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42541
dfe9ddd4 425422008-06-13 Bean <bean123ch@gmail.com>
42543
42544 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42545
42546 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42547
42548 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42549 to indicate sparse block.
42550
16ae7781 425512008-06-12 Pavel Roskin <proski@gnu.org>
42552
e6d1a308 42553 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42554 number, grub_fshelp_read() does it for us.
42555
16ae7781 42556 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42557 linear disk read with journal translation.
42558 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42559 * include/grub/fshelp.h: Declare grub_fshelp_read().
42560
40fd3a2b 425612008-06-09 Pavel Roskin <proski@gnu.org>
42562
42563 * fs/minix.c (grub_minix_mount): Handle error reading
42564 superblock.
42565
f5679726 425662008-06-08 Robert Millan <rmh@aybabtu.com>
42567
42568 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42569 don't append the RAID prefix afterwards.
42570 Reported by Clint Adams.
42571
ce525529 425722008-06-08 Robert Millan <rmh@aybabtu.com>
42573
42574 Based on description from Pavel:
42575 * kern/disk.c (grub_disk_check_range): Rename to ...
42576 (grub_disk_adjust_range): ... this. Add a comment explaining the
42577 tasks performed by this function.
42578
ad4936a0 425792008-06-08 Robert Millan <rmh@aybabtu.com>
42580
42581 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42582 `num_serial' (for consistency with other variables).
42583 (struct grub_ntfs_data): Add `uuid' member.
42584 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42585 (grub_ntfs_uuid): New function.
42586 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42587
dc20b0f9 425882008-06-07 Pavel Roskin <proski@gnu.org>
42589
42590 * util/biosdisk.c (open_device): Revert last change to the
42591 function, it broke installation. The sector needs to be
42592 different dependent on which device is opened.
42593
c5e3cfba 425942008-06-06 Robert Millan <rmh@aybabtu.com>
42595
42596 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42597 rest of GRUB, and breakage doesn't happen if its value were modified.
42598
42599 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42600 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42601 a constant (same value).
42602 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42603 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42604
26a1f8c4 426052008-06-06 Robert Millan <rmh@aybabtu.com>
42606
42607 * util/biosdisk.c (open_device): Do not modify sector offset when
42608 accessing a partition. kern/disk.c already handles this for us.
42609
25d6b327 426102008-06-06 Robert Millan <rmh@aybabtu.com>
42611
42612 * util/grub-emu.c (grub_machine_init): Move code in this function from
42613 here ...
42614 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42615 segfault in case grub_printf() is called).
42616
42617 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42618 grub_probe. Update all users not to explicitly add it again.
42619 (grub_device): New variable; contains corresponding device for grubdir.
42620 (fs_module, partmap_module, devabstraction_module): Pass
42621 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42622 every time.
42623
9ece62fb 426242008-06-05 Robert Millan <rmh@aybabtu.com>
42625
42626 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42627 is found, print it (same layout as with labels).
42628
1ad36d37 426292008-06-04 Robert Millan <rmh@aybabtu.com>
42630
42631 * util/biosdisk.c (get_drive): Rename to ...
42632 (find_grub_drive): ... this. Update all users.
42633
42634 (get_os_disk): Rename to ...
42635 (convert_system_partition_to_system_disk): ... this. Update all users.
42636
42637 (find_drive): Rename to ...
42638 (find_system_device): ... this. Update all users.
42639
e6a30859 426402008-06-04 Robert Millan <rmh@aybabtu.com>
42641
42642 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42643 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42644 (make_device_map): Likewise.
42645
00c108a4 426462008-06-01 Robert Millan <rmh@aybabtu.com>
42647
42648 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42649 before dereferencing it.
42650
42651 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42652 union with fat12/fat16-specific ones. Add some new fields, including
42653 `num_serial' for both versions.
42654 (struct grub_fat_data): Add `uuid' member.
42655 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42656 names. Initialize `data->uuid' using `num_serial'.
42657 (grub_fat_uuid): New function.
42658 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42659
42660 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42661 (grub_reiserfs_uuid): New function.
42662 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42663 member.
42664
42665 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42666 (grub_xfs_uuid): New function.
42667 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42668
1385c5bb 426692008-06-01 Robert Millan <rmh@aybabtu.com>
42670
42671 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42672 code that is backward compatible with pre-uuid search command.
42673
c682dfd7 426742008-05-31 Robert Millan <rmh@aybabtu.com>
42675
42676 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42677 floppies after everything else, to ensure floppy drive isn't accessed
42678 unnecessarily (patch from Bean).
42679
b7db5d47 426802008-05-31 Robert Millan <rmh@aybabtu.com>
42681
42682 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42683 not print device names when we were asked to set a variable.
42684
6e037aa9 426852008-05-31 Robert Millan <rmh@aybabtu.com>
42686
42687 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42688 using "cursor-on" and "cursor-off" commands (understood at least by
42689 the Open Firmware flavour on OLPC).
42690
41305bc8 426912008-05-31 Michael Gorven <michael@gorven.za.net>
42692
42693 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42694 on and off sequences.
42695
69ba137e 426962008-05-31 Robert Millan <rmh@aybabtu.com>
42697
42698 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42699 * util/update-grub.in: Likewise.
42700
520ae21b 427012008-05-30 Pavel Roskin <proski@gnu.org>
42702
42703 * util/biosdisk.c (linux_find_partition): Simplify logic and
42704 make the code more universal. Keep special processing for
42705 devfs, but use a simple rule for all other devices. If the
42706 device ends with a number, append 'p' and the partition number.
42707 Otherwise, append only the partition number.
42708
5786569b 427092008-05-30 Robert Millan <rmh@aybabtu.com>
42710
42711 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42712 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42713 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42714 the `root' parameter to Linux.
42715
51500452 427162008-05-30 Robert Millan <rmh@aybabtu.com>
42717
42718 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42719 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42720 --fs_uuid with --fs-uuid.
42721 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42722 all filesystems support them).
42723
811d3878 427242008-05-30 Robert Millan <rmh@aybabtu.com>
42725
42726 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42727 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42728
cab63c95 427292008-05-30 Robert Millan <rmh@aybabtu.com>
42730
42731 * util/grub.d/00_header.in: Remove obsolete comment referencing
42732 convert_system_path_to_grub_path().
42733 * util/update-grub.in: Likewise.
42734 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42735 (convert_system_path_to_grub_path): Add a warning message explaining
42736 that this function is deprecated. Rely on is_path_readable_by_grub()
42737 for the readability checks.
42738 (font_path): Use is_path_readable_by_grub() for the readability
42739 check rather than convert_system_path_to_grub_path().
42740
972e2f7a 427412008-05-30 Robert Millan <rmh@aybabtu.com>
42742
42743 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42744 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42745 converting it first.
42746 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42747 grub.cfg for access to font file, and afterwards call it again to set
42748 the root device.
42749
62191274 427502008-05-30 Robert Millan <rmh@aybabtu.com>
42751
42752 * commands/search.c (options): Add --fs_uuid option.
42753 (search_fs_uuid): New function.
42754 (grub_cmd_search): Fix --set argument passing.
42755 Use search_fs_uuid() when requested via --fs_uuid.
42756 (grub_search_init): Update help message.
42757 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42758 and redeclare it as an array of 16-bit words.
42759 (grub_ext2_uuid): New function.
42760 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42761 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42762 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42763 (GRUB_DEVICE_BOOT_UUID): New variables.
42764 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42765 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42766 whenever possible.
42767 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42768 just assume `root' variable has the right value.
42769 * util/grub.d/10_linux.in: Likewise.
42770 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42771 via PRINT_FS_UUID.
42772 (main): Recognise `-t fs_uuid' argument.
42773
01b73ec8 427742008-05-30 Robert Millan <rmh@aybabtu.com>
42775
42776 * util/biosdisk.c (map): Redefine structure to hold information
42777 about GRUB drive name.
fe6b695a 42778 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42779 drive names.
42780 (call_hook): Remove.
42781 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42782 member. Assume drive has partitions.
42783 (grub_util_biosdisk_open): Access device names via `.device' struct
42784 member.
42785 (open_device): Likewise.
42786 (find_drive): Likewise.
42787 (read_device_map): Adjust map[] usage to match the new struct
42788 definition. Don't check for duplicates (still possible, but not cheap
42789 anymore).
42790 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42791 (make_device_name): Remove assumption of BIOS-like drive names.
42792
22f16596 427932008-05-30 Pavel Roskin <proski@gnu.org>
42794
42795 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42796 compiling execute.c doesn't need grub_script.tab.h anymore.
42797 (normal/command.c_DEPENDENCIES): Likewise.
42798 (normal/function.c_DEPENDENCIES): Likewise.
42799 * conf/i386-ieee1275.rmk: Likewise.
42800 * conf/i386-linuxbios.rmk: Likewise.
42801 * conf/i386-pc.rmk: Likewise.
42802 * conf/powerpc-ieee1275.rmk: Likewise.
42803 * conf/sparc64-ieee1275.rmk: Likewise.
42804
528ad8f2 428052008-05-29 Pavel Roskin <proski@gnu.org>
42806
d1dff95d 42807 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42808 when scanning metadata for volume group name.
42809
528ad8f2 42810 * include/grub/script.h: Don't include grub_script.tab.h. It's
42811 a generated file, which may only be included from the files with
42812 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42813 use union YYSTYPE, as the later allows forward declaration.
42814 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42815
47248e08 428162008-05-29 Robert Millan <rmh@aybabtu.com>
42817
42818 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42819 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42820 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42821 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42822 scan codes.
42823
ee632529 428242008-05-29 Robert Millan <rmh@aybabtu.com>
42825
42826 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42827 control key combinations.
42828
eee96e08 428292008-05-29 Robert Millan <rmh@aybabtu.com>
42830
42831 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42832 * util/ieee1275/grub-install.in: ... to here.
42833 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42834 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42835 (grub_install_SOURCES): Likewise.
42836
da9a6a94 428372008-05-29 Robert Millan <rmh@aybabtu.com>
42838
42839 * fs/affs.c: Update copyright year.
42840 * fs/ext2.c: Likewise.
42841 * fs/fshelp.c: Likewise.
42842 * fs/hfsplus.c: Likewise.
42843 * fs/ntfs.c: Likewise.
42844 * fs/xfs.c: Likewise.
42845 * include/grub/fshelp.h: Likewise.
42846 * util/grub-mkdevicemap.c: Likewise.
42847
12e65f3a 428482008-05-28 Robert Millan <rmh@aybabtu.com>
42849
42850 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42851 might need to be fatfs to support some firmware implementations
42852 (e.g. OFW or EFI).
42853
23023641 428542008-05-28 Robert Millan <rmh@aybabtu.com>
42855
42856 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42857 devices.
42858 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42859 (make_device_map): Likewise.
42860
887d2619 428612008-05-20 Bean <bean123ch@gmail.com>
42862
42863 * fs/fshelp.c (grub_fshelp_map_block): New function.
42864 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42865 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42866
42867 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42868 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42869 (grub_fshelp_journal): New structure.
42870 (grub_fshelp_map_block): New function prototype.
42871 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42872 (grub_fshelp_map_block): Likewise.
42873
42874 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42875 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42876 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42877 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42878 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42879 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42880 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42881 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42882 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42883 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42884 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42885 (grub_ext2_sblock): New members for journal support.
42886 (grub_ext3_journal_header): New structure.
42887 (grub_ext3_journal_revoke_header): Likewise.
42888 (grub_ext3_journal_block_tag): Likewise.
42889 (grub_ext3_journal_sblock): Likewise.
42890 (grub_fshelp_node): New members logfile and journal.
42891 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42892 grub_fshelp_map_block to get real block number.
42893 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42894 number.
42895 (grub_ext2_read_inode): Likewise.
42896 (grub_ext3_get_journal): New function.
42897 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42898 (grub_ext2_close): Release memory used by journal.
42899
42900 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42901 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42902 (grub_reiserfs_transaction_header): Renamed to
42903 grub_reiserfs_description_block, replace field data with real_blocks.
42904 (grub_reiserfs_commit_block): New structure.
42905 (grub_reiserfs_data): New member journal.
42906 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42907 number.
42908 (grub_reiserfs_read_symlink): Likewise.
42909 (grub_reiserfs_iterate_dir): Likewise.
42910 (grub_reiserfs_open): Likewise.
42911 (grub_reiserfs_read): Likewise.
42912 (grub_reiserfs_get_journal): New function.
42913 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42914 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42915 using grub_reiserfs_get_journal.
42916 (grub_reiserfs_close): Release memory used by journal.
42917
42918 * fs/affs.c (grub_affs_read_block): Change block type to
42919 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42920
42921 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42922
42923 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42924
42925 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42926
42927 * fs/udf.c (grub_udf_read_block): Change block type to
42928 grub_disk_addr_t. Use type cast to avoid warning.
42929
42930 * fs/xfs.c (grub_xfs_read_block): Likewise.
42931
b7c6bed5 429322008-05-16 Christian Franke <franke@computer.org>
42933
42934 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42935 to ensure that break with ESC will always work.
42936 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42937 Remove ESC from keyboard queue.
42938
eedf167f 429392008-05-16 Christian Franke <franke@computer.org>
42940
42941 * util/biosdisk.c: [__CYGWIN__] Add includes.
42942 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42943 (get_os_disk): Move variable declarations to OS specific
42944 parts to avoid warning.
42945 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42946 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42947 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42948 Cygwin.
42949 * util/getroot.c: [__CYGWIN__] Add includes.
42950 (strip_extra_slashes): Fix "/" case.
42951 [__CYGWIN__] (get_win32_path): New function.
42952 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42953 [__CYGWIN__] (find_root_device): Disable.
42954 [__CYGWIN__] (get_bootsec_serial): New function.
42955 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42956 [__linux__] (grub_guess_root_device): Add early returns to simplify
42957 structure.
42958 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42959 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42960 check for Linux only.
42961
a079699e 429622008-05-15 Bean <bean123ch@gmail.com>
42963
42964 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42965 keyboard hang problem in apple's intel mac.
42966
1cf4059a 429672008-05-09 Robert Millan <rmh@aybabtu.com>
42968
42969 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42970 devices.
42971 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42972 (make_device_map): Likewise.
42973 Reported by Aurelien Jarno <aurel32@debian.org>
42974
ed759390 429752008-05-07 Ian Campbell <ijc@hellion.org.uk>
42976
42977 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42978 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42979 (make_device_map): Output entries for xvd type disks.
42980
b56c4eaa 429812008-05-07 Robert Millan <rmh@aybabtu.com>
42982
42983 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42984 devices.
42985 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42986 (make_device_map): Likewise.
42987 Reported by Roland Dreier <rdreier@cisco.com>
42988
7f8866ed 429892008-05-07 Robert Millan <rmh@aybabtu.com>
42990
42991 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42992 grub_strstr() call. Correct a few mistakes in failure path handling.
42993
b0346e0f 429942008-05-06 Robert Millan <rmh@aybabtu.com>
42995
42996 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42997 Do not print a trailing slash (therefore, the root directory is an
42998 empty string).
42999 (convert_system_path_to_grub_path): Do not remove trailing slash
43000 from make_system_path_relative_to_its_root() output.
43001
43002 * util/i386/pc/grub-install.in: Add trailing slash to output from
43003 make_system_path_relative_to_its_root().
43004
6cf12cbd 430052008-05-06 Robert Millan <rmh@aybabtu.com>
43006
43007 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
43008 ensures that output lines aren't intermangled with those sent to
43009 stderr (via grub_util_info()).
43010 * util/grub-probe.c (grub_refresh): Likewise.
43011 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
43012
0fbb3117 430132008-05-05 Christian Franke <franke@computer.org>
43014
43015 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
43016 Add Cygwin device names.
43017 (get_ide_disk_name) [__CYGWIN__]: Likewise.
43018 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
43019 (check_device): Return error instead of success on empty name.
43020 (make_device_map): Move label inside linux specific code to
43021 prevent compiler warning.
43022
8124cdb7 430232008-04-30 Robert Millan <rmh@aybabtu.com>
43024
43025 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
43026 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
43027 first boot option.
43028 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
43029
094c01d0 430302008-04-29 Robert Millan <rmh@aybabtu.com>
43031
43032 * docs/grub.cfg: New file (example GRUB configuration).
43033
f4b1fc02 430342008-04-26 Robert Millan <rmh@aybabtu.com>
43035
329ce2a5 43036 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
43037 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43038 and `disk/ieee1275/nand.c'.
f4b1fc02 43039
25f16ec1 430402008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 43041
25f16ec1 43042 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43043 i386-linuxbios.
43044
43045 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43046 change the buffer size to 4096 for cdrom device.
43047
43048 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43049 and nand.mod.
43050 (_linux_mod_SOURCES): New variable.
43051 (_linux_mod_CFLAGS): Likewise.
43052 (_linux_mod_LDFLAGS): Likewise.
43053 (linux_mod_SOURCES): Likewise.
43054 (linux_mod_CFLAGS): Likewise.
43055 (linux_mod_LDFLAGS): Likewise.
43056 (nand_mod_SOURCES): Likewise.
43057 (nand_mod_CFLAGS): Likewise.
43058 (nand_mod_LDFLAGS): Likewise.
43059
43060 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43061 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43062 type property. (nand device in olpc don't have this property)
43063
43064 * include/grub/disk.h (grub_disk_dev_id): New macro
43065 GRUB_DISK_DEVICE_NAND_ID.
43066
43067 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43068 function prototype.
43069 (grub_rescue_cmd_initrd): Likewise.
43070
43071 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43072 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43073 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 43074
25f16ec1 43075 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43076 GRUB_MACHINE_IEEE1275 is defined.
43077
43078 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43079 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43080
43081 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43082 on nested function heap_init.
43083 (grub_upper_mem): New variable for i386-ieee1275.
43084 (grub_get_extended_memory): New function for i386-ieee1275.
43085 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43086
43087 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43088 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43089 property.
f19dbdb7 43090
25f16ec1 43091 * loader/i386/ieee1275/linux.c: New file.
43092
43093 * loader/i386/ieee1275/linux_normal.c: New file.
43094
43095 * disk/ieee1275/nand.c: New file.
43096
e89d61e9 430972008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43098
43099 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43100 value.
43101 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43102
602566f6 431032008-04-18 Robert Millan <rmh@aybabtu.com>
43104
43105 Restructures early code path on ieee1275 to unify grub_main() as
43106 the first C function that is executed in every platform.
43107
43108 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43109 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43110 cmain().
43111 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43112 * kern/ieee1275/cmain.c (cmain): Rename to ...
43113 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43114 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43115 at the beginning.
43116
57490c2b 431172008-04-18 Robert Millan <rmh@aybabtu.com>
43118
43119 * util/update-grub.in: Fix syntax error when setting
43120 `GRUB_PRELOAD_MODULES'.
43121 Reported by Stephane Chazelas <stephane@artesyncp.com>
43122
1977517d 431232008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43124
43125 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43126 section into account, newer toolchains generate unique build ids
43127 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 43128 we want build ids to be preserved
1977517d 43129 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43130 far from other sections don't cause the raw binary images grow
43131 size
43132
bfb1f1a2 431332008-04-15 Robert Millan <rmh@aybabtu.com>
43134
43135 * disk/lvm.c: Update copyright year.
43136 * kern/misc.c: Likewise.
43137
01979850 431382008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43139
43140 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 43141 there is no memory left for physical volume name.
01979850 43142
0a1150e2 431432008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43144
43145 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43146 volume name mapping to support bigger than 9 character names properly.
43147
82ead3fe 431482008-04-13 Robert Millan <rmh@aybabtu.com>
43149
43150 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43151 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43152
e54a72f5 431532008-04-13 Christian Franke <franke@computer.org>
43154
43155 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43156 to create a floppy emulation boot CD when non emulation mode
43157 does not work.
43158 Enable Joliet CD filesystem extension.
43159
9fe86034 431602008-04-13 Robert Millan <rmh@aybabtu.com>
43161
43162 * kern/misc.c (grub_strncat): Fix off-by-one error.
43163 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43164
43165 * kern/env.c (grub_env_context_close): Clear current context, not
43166 previous one.
43167 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43168
43169 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43170
7ceeee39 431712008-04-13 Robert Millan <rmh@aybabtu.com>
43172
43173 Improve robustness when handling LVM.
43174
43175 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 43176 (and leave `*p' unmodified).
7ceeee39 43177 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43178 through it.
43179 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43180 iterating through it.
43181 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43182 through it.
fe6b695a 43183 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 43184 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43185 Don't assume `vg->pvs != NULL' when iterating through it.
43186
58cd3d85 431872008-04-13 Robert Millan <rmh@aybabtu.com>
43188
43189 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43190 * genmk.rb (partmap): New variable.
43191 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43192 (#{partmap}): New target rule.
43193 * genpartmaplist.sh: New file.
43194 * Makefile.in (pkglib_DATA): Add partmap.lst.
43195 (partmap.lst): New target rule.
43196 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43197 modules (including all partition maps), instead of preloading them.
43198
78b51059 431992007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43200
43201 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43202 `linux-boot-prober' (if installed) to detect other operating
43203 systems which are installed on the computer and add them to
43204 the boot menu.
43205 * conf/common.rmk: Build and install 30_os-prober.
43206
a91627b4 432072008-04-12 Robert Millan <rmh@aybabtu.com>
43208
43209 * kern/powerpc/ieee1275/init.c: Move from here ...
43210 * kern/ieee1275/init.c: ... to here. Update all users.
43211
43212 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43213 * kern/ieee1275/cmain.c: ... to here. Update all users.
43214
43215 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43216 * kern/ieee1275/openfw.c: ... to here. Update all users.
43217
43218 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43219 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43220
322562ea 432212008-04-10 Pavel Roskin <proski@gnu.org>
43222
43223 * configure.ac: Always use "_cv_" in cache variables for
43224 compatibility with Autoconf 2.62.
43225
a02a73c5 432262008-04-07 Robert Millan <rmh@aybabtu.com>
43227
43228 Revert grub/machine/init.h addition by Pavel (since it breaks on
43229 i386-ieee1275 and others):
43230 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43231 * util/powerpc/ieee1275/misc.c: Likewise.
43232
25c024b1 432332008-04-07 Robert Millan <rmh@aybabtu.com>
43234
43235 * util/grub-probe.c (probe): Improve error message.
43236
3cbd2f98 432372008-04-07 Robert Millan <rmh@aybabtu.com>
43238
43239 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43240 (this prevents the presence of a bogus entry from ruining the whole
43241 thing).
43242
87a297bf 432432008-04-06 Pavel Roskin <proski@gnu.org>
43244
36747a62 43245 * util/biosdisk.c: Include grub/util/biosdisk.h.
43246 * util/grub-fstest.c (execute_command): Make static.
43247 * util/grub-mkdevicemap.c (check_device): Likewise.
43248 * util/i386/pc/misc.c: Include grub/machine/init.h.
43249 * util/powerpc/ieee1275/misc.c: Likewise.
43250 * util/lvm.c: Include grub/util/lvm.h.
43251 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43252 grub/cache.h.
43253 * util/raid.c: Include grub/util/raid.h.
43254 (grub_util_getdiskname): Make static.
43255
87a297bf 43256 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43257 grub_hostfs_fini(), as they are called from grub_init_all() and
43258 grub_fini_all() respectively. This fixes an infinite loop in
43259 grub-fstest due to double registration of hostfs.
43260 Reported by Christian Franke <Christian.Franke@t-online.de>
43261
f6ce7629 432622008-04-05 Pavel Roskin <proski@gnu.org>
43263
43264 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43265 all 8 functions. Otherwise, probe function 0 only.
43266
070e49e4 432672008-04-04 Pavel Roskin <proski@gnu.org>
43268
8b088a4c 43269 * commands/lspci.c (grub_lspci_iter): Print the bus number
43270 correctly.
43271
4f657021 43272 * commands/lspci.c (grub_pci_classes): Fix typos.
43273 (grub_lspci_iter): Don't print func twice. Print vendor ID
43274 before device ID, as it's normally done.
43275
070e49e4 43276 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43277 Fix signedness warnings.
43278 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43279 Likewise.
43280 * util/ieee1275/get_disk_name.c: Include config.h so that
43281 _GNU_SOURCE is defined and getline() is declared. Mark an
43282 unused argument as such. Fix a signedness warning.
43283
ba7328dc 432842008-04-02 Pavel Roskin <proski@gnu.org>
43285
26887f22 43286 * genkernsyms.sh.in: Use more robust assignments for CC and
43287 srcdir. Quote srcdir.
43288 * gensymlist.sh.in: Likewise. Assert at the compile time that
43289 the symbol table is not empty.
43290
ba7328dc 43291 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43292 * fs/cpio.c (grub_cpio_read): Likewise.
43293
0f582c6b 432942008-04-01 Pavel Roskin <proski@gnu.org>
43295
4b6e1995 43296 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43297 * disk/host.c (grub_host_open): Likewise.
43298 * disk/loopback.c (grub_loopback_open): Likewise.
43299 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43300 disk->id as in disk/host.c, not a multi-character constant.
43301
828a2768 43302 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43303 later is obsolete, potentially dangerous and sets a bad example.
43304 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43305 * util/misc.c (grub_util_get_image_size): Likewise.
43306
2bb4fb47 43307 * disk/loopback.c (options): Improve help for "--partitions".
43308
0f582c6b 43309 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43310 options to align them with the short options, e.g. "echo -e".
43311
a33224e0 433122008-03-31 Bean <bean123ch@gmail.com>
43313
43314 * video/reader/png.c (grub_png_data): New member is_16bit and
43315 image_data.
43316 (grub_png_decode_image_header): Detect 16 bit png image.
43317 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43318 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43319 (grub_video_reader_png): Release memory occupied by image_data.
43320
43321 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43322 4096 bytes.
43323 (grub_nfs_mount): Skip the test for sector per cluster.
43324
43325 * include/grub/ntfs.h (MAX_SPC): Removed.
43326
86cb4f54 433272008-03-31 Bean <bean123ch@gmail.com>
43328
43329 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43330 (grub_probe_SOURCES): Add fs/afs.c.
43331 (grub_fstest_SOURCES): Likewise.
43332 (afs_mod_SOURCES): New variable.
43333 (afs_mod_CFLAGS): Likewise.
43334 (afs_mod_LDFLAGS): Likewise.
43335
43336 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43337 (grub_emu_SOURCES): Likewise.
43338
43339 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43340
43341 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43342
43343 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43344
43345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43346
43347 * fs/afs.c: New file.
43348
17c74c21 433492008-03-30 Pavel Roskin <proski@gnu.org>
43350
4cb68e89 43351 * disk/host.c: Include grub/misc.h to fix a warning.
43352 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43353 warnings about implicit declarations.
43354
8790bb04 43355 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43356 variable.
43357 * include/grub/i386/loader.h: Change declaration of
43358 grub_linux_boot() to match what grub_loader_set() expects.
43359 * util/getroot.c (grub_guess_root_device): Return const char* to
43360 fix a warning.
43361 * util/grub-probe.c (probe): Fix a warning about uninitialized
43362 abstraction_name variable.
43363 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43364 second argument as unused to fix a warning.
43365
9a3f3296 43366 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43367 missing grub_error() call.
43368
0ecef90d 43369 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43370 2.60 and newer uses it to define datadir.
43371
0bf6d401 43372 * commands/sleep.c: Fix warning about implicit declaration.
43373 * disk/memdisk.c: Likewise.
43374 * loader/aout.c: Likewise.
43375 * loader/i386/bsd_normal.c: Likewise.
43376 * util/grub-probe.c: Likewise.
43377
7cdacf97 43378 * commands/i386/cpuid.c (has_longmode): Make static.
43379 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43380 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43381
17c74c21 43382 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43383 GDT. This is more robust, as %ds can change.
43384 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43385 calling real_to_prot().
43386 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43387
80a3e68b 433882008-03-28 Pavel Roskin <proski@gnu.org>
43389
43390 * kern/i386/pc/startup.S: Assert that uncompressed functions
43391 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43392 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43393 code, as they push parts of the code (error handlers) beyond
43394 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43395 code as correctness and size.
43396
77bcd272 433972008-03-28 Pavel Roskin <proski@gnu.org>
43398
43399 * kern/i386/pc/startup.S
43400 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43401 data block address to the real mode, keep offset minimal. This
43402 works around a bug in AWARD BIOS on old Athlon systems, which
43403 makes CD detection hang.
43404
c5dfd43b 434052008-03-26 Pavel Roskin <proski@gnu.org>
43406
43407 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43408 const.
43409 * include/grub/normal.h: Add grub_parse_color_name_pair()
43410 declaration.
43411
bf962df2 434122008-03-24 Bean <bean123ch@gmail.com>
43413
43414 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43415 (cd_count): Removed.
43416 (cd_drive): New variable.
43417 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43418 (grub_biosdisk_call_hook): Likewise.
43419 (grub_biosdisk_iterate): Change cdrom detection method.
43420 (grub_biosdisk_open): Replace cd_start with cd_drive.
43421 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43422 detect cdrom device.
43423
43424 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43425 Removed.
43426 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43427 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43428 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43429 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43430 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43431 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43432 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43433 (grub_biosdisk_cdrp): New structure.
43434 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43435
43436 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43437
43438 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43439 device.
43440
43441 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43442 New function.
43443
68e7fc7a 434442008-03-20 Robert Millan <rmh@aybabtu.com>
43445
43446 Remove 2 TiB limit in ata.mod.
43447 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43448 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43449 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43450 grub_uint64_t instead of grub_uint32_t.
43451
38ad2cf5 434522008-03-05 Bean <bean123ch@gmail.com>
43453
43454 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43455 (grub_multiboot): Set boot device.
43456
43457 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43458
2b89344e 434592008-03-02 Bean <bean123ch@gmail.com>
43460
43461 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43462 symlink_buffer.
43463
87a95d1f 434642008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43465
43466 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43467 texinfo.tex.
43468
43469 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43470 modified.
43471
43472 * docs/fdl.texi: New file.
f19dbdb7 43473
87a95d1f 43474 * docs/mdate-sh: New file. Copied from gnulib.
43475 * docs/texinfo.tex: Likewise.
43476
43477 * config.guess: Updated from gnulib.
43478 * install-sh: Likewise.
43479
7dc15d8e 434802008-02-28 Robert Millan <rmh@aybabtu.com>
43481
43482 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43483 (aout_mod_SOURCES): New variable.
43484 (aout_mod_CFLAGS): Likewise.
43485 (aout_mod_LDFLAGS): Likewise.
43486
43487 * conf/i386-ieee1275.rmk: Likewise.
43488
b00ab696 434892008-02-28 Robert Millan <rmh@aybabtu.com>
43490
43491 * util/update-grub.in: Reorganise terminal validity check. Accept
43492 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43493 Based on suggestion by Franklin PIAT.
43494
79ca2d78 434952008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43496
43497 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43498 function.
43499 * util/getroot.c (grub_util_check_block_device): New function that
43500 returns the given argument if it is a block device and returns NULL else.
43501 * util/grub-probe.c (argument_is_device): New variable.
43502 (probe): Promote device_name from a variable to an argument. Receive
43503 device_name from grub_util_check_block_device() if path is NULL and from
43504 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43505 (options): Introduce new parameter '-d, --device'.
79ca2d78 43506 (main): Add description of the new parameter to the help screen.
43507 Rename path variable to argument. Set argument_is_device if the '-d'
43508 option is given. Pass argument to probe() depending on
43509 argument_is_device.
43510
0d16e571 435112008-02-24 Bean <bean123ch@gmail.com>
43512
43513 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43514 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43515 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43516 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43517 (GRUB_ISO9660_VOLDESC_END): Likewise.
43518 (grub_iso9660_primary_voldesc): New member escape.
43519 (grub_iso9660_data): New member joliet.
43520 (grub_iso9660_convert_string): New function.
43521 (grub_iso9660_mount): Detect joliet extension.
43522 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43523 (grub_iso9660_iso9660_label): Likewise.
43524
43525 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43526 (grub_setup_SOURCES): Add fs/udf.c.
43527 (grub_fstest_SOURCES): Likewise.
43528 (udf_mod_SOURCES): New variable.
43529 (udf_mod_CFLAGS): Likewise.
43530 (udf_mod_LDFLAGS): Likewise.
43531
43532 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43533 (grub_emu_SOURCES): Likewise.
43534
43535 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43536
43537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43538
43539 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43540
43541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43542
43543 * fs/udf.c: New file.
43544
8a594a17 435452008-02-24 Robert Millan <rmh@aybabtu.com>
43546
43547 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43548 (normal/lexer.c_DEPENDENCIES): New variables.
43549 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43550 (normal/lexer.c_DEPENDENCIES): Likewise.
43551 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43552 (normal/lexer.c_DEPENDENCIES): Likewise.
43553 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43554 (normal/lexer.c_DEPENDENCIES): Likewise.
43555 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43556 (normal/lexer.c_DEPENDENCIES): Likewise.
43557 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43558 (normal/lexer.c_DEPENDENCIES): Likewise.
43559
2dc33c03 435602008-02-23 Robert Millan <rmh@aybabtu.com>
43561
43562 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43563 since they were intended to be in hex. This didn't break previously
43564 because of a bug in gpt_partition_map_iterate() (see below).
43565
43566 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43567 when checking the validity of GPT header.
43568 Remove `partno', since it always provides the same information as `i'.
43569
f6f4cfb0 435702008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43571
43572 * include/grub/efi/time.h: Fix a wrong comment.
43573
79ff665f 435742008-02-19 Pavel Roskin <proski@gnu.org>
43575
43576 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43577 message.
43578
d38e24c2 435792008-02-19 Bean <bean123ch@gmail.com>
43580
43581 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43582 (aout_mod_SOURCES): New variable.
43583 (aout_mod_CFLAGS): Likewise.
43584 (aout_mod_LDFLAGS): Likewise.
43585 (_bsd_mod_SOURCES): New variable.
43586 (_bsd_mod_CFLAGS): Likewise.
43587 (_bsd_mod_LDFLAGS): Likewise.
43588 (bsd_mod_SOURCES): New variable.
43589 (bsd_mod_CFLAGS): Likewise.
43590 (bsd_mod_LDFLAGS): Likewise.
43591
43592 * include/grub/aout.h: New file.
43593
43594 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43595
43596 * include/grub/i386/bsd.h: New file.
43597
43598 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43599 to make it public.
43600
43601 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43602 function is called, so that it's possible to change it inside the hook.
43603 (grub_elf64_load): Likewise.
43604 (grub_elf_file): Don't close the file if elf header is not found.
43605 (grub_elf_close): Close the file if grub_elf_file fails (The new
43606 grub_elf_file won't close it).
43607 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43608 (grub_elf64_size): Likewise.
43609
43610 * kern/i386/loader.S (grub_unix_real_boot): New function.
43611
43612 * loader/aout.c: New file.
43613
43614 * loader/i386/bsd.c: New file.
43615
43616 * loader/i386/bsd_normal.c: New file.
43617
43618 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43619
43620 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43621 can test other formats.
d38e24c2 43622
b93bdb0f 436232008-02-19 Robert Millan <rmh@aybabtu.com>
43624
43625 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43626 (grub_gpt_partition_type_empty): Redefine with macro from
43627 `<grub/gpt_partition.h>'.
43628 (gpt_partition_map_iterate): Adjust partition type comparison.
43629
43630 Export `entry' as partmap-specific `part.data' struct.
43631 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43632
43633 * include/grub/gpt_partition.h (grub_gpt_header)
43634 (grub_gpt_partentry): ... to here (new file).
43635
43636 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43637
43638 (grub_gpt_partition_type_bios_boot): New const variable, defined
43639 with macro from `<grub/gpt_partition.h>'.
43640
43641 (setup): Replace `first_start' with `embed_region', which keeps
43642 track of the embed region (and is partmap-agnostic).
43643
43644 Replace find_first_partition_start() with find_usable_region(),
43645 which finds a usable region for embedding using partmap-specific
43646 knowledge (supports PC/MSDOS and GPT).
43647
43648 Fix all assumptions that the embed region start at sector 1, using
43649 `embed_region.start' from now on. Similarly, use `embed_region.end'
43650 rather than `first_start' to calculate available size.
43651
43652 In grub_util_info() message, replace "into after the MBR" with an
43653 indication of the specific sector our embed region starts at.
43654
66cb40f6 436552008-02-19 Robert Millan <rmh@aybabtu.com>
43656
43657 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43658 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43659 `commands/reboot.c'.
43660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43661 (halt_mod_SOURCES): Likewise.
43662 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43663 (halt_mod_SOURCES): Likewise.
43664
b7202015 436652008-02-17 Christian Franke <franke@computer.org>
43666
43667 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43668
32b0fc49 436692008-02-17 Robert Millan <rmh@aybabtu.com>
43670
43671 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43672 set `first_start' to 0 for non-PC/MSDOS partition maps.
43673
aca63502 436742008-02-16 Robert Millan <rmh@aybabtu.com>
43675
43676 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43677 do not assume partition map is PC/MSDOS before performing checks that
43678 are specific to that layout.
43679
0de8be86 436802008-02-13 Robert Millan <rmh@aybabtu.com>
43681
43682 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43683 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43684 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43685
c3db8364 436862008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43687
43688 * configure.ac: Only a cosmetic change on the handling of
43689 -fno-stack-protector.
43690
f714229e 436912008-02-12 Alexandre Boeglin <alex@boeglin.org>
43692
c3db8364 43693 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43694 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43695 reboot.c.
f714229e 43696 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43697 (halt_mod_SOURCES): New variable.
43698 (halt_mod_CFLAGS): Likewise.
43699 (halt_mod_LDFLAGS): Likewise.
43700 (reboot_mod_SOURCES): Likewise.
43701 (reboot_mod_CFLAGS): Likewise.
43702 (reboot_mod_LDFLAGS): Likewise.
43703
c3db8364 43704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43705 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43706 reboot.c.
f714229e 43707 (halt_mod_SOURCES): Likewise.
43708 (reboot_mod_SOURCES): Likewise.
43709
c3db8364 43710 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43711 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43712 (reboot_mod_SOURCES): Likewise.
43713
43714 * commands/i386/pc/reboot.c: merge this file ...
43715
43716 * commands/ieee1275/reboot.c: ... and this file ...
43717
43718 * commands/reboot.c: ... to this file.
c3db8364 43719 Add some precompiler directive to include the correct header for
43720 each machine.
f714229e 43721
43722 * commands/ieee1275/halt.c: move this file ...
43723
43724 * commands/halt.c: ... to here.
c3db8364 43725 Add some precompiler directive to include the correct header for
43726 each machine.
f714229e 43727
43728 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43729 (grub_halt): Likewise.
43730
43731 * kern/efi/efi.c (grub_reboot): New function.
43732 (grub_halt): Likewise.
43733
c74493e0 437342008-02-12 Robert Millan <rmh@aybabtu.com>
43735
43736 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43737 /dev (like it is done for /dev/mapper). This doesn't provide support
43738 for EVMS, but at least it is now easy to identify the problem when it
43739 arises.
43740
d0db4b04 437412008-02-11 Robert Millan <rmh@aybabtu.com>
43742
43743 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43744 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43745 comparing it with -1, not 0.
43746
bf748642 437472008-02-10 Robert Millan <rmh@aybabtu.com>
43748
43749 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43750 `disk/lvm.c'.
43751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43752 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43753
43754 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43755 `disk/lvm.c' to the end of the list.
43756 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43757 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43758
b5db202a 437592008-02-10 Robert Millan <rmh@aybabtu.com>
43760
43761 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43762 grub_print_error() instead. This will let user know why we're entering
43763 rescue mode.
43764 Based on suggestions from Sam Morris.
43765
83abee31 437662008-02-10 Alexandre Boeglin <alex@boeglin.org>
43767
43768 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43769 on remaining N args, instead of "--" arg N times.
43770
78d5a08b 437712008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43772
43773 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43774 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43775 pattern for unknown glyphs.
43776
68807e5f 437772008-02-09 Robert Millan <rmh@aybabtu.com>
43778
43779 * configure.ac: Probe for `help2man'.
43780 * Makefile.in (builddir): New variable.
43781 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43782 or otherwise add a few flags/options to it.
43783 (install-local): For every executable utility or script that is
43784 installed, invoke $(HELP2MAN) to install a manpage based on --help
43785 output.
43786
43787 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43788 that it doesn't prevent --help from working in build tree.
43789
43790 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43791 with `bug-grub@gnu.org'.
43792 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43793 * util/update-grub.in (usage): New function.
43794 Implement proper argument check, with support for --help and --version
43795 (as well as existing -y).
43796
437972008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43798
43799 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43800 avoid overwriting previous output.
43801 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43802
c1962162 438032008-02-09 Robert Millan <rmh@aybabtu.com>
43804
43805 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43806 drawing the menu.
43807
3dac2e3f 438082008-02-09 Robert Millan <rmh@aybabtu.com>
43809
43810 * commands/sleep.c: New file.
43811 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43812 (sleep_mod_SOURCES): New variable.
43813 (sleep_mod_CFLAGS): Likewise.
43814 (sleep_mod_LDFLAGS): Likewise.
43815
7a634e08 438162008-02-09 Robert Millan <rmh@aybabtu.com>
43817
43818 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43819 situations in which we can deduce the RAID size and the superblock
43820 doesn't match it.
43821
b92f0c18 438222008-02-09 Robert Millan <rmh@aybabtu.com>
43823
43824 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43825 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43826 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43827
43828 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43829 and return a grub_diskmemberlist_t composed of physical array members.
43830 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43831
43832 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43833 prototype.
43834 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43835 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43836 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43837
43838 * util/grub-probe.c (probe): Move partmap probing code from here ...
43839 (probe_partmap): ... to here.
43840 (probe): Use probe_partmap() once for the disk we're probing, and
43841 additionally, when such disk contains a memberlist() struct member,
43842 once for each disk that is contained in the structure returned by
43843 memberlist().
43844
91a4bf68 438452008-02-09 Robert Millan <rmh@aybabtu.com>
43846
43847 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43848 environment variable to 'all' in order to obtain debug output from
43849 non-util/ code.
43850 * util/i386/pc/grub-setup.c (main): Likewise.
43851
a96f9caa 438522008-02-08 Robert Millan <rmh@aybabtu.com>
43853
43854 * disk/raid.c (grub_raid_scan_device): Check for
43855 `array->device[sb.this_disk.number]' rather than for
43856 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43857 guaranteed to be accessible.
a96f9caa 43858
b37a9222 438592008-02-08 Robert Millan <rmh@aybabtu.com>
43860
43861 * disk/raid.c: Update copyright.
43862 * fs/cpio.c: Likewise.
43863 * include/grub/raid.h: Likewise.
43864 * loader/i386/pc/multiboot.c: Likewise.
43865 * util/hostfs.c: Likewise.
43866
5626aee1 438672008-02-08 Robert Millan <rmh@aybabtu.com>
43868
43869 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43870 to a grub_disk_t array.
43871 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43872 `device[x]'.
43873 (grub_raid_scan_device): Replace `device[x].name' accesses with
43874 `device[x]->name'. Simplify initialization of `array->device[x]'.
43875
554f0187 438762008-02-08 Robert Millan <rmh@aybabtu.com>
43877
43878 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43879 grub_dprintf() calls.
43880 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43881 error message.
43882
1ec8425d 438832008-02-07 Christian Franke <franke@computer.org>
43884
43885 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43886 instead of fseek and ftell to support large files.
43887 (grub_hostfs_read): Likewise.
43888
f2156fda 438892008-02-07 Robert Millan <rmh@aybabtu.com>
43890
43891 Patch from Jeroen Dekkers.
43892 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43893 failure, since successfully reading all array members might not be
f2156fda 43894 required.
43895
9216e0e7 438962008-02-06 Robert Millan <rmh@aybabtu.com>
43897
43898 * util/grub-probe.c (probe): Simplify partmap probing (with the
43899 assumption that the first word up to the underscore equals to
43900 the module name).
43901
b0dfd29a 439022008-02-06 Christian Franke <franke@computer.org>
43903
43904 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43905 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43906 last block of a cpio or tar stream.
43907 Check for "TRAILER!!!" instead of any empty data
43908 block to detect last block of a cpio stream.
43909 (grub_cpio_dir): Fix constness of variable np.
43910 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43911 cpio or tar trailer is detected. This fixes a crash
43912 on open of a non existing file.
43913
c32865bf 439142008-02-05 Bean <bean123ch@gmail.com>
43915
43916 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43917 address of entry.
43918 (grub_multiboot_load_elf64): Likewise.
43919 (grub_multiboot): Initialize mbi structure.
43920
43921 * util/grub-fstest.c: Don't include unused header file script.h.
43922
fe6b695a 43923 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43924 of file.
43925 (grub_fstest_SOURCES): Likewise.
43926
409480b7 439272008-02-05 Robert Millan <rmh@aybabtu.com>
43928
43929 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43930 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43931 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43932 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43933
43934 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43935 (translation_table): Replace hardcoded values with macros
43936 provided by `<grub/term.h>'.
43937
43938 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43939 (keyboard_map): Correct/add a few values, with macros provided
43940 by `<grub/term.h>'.
43941 (keyboard_map_shift): Zero values that don't differ from their
43942 `keyboard_map' equivalents.
43943 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43944 Discard the second scan code that is always sent by Caps lock.
43945 Only use `keyboard_map_shift' when it provides a non-zero value,
43946 otherwise fallback to `keyboard_map'.
43947
99fadbaa 439482008-02-04 Bean <bean123ch@gmail.com>
43949
43950 * Makefile.in (enable_grub_fstest): New variable.
43951
43952 * conf/common.rmk (grub_fstest_init.lst): New rule.
43953 (grub_fstest_init.h): Likewise.
43954 (grub_fstest_init.c): Likewise.
43955 (util/grub-fstest.c_DEPENDENCIES): New variable.
43956 (grub_fstest_SOURCES): Likewise.
43957
43958 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43959
43960 * util/grub-fstest.c: New file.
43961
bf567c50 439622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43963
43964 Make grub-setup handle a separate root device.
f19dbdb7 43965
bf567c50 43966 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43967 so that the root device can be compared with the destination
43968 device.
43969 When embedding the core image, if the root and destination devices
43970 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43971 0xFF.
43972 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43973
9be6b98b 439742008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43975
43976 Add support for having a grub directory in a different drive. This
43977 is still only the data handling part.
f19dbdb7 43978
9be6b98b 43979 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43980 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43981 (grub_root_drive): New variable.
43982
43983 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43984 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43985 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43986 as it was.
43987
43988 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43989
43990 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43991 macro.
43992 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43993
43994 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43995 is bogus, because PXE booting does not specify any drive
43996 correctly.
43997
43998 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43999 am not sure if this is really correct.
44000
44001 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
44002 is always identical to the boot drive when booting from a CD.
44003
44004 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
44005 longer.
44006 (root_drive): New variable.
44007 (real_start): Unconditionally set %dh to ROOT_DRIVE.
44008 (setup_sectors): Push %dx right after popping it, because %dh will
44009 be modified later.
44010 (copy_buffer): Restore %dx.
44011
e0ca0677 440122008-02-03 Robert Millan <rmh@aybabtu.com>
44013
44014 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
44015 use `cdboot.img' for cdrom images.
44016
3b3f6629 440172008-02-03 Robert Millan <rmh@aybabtu.com>
44018
44019 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
44020 only setup gfxterm when `font' command has succeeded.
44021
d42b3672 440222008-02-03 Robert Millan <rmh@aybabtu.com>
44023
44024 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
44025 (grub_rescue_cmd_multiboot_loader)
44026 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
44027
fa370ea6 440282008-02-03 Pavel Roskin <proski@gnu.org>
44029
e0c5dacb 44030 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 44031 %edx and %esi from stack only after grub_gate_a20() is called.
44032 grub_gate_a20() clobbers %edx.
44033
f2a76e1d 440342008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
44035
44036 * configure.ac (AC_INIT): Bumped to 1.96.
44037
44038 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44039 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44040 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44041 video/readers/png.c.
44042
90fd32d1 440432008-02-03 Bean <bean123ch@gmail.com>
9be665dd 44044
44045 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44046 (cdboot_img_SOURCES): New variable.
44047 (cdboot_img_ASFLAGS): New variable.
44048 (cdboot_img_LDFLAGS): New variable.
44049
44050 * boot/i386/pc/cdboot.S: New file.
44051
44052 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44053 (cd_count): Likewise.
44054 (grub_biosdisk_get_drive): Add support for cd device.
44055 (grub_biosdisk_call_hook): Likewise.
44056 (grub_biosdisk_iterate): Likewise.
44057 (grub_biosdisk_open): Likewise.
44058 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44059 (grub_biosdisk_rw): Support reading from cd device.
44060 (GRUB_MOD_INIT): Iterate cd devices.
44061
44062 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44063 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44064 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44065
44066 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44067
4020aa53 440682008-02-02 Robert Millan <rmh@aybabtu.com>
44069
44070 * commands/read.c: New file.
44071 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44072 (read_mod_SOURCES): New variable.
44073 (read_mod_CFLAGS): Likewise.
44074 (read_mod_LDFLAGS): Likewise.
44075
e03a1132 440762008-02-02 Robert Millan <rmh@aybabtu.com>
44077
44078 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44079 determining whether menu has to be displayed.
44080
58c69220 440812008-02-02 Marco Gerards <marco@gnu.org>
44082
44083 * bus/pci.c: New file.
44084
44085 * include/grub/pci.h: Likewise.
44086
44087 * include/grub/i386/pc/pci.h: Likewise.
44088
44089 * commands/lspci.c: Likewise.
44090
44091 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44092 `lspci.mod'.
44093 (pci_mod_SOURCES): New variable.
44094 (pci_mod_CFLAGS): Likewise.
44095 (pci_mod_LDFLAGS): Likewise.
44096 (lspci_mod_SOURCES): Likewise.
44097 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 44098 (lspci_mod_LDFLAGS): Likewise.
58c69220 44099
c004e1b4 441002008-02-02 Bean <bean123ch@gmail.com>
44101
44102 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44103 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44104
44105 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44106 (grub_xfs_btree_node): New structure.
44107 (grub_xfs_btree_root): New structure.
44108 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44109 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44110 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44111 (GRUB_XFS_EXTENT_SIZE): Likewise.
44112 (grub_xfs_read_block): Support btree format type.
44113 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44114 Use directory block as basic unit.
44115
44116 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44117
44118 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44119 __attribute__ ((__regparm__ (1))).
44120
f95562bf 441212008-02-01 Robert Millan <rmh@aybabtu.com>
44122
44123 Correct a mistake in previous commit.
44124
44125 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44126 top.
44127 (normal/command.c_DEPENDENCIES): New variable.
44128
7d31f41f 441292008-02-01 Robert Millan <rmh@aybabtu.com>
44130
44131 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44132 top.
44133 (normal/command.c_DEPENDENCIES): New variable.
44134 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44135 * conf/i386-ieee1275.rmk: Likewise.
44136 * conf/i386-linuxbios.rmk: Likewise.
44137 * conf/i386-pc.rmk: Likewise.
44138 * conf/sparc64-ieee1275.rmk: Likewise.
44139 * conf/powerpc-ieee1275.rmk: Likewise.
44140 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44141
44142 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44143
60b6be74 441442008-02-01 Robert Millan <rmh@aybabtu.com>
44145
44146 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44147 call at beginning of function.
44148
078522ab 441492008-01-31 Pavel Roskin <proski@gnu.org>
44150
44151 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 44152 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44153 (grub_mkrescue_SOURCES): Likewise.
078522ab 44154 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44155
ccaa8a5f 441562008-01-30 Robert Millan <rmh@aybabtu.com>
44157
44158 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44159 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44160 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44161 (grub_probe_SOURCES): ... to here.
44162
44163 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44164 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44165 * conf/i386-ieee1275.rmk: Likewise.
44166 * conf/i386-linuxbios.rmk: Likewise.
44167 * conf/powerpc-ieee1275.rmk: Likewise.
44168
ae5a9cd7 441692008-01-30 Tristan Gingold <gingold@free.fr>
44170
44171 * kern/rescue.c: Silently accept empty lines.
44172
70bc2ef2 441732008-01-29 Bean <bean123ch@gmail.com>
44174
44175 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44176 (real_code_2): Code cleanup and change comment style.
44177 (move_memory): Avoid using 32-bit address mode.
44178
6a4d50ea 441792008-01-29 Bean <bean123ch@gmail.com>
44180
44181 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44182 (png_mod_SOURCES): New variable.
44183 (png_mod_CFLAGS): Likewise.
44184 (png_mod_LDFLAGS): Likewise.
44185
44186 * video/readers/png.c: New file.
44187
11cc30ac 441882008-01-28 Robert Millan <rmh@aybabtu.com>
44189
44190 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44191 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44192 `ifndef GRUB_MOD_GAP' hack.
44193 * util/elf/grub-mkimage.c (add_segments): Likewise.
44194
3abc589f 441952008-01-27 Robert Millan <rmh@aybabtu.com>
44196
44197 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44198 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 44199 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 44200
e1907778 442012008-01-27 Robert Millan <rmh@aybabtu.com>
44202
44203 Get grub-emu to build again (including parallel builds).
44204
44205 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44206 Split into ...
44207 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44208 (normal/execute.c_DEPENDENCIES): ... this, ...
44209 (grub-emu_DEPENDENCIES): ... and this.
44210
44211 * conf/i386-efi.rmk: Likewise.
44212 * conf/i386-linuxbios.rmk: Likewise.
44213 * conf/i386-ieee1275.rmk: Likewise.
44214 * conf/powerpc-ieee1275.rmk: Likewise.
44215 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44216
2216b101 442172008-01-27 Robert Millan <rmh@aybabtu.com>
44218
44219 * NEWS: Add a few items.
44220
f75172d9 442212008-01-27 Robert Millan <rmh@aybabtu.com>
44222
44223 Fix parallel builds with grub-emu. Based on earlier commit for
44224 grub-probe and grub-setup.
44225
44226 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44227 (util/grub-emu.c_DEPENDENCIES): ... this.
44228 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44229 (util/grub-emu.c_DEPENDENCIES): ... this.
44230 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44231 (util/grub-emu.c_DEPENDENCIES): ... this.
44232 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44233 (util/grub-emu.c_DEPENDENCIES): ... this.
44234 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44235 (util/grub-emu.c_DEPENDENCIES): ... this.
44236
3f51de77 442372008-01-27 Pavel Roskin <proski@gnu.org>
44238
44239 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44240 to create a gap between _end and the modules added to the image
44241 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44242 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44243 * util/elf/grub-mkimage.c (add_segments): Likewise.
44244
2033f53e 442452008-01-26 Pavel Roskin <proski@gnu.org>
44246
44247 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44248 just return an error.
44249
22da1f6f 442502008-01-26 Bean <bean123ch@gmail.com>
44251
44252 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44253 (grub_reiserfs_get_item): Save offset of the next item.
44254 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44255
2a9525e6 442562008-01-25 Robert Millan <rmh@aybabtu.com>
44257
44258 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44259 make all filesystem sources appear together (possibly fixing omissions
44260 while at it).
44261 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44262 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44263 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44265
44266 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44267 add `kern/file.c'.
44268 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44269 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44270 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44271 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44272
44273 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44274 (probe): Add a sanity check to make sure of our ability to read
44275 requested files when probing for filesystem type.
44276
44277 * genmk.rb: Update copyright year (2007).
44278
44279 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44280 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44281 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44282 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44283 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44284 : Remove function prototypes.
44285
b95f71b5 442862008-01-25 Robert Millan <rmh@aybabtu.com>
44287
44288 Revert my previous commits (based on wrong assumption of how grub_errno
44289 works).
44290
fe6b695a 44291 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44292 * kern/file.c (grub_file_open): Likewise.
44293
d08bbb49 442942008-01-24 Pavel Roskin <proski@gnu.org>
44295
44296 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44297 that hang if GRUB tries to setup colors.
44298 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44299 colors for firmwares that don't support it.
44300 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44301 Recognize Open Hack'Ware, set flags to work around its
44302 limitations.
44303
605e36ed 443042008-01-24 Robert Millan <rmh@aybabtu.com>
44305
44306 * kern/file.c (grub_file_open): Do not account previous failures of
44307 unrelated functions when grub_errno is checked for.
44308 Reported by Oleg Strikov.
44309
bac332a1 443102008-01-24 Bean <bean123ch@gmail.com>
44311
44312 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44313 (grub_ufs_sblock): New member volume name.
44314 (grub_ufs_find_file): Fix string copy bug.
44315 (grub_ufs_label): Implement this function properly.
44316
44317 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44318 (grub_hfs_iterate_records): Use the correct file number for extents
44319 and catalog file. Fix problem in next index calculation.
44320 (grub_hfs_find_node): Replace recursive function call with loop.
44321 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44322
15c80c09 443232008-01-23 Robert Millan <rmh@aybabtu.com>
44324
44325 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44326 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44327 (grub_multiboot2_real_boot): New function prototype.
44328
44329 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44330 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44331
44332 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44333 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44334
305338fd 443352008-01-23 Robert Millan <rmh@aybabtu.com>
44336
44337 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44338 #ifdef'ed out grub_printf().
44339
3ea52685 443402008-01-23 Robert Millan <rmh@aybabtu.com>
44341
44342 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44343 grub_dprintf calls, since they make "debug=all" mode unusable.
44344 (grub_console_checkkey): Likewise.
44345
5882ae4b 443462008-01-23 Robert Millan <rmh@aybabtu.com>
44347
44348 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44349 `term/i386/pc/at_keyboard.c'.
44350 (pkglib_MODULES): Add `serial.mod'.
44351 (serial_mod_SOURCES): New variable.
44352 (serial_mod_CFLAGS): Likewise.
44353 (serial_mod_LDFLAGS): Likewise.
44354
44355 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44356 `<grub/powerpc/ieee1275/console.h>'.
44357 (grub_keyboard_controller_init): New function prototype.
44358 (grub_console_checkkey): Likewise.
44359 (grub_console_getkey): Likewise.
44360
44361 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44362 keyboard on i386.
44363
44364 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44365 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44366
06ab5303 443672008-01-23 Robert Millan <rmh@aybabtu.com>
44368
44369 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44370 present, "(memdisk)/boot/grub" becomes the default prefix.
44371
44372 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44373 a memdisk tarball with all the modules. Add --overlay=DIR option that
44374 allows users to overlay additional files into the image.
44375
dbb475a4 443762008-01-23 Robert Millan <rmh@aybabtu.com>
44377
44378 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44379 and `machine/memory.h'.
44380 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44381 (_multiboot_mod_SOURCES): New variable.
44382 (_multiboot_mod_CFLAGS): Likewise.
44383 (_multiboot_mod_LDFLAGS): Likewise.
44384 (multiboot_mod_SOURCES): Likewise.
44385 (multiboot_mod_CFLAGS): Likewise.
44386 (multiboot_mod_LDFLAGS): Likewise.
44387
44388 * include/grub/i386/ieee1275/loader.h: New file.
44389
44390 * include/grub/i386/ieee1275/machine.h: Likewise.
44391
44392 * include/grub/i386/ieee1275/memory.h: Likewise.
44393
44394 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44395 variable declaration.
44396 (grub_os_area_size): Likewise.
44397
44398 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44399 (grub_lower_mem, grub_upper_mem): New variables.
44400 (grub_stop_floppy): New function (just to make
44401 grub_multiboot2_real_boot() happy).
44402
44403 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44404 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44405 (grub_stop): New function.
44406 Include `"../realmode.S"' and `"../loader.S"'.
44407
44408 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44409 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44410
44411 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44412 rely on grub_multiboot2_real_boot() for final boot.
44413
25638629 444142008-01-22 Robert Millan <rmh@aybabtu.com>
44415
44416 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44417 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44418 device that doesn't look like an SD card.
44419 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44420 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44421 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44422 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44423 found.
44424
9dad816d 444252008-01-22 Robert Millan <rmh@aybabtu.com>
44426
44427 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44428 avoid claiming over our own code.
44429
34842f2d 444302008-01-22 Bean <bean123ch@gmail.com>
44431
44432 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44433 (jpeg_mod_SOURCES): New variable.
44434 (jpeg_mod_CFLAGS): Likewise.
44435 (jpeg_mod_LDFLAGS): Likewise.
44436
44437 * video/readers/jpeg.c : New file.
44438
44023a28 444392008-01-22 Bean <bean123ch@gmail.com>
44440
44441 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44442 there are no more items.
44443
bc2d8ac6 444442008-01-21 Robert Millan <rmh@aybabtu.com>
44445
44446 * kern/mm.c (grub_mm_init_region): Improve debug message.
44447
261bd4bc 444482008-01-21 Robert Millan <rmh@aybabtu.com>
44449
44450 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44451 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44452 address.
44453 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44454 a C macro.
44455 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44456 Indicates start of upper memory.
44457 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44458 (generate_image): Abort when image size is big enough to corrupt
44459 upper memory.
44460
44461 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44462 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44463 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44464 instead of hardcoding 0xA0000.
44465 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44466 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44467 instead of hardcoding 0xA0000.
44468
f970b55e 444692008-01-21 Robert Millan <rmh@aybabtu.com>
44470
44471 * disk/memdisk.c (memdisk_size): New variable.
44472 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44473 `memdisk_size'.
44474 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44475 image to dynamic memory.
44476 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44477 `memdisk_size'. Free memdisk block.
44478
1a8b0526 444792008-01-21 Robert Millan <rmh@aybabtu.com>
44480
44481 Fix detection of very small filesystems (like tar).
44482
44483 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44484 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44485 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44486 a problem with this disk).
44487
6e9b4aab 444882008-01-21 Robert Millan <rmh@aybabtu.com>
44489
44490 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44491 on grub_biosdisk_rw_standard() error.
44492
0d8837b2 444932008-01-21 Robert Millan <rmh@aybabtu.com>
44494
44495 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44496 recent changes.
44497 * kern/elf.c: Likewise.
44498 * kern/ieee1275/ieee1275.c: Likewise.
44499 * kern/powerpc/ieee1275/openfw.c: Likewise.
44500 * term/ieee1275/ofconsole.c: Likewise.
44501
ffd36e34 445022008-01-21 Robert Millan <rmh@aybabtu.com>
44503
44504 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44505
3f0093d0 44506 * include/grub/kernel.h (grub_arch_memdisk_addr)
44507 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44508
3f0093d0 44509 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44510 (grub_arch_memdisk_size): ... to here.
ffd36e34 44511
6c391b21 445122008-01-21 Robert Millan <rmh@aybabtu.com>
44513
44514 Mostly based on bugfix from Bean.
44515
44516 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44517 attribute with hook() parameter.
44518 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44519 declaration.
44520 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44521 attribute with hook() parameter.
44522 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44523 declaration.
44524
55a581dc 445252008-01-21 Robert Millan <rmh@aybabtu.com>
44526
44527 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44528 (pkglib_MODULES): Add `memdisk.mod'.
44529 (memdisk_mod_SOURCES): New variable.
44530 (memdisk_mod_CFLAGS): Likewise.
44531 (memdisk_mod_LDFLAGS): Likewise.
44532
44533 * disk/memdisk.c: New file.
44534
44535 * include/grub/disk.h (grub_disk_dev_id): Add
44536 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44537
44538 * include/grub/i386/pc/kernel.h
44539 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44540 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44541 (grub_kernel_image_size): New variable declaration.
44542 (grub_total_module_size): Likewise.
44543 (grub_memdisk_image_size): Likewise.
44544
44545 * include/grub/i386/pc/memory.h
44546 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44547
44548 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44549 (grub_arch_memdisk_addr): New variable declaration.
44550 (grub_arch_memdisk_size): Likewise.
44551
44552 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44553 (grub_arch_memdisk_size): Likewise.
44554
44555 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44556 (codestart): Replace hardcoded `0x100000' with
44557 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44558
44559 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44560 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44561 not NULL, append the contents of the file it refers to, at the end of
44562 the compressed kernel image. Initialize `grub_memdisk_image_size'
44563 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44564 (options): Add "memdisk"|'m' option.
44565 (main): Parse --memdisk|-m option, and pass user-provided path as
44566 parameter to generate_image().
44567
3d7f54c9 445682008-01-20 Robert Millan <rmh@aybabtu.com>
44569
44570 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44571 grub_dprintf() calls from here ...
44572 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44573
0bf74728 445742008-01-20 Robert Millan <rmh@aybabtu.com>
44575
44576 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44577
44578 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44579 declaration.
44580 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44581 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44582 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44583 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44584 property).
44585 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44586 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44587
33bf70a7 445882008-01-19 Robert Millan <rmh@aybabtu.com>
44589
fe6b695a 44590 Get rid of confusing function (superseded by
33bf70a7 44591 `grub_ieee1275_get_integer_property')
44592 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44593 prototype.
44594 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44595 function.
44596 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44597 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44598 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44599
e2da7d26 446002008-01-19 Robert Millan <rmh@aybabtu.com>
44601
44602 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44603 command after "shut-down", since implementations differ on which
44604 the command for halt is.
44605
59f1fd8d 446062008-01-19 Robert Millan <rmh@aybabtu.com>
44607
44608 * include/grub/i386/linuxbios/console.h: Add header protection.
44609 (grub_keyboard_controller_init): New function prototype.
44610 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44611 (KEYBOARD_COMMAND_READ): Likewise.
44612 (KEYBOARD_COMMAND_WRITE): Likewise.
44613 (KEYBOARD_SCANCODE_SET1): Likewise.
44614 (grub_keyboard_controller_write): New function.
44615 (grub_keyboard_controller_read): Likewise.
44616 (grub_keyboard_controller_init): Likewise.
44617
44618 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44619 (grub_console_init): On coreboot/LinuxBIOS, call
44620 grub_keyboard_controller_init().
44621
5f5a7c15 446222008-01-19 Robert Millan <rmh@aybabtu.com>
44623
44624 PowerPC changes provided by Pavel Roskin.
44625
44626 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44627 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44628 don't rely on cmain() doing it.
44629 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44630 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44631
1210e168 446322008-01-16 Robert Millan <rmh@aybabtu.com>
44633
44634 * include/grub/i386/linuxbios/memory.h
44635 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44636 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44637 receive `table_header' as argument. Instead, probe for it in the
44638 known memory ranges where it can be present.
44639 (grub_available_iterate): Do not pass a fixed `table_header' address
44640 to grub_linuxbios_table_iterate().
44641
3d04eab8 446422008-01-15 Robert Millan <rmh@aybabtu.com>
44643
44644 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44645 * conf/i386-ieee1275.rmk: New file.
44646 * include/grub/i386/ieee1275/console.h: Likewise.
44647 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44648 * include/grub/i386/ieee1275/kernel.h: Likewise.
44649 * include/grub/i386/ieee1275/time.h: Likewise.
44650 * kern/i386/ieee1275/init.c: Likewise.
44651 * kern/i386/ieee1275/startup.S: Likewise.
44652
d1bc1b73 446532008-01-15 Robert Millan <rmh@aybabtu.com>
44654
44655 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44656 when pointers are 32-bit (but still do set it to one when they are
44657 64-bit).
44658
66a65807 446592008-01-15 Robert Millan <rmh@aybabtu.com>
44660
44661 * include/grub/ieee1275/ieee1275.h
44662 (grub_ieee1275_get_integer_property): New function prototype.
44663
44664 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44665 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44666 grub_ieee1275_get_property() to handle endianness.
66a65807 44667
44668 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44669 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44670 where appropriate.
66a65807 44671 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44672 (grub_map): Likewise.
44673 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44674
a83ccafd 446752008-01-15 Bean <bean123ch@gmail.com>
44676
44677 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44678 (grub_script_execute_cmdline): Reset grub_errno.
44679
44680 * normal/main.c (read_config_file): Reset grub_errno.
44681
44682 * normal/parse.y (script_init): New.
44683 (script): Move function and menuentry here.
44684 (delimiter): New.
44685 (command): Add delimiter at the end of command.
44686 (commands): Adjust to match the new command.
44687 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44688 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44689 (if): Use the new commands.
44690
44691 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44692
df6ecfc6 446932008-01-15 Robert Millan <rmh@aybabtu.com>
44694
44695 * normal/menu.c (run_menu): Move timeout message from here ...
44696 (print_timeout): ... to here.
44697 (run_menu): Use print_timeout() once during initial draw to print
44698 the whole message, and again in every clock tick to update only
44699 the number of seconds.
44700
87ae25eb 447012008-01-15 Robert Millan <rmh@aybabtu.com>
44702
44703 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44704 actual size of `available' from grub_ieee1275_get_property(), and
44705 restrict parsing to that bound.
44706
47bf09a4 447072008-01-15 Christian Franke <franke@computer.org>
44708
44709 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44710 (argp_program_version): Remove variable.
44711 (argp_program_bug_address): Likewise.
44712 (options): Convert from struct argp_option to struct option.
44713 (struct arguments): Remove.
44714 (parse_opt): Remove.
44715 (usage): New function.
44716 (main): Replace struct args members by simple variables.
44717 Replace argp_parse() by getopt_long().
44718 Add switch to evaluate options.
44719 Add missing "(...)" around root_dev in prefix string.
44720
c86f1469 447212008-01-14 Robert Millan <rmh@aybabtu.com>
44722
44723 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44724 for grub_ieee1275_exit(), in order to improve portability.
44725
e622c559 447262008-01-14 Robert Millan <rmh@aybabtu.com>
44727
44728 * util/grub.d/10_linux.in (prefix): Define.
44729 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44730
44cb1ec8 447312008-01-13 Pavel Roskin <proski@gnu.org>
44732
44733 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44734 grub_errno if no errors have been detected.
44735
1eb8c802 447362008-01-12 Robert Millan <rmh@aybabtu.com>
44737
44738 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44739 (grub_util_get_dev_abstraction): New function prototype.
44740
44741 * util/getroot.c: Include `<grub/util/getroot.h>'
44742 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44743 (grub_util_get_dev_abstraction): ... here (new function).
44744
44745 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44746 `PRINT_ABSTRACTION'.
44747 (probe): Probe for abstraction type when requested.
44748 (main): Understand `--target=abstraction'.
44749
44750 * util/i386/efi/grub-install.in: Add abstraction module to core
44751 image when it is found to be necessary.
44752 * util/i386/pc/grub-install.in: Likewise.
44753 * util/powerpc/ieee1275/grub-install.in: Likewise.
44754
44755 * util/update-grub_lib.in (font_path): Return system path without
44756 converting to GRUB path.
44757 * util/update-grub.in: Convert system path returned by font_path()
44758 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44759 abstraction module is needed for loading fonts (if any). Export
44760 that as `GRUB_PRELOAD_MODULES'.
44761 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44762 insmod commands).
44763
52bd3de9 447642008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44765
44766 Remove some unused code from reiserfs.
f19dbdb7 44767
52bd3de9 44768 * fs/reiserfs.c (struct grub_reiserfs_key)
44769 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44770 (struct grub_reiserfs_node_body): Removed.
44771 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44772 Likewise.
44773 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44774 Likewise.
44775 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44776 Likewise.
44777 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44778 Likewise.
44779 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44780 Likewise.
44781 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44782 Likewise.
44783 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44784 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44785 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44786
2f80039d 447872008-01-10 Robert Millan <rmh@aybabtu.com>
44788
44789 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44790 Determines if a file is garbage left by packaging systems, etc.
44791 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44792 for processing /etc/grub.d scripts.
44793 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44794 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44795 as a condition for processing Linux images.
44796
87888032 447972008-01-10 Pavel Roskin <proski@gnu.org>
44798
44799 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44800 to compile reiserfs.c on PowerPC.
44801
7e54fced 448022008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44803
44804 * kern/device.c (grub_device_iterate): Do not abort device iteration
44805 when one of the devices cannot be opened.
44806 * kern/disk.c (grub_disk_open): Do not account previous failures of
44807 unrelated functions when grub_errno is checked for.
44808
5aa541e6 448092008-01-08 Robert Millan <rmh@aybabtu.com>
44810
44811 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44812 `! grub_linux_is_bzimage', change order of address comparison to make
44813 it more intuitive, and improve "too big zImage" error message.
44814
7076340d 448152008-01-08 Robert Millan <rmh@aybabtu.com>
44816
44817 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44818 `$(update-grub_DATA)'.
44819 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44820 targets.
44821
9ca70333 448222008-01-07 Robert Millan <rmh@aybabtu.com>
44823
44824 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44825 which instruction is modified by grub-setup during installation
44826 (since it wasn't obvious by only looking at this file).
44827
38ccf575 448282008-01-07 Robert Millan <rmh@aybabtu.com>
44829
44830 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44831 listing actual TODO items.
44832
f5db4291 448332008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44834
868967cf 44835 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44836 correctly.
44837 (grub_reiserfs_get_key_offset): Likewise.
44838 (grub_reiserfs_set_key_offset): Likewise.
44839 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44840 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44841
44842 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44843 better to remove the bitfield version completely.
f19dbdb7 44844
868967cf 448452008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44846
f5db4291 44847 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44848 allocated from the heap, due to the fshelp implementation.
44849 (grub_reiserfs_dir): Free NODE, due to the same reason.
44850
492e6d9d 448512008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44852
44853 Mostly from Vincent Pelletier:
f19dbdb7 44854
492e6d9d 44855 * fs/reiserfs.c: New file.
f19dbdb7 44856
492e6d9d 44857 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44858 (reiserfs_mod_SOURCES): New variable.
44859 (reiserfs_mod_CFLAGS): Likewise.
44860 (reiserfs_mod_LDFLAGS): Likewise.
44861
44862 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44863 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44864 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44865 normal/color.c.
44866
9ce3e7c1 448672008-01-06 Robert Millan <rmh@aybabtu.com>
44868
44869 * normal/color.c: Remove `<grub/env.h>'.
44870
f3b58148 448712008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44872
44873 * include/grub/normal.h: Include <grub/env.h>.
44874
7ac3bcfa 448752008-01-05 Robert Millan <rmh@aybabtu.com>
44876
44877 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44878 usage example with `(hd0,1)'.
fb358190 44879 Reported by Samuel Thibault.
7ac3bcfa 44880
c8ee99d7 448812008-01-05 Robert Millan <rmh@aybabtu.com>
44882
44883 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44884 (grub_linux_boot_zimage): Rename to ...
44885 (grub_linux_boot): ... this.
44886 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44887 (grub_linux_boot_zimage): Conditionalize zImage copy.
44888
44889 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44890 (grub_linux_boot_bzimage): Remove prototype.
44891 (grub_linux_boot_zimage): Rename to ...
44892 (grub_linux_boot): ... this.
44893
44894 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44895 (grub_linux_boot): Remove function.
44896
0ece25b1 448972008-01-05 Robert Millan <rmh@aybabtu.com>
44898
44899 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44900 (grub_env_write_color_highlight): Likewise.
44901 (grub_wait_after_message): Likewise.
44902
44903 * normal/color.c: New file.
44904
44905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44906 (normal_mod_DEPENDENCIES): Likewise.
44907
44908 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44909 (normal_mod_DEPENDENCIES): Likewise.
44910
44911 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44912 (normal_mod_DEPENDENCIES): Likewise.
44913
44914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44915 (normal_mod_DEPENDENCIES): Likewise.
44916
44917 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44918 for waiting after a message is printed.
44919 * normal/main.c (read_config_file): Likewise.
44920 (grub_normal_init): Register grub_env_write_color_normal() and
44921 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44922 `color_highlight' variables as global.
44923
44924 * normal/menu.c (grub_wait_after_message): New function.
44925 (grub_color_menu_normal): New variable. Replaces ...
44926 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44927 (grub_color_menu_highlight): New variable. Replaces ...
44928 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44929 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44930 `GRUB_TERM_COLOR_STANDARD'.
44931 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44932 `normal_code' and `highlight_code' to `old_color_normal' and
44933 `old_color_highlight', respectively.
44934 (grub_menu_init_page): Update colors when drawing the menu, based on
44935 `menu_color_normal' and `menu_color_highlight' variables.
44936 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44937 a message is printed.
44938
182dd4e5 449392008-01-05 Robert Millan <rmh@aybabtu.com>
44940
44941 * kern/env.c (grub_env_context_open): Propagate hooks for global
44942 variables to new context.
44943
44944 * kern/main.c (grub_set_root_dev): Export `root' variable.
44945
ddf8f6ad 449462008-01-05 Robert Millan <rmh@aybabtu.com>
44947
44948 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44949 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44950 them.
44951
d8b43d9b 449522008-01-05 Robert Millan <rmh@aybabtu.com>
44953
44954 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44955
2bff2de3 449562008-01-04 Christian Franke <franke@computer.org>
44957
44958 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44959 of eisa_mmap.
44960
97eab917 449612008-01-03 Pavel Roskin <proski@gnu.org>
44962
44963 * kern/i386/linuxbios/init.c: Put "void" to all function
44964 declarations with no arguments.
44965 * kern/powerpc/ieee1275/init.c: Likewise.
44966 * term/i386/pc/at_keyboard.c: Likewise.
44967 * term/i386/pc/vga_text.c: Likewise.
44968 * util/grub-mkdevicemap.c: Likewise.
44969
b9416d00 449702008-01-02 Robert Millan <rmh@aybabtu.com>
44971
44972 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44973 message when loaded image is out of bounds.
44974 (grub_multiboot_load_elf64): Likewise.
44975
92695df9 449762008-01-02 Pavel Roskin <proski@gnu.org>
44977
44978 * util/grub.d/10_linux.in: Try version without ".old" when
44979 looking for initrd. It's better to use initrd from the newer
44980 kernel of the same version than no initrd at all.
44981
d98d9cad 449822008-01-01 Robert Millan <rmh@aybabtu.com>
44983
44984 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44985
dbfdce36 449862008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44987
f19dbdb7 44988 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44989 grub_video_get_active_render_target.
44990 (grub_video_adapter): Added unmap_color and get_active_render_target.
44991
f19dbdb7 44992 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44993 grub_video_get_active_render_target.
44994 (grub_video_get_info): Changed method to accept NULL pointer as an
44995 argument to allow detection of active video adapter.
44996
44997 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44998 grub_video_vbe_unmap_color_int.
44999 Added grub_video_vbe_unmap_color and
45000 grub_video_vbe_get_active_render_target.
45001 (grub_video_vbe_adapter): Added unmap_color and
45002 get_active_render_target.
45003
f19dbdb7 45004 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 45005 with grub_video_vbe_unmap_color_int.
45006
45007 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
45008 (DEFAULT_NORMAL_COLOR): Likewise.
45009 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
45010 (DEFAULT_FG_COLOR): Removed.
45011 (DEFAULT_BG_COLOR): Likewise.
45012 (DEFAULT_CURSOR_COLOR): Changed value.
45013 (grub_virtual_screen): Added standard_color_setting,
45014 normal_color_setting, highlight_color_setting and term_color.
45015 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
45016 (bitmap_width): Added.
45017 (bitmap_height): Likewise.
45018 (bitmap): Likewise.
45019 (set_term_color): Likewise.
45020 (grub_virtual_screen_setup): Changed to use new terminal coloring
45021 settings.
45022 (grub_gfxterm_init): Added init for bitmap.
45023 (grub_gfxterm_fini): Added destroy for bitmap.
45024 (redraw_screen_rect): Updated to use background bitmap and new
45025 terminal coloring.
45026 (scroll_up): Added optimization for case when there is no bitmap.
45027 (grub_gfxterm_cls): Fixed to use correct background color.
45028 (grub_virtual_screen_setcolorstate): Changed to use new terminal
45029 coloring.
45030 (grub_virtual_screen_setcolor): Likewise.
45031 (grub_virtual_screen_getcolor): Added.
45032 (grub_gfxterm_background_image_cmd): Likewise.
45033 (grub_video_term): Added setcolor and getcolor.
45034 (MOD_INIT): Added registration of background_image command.
45035 (MOD_TERM): Added unregistration for background_image command.
45036
c3c20931 450372007-12-30 Pavel Roskin <proski@gnu.org>
45038
45039 * loader/multiboot_loader.c: Fix multiboot command
45040 unregistration. Fix all typos in the word "multiboot".
45041
df266716 450422007-12-29 Pavel Roskin <proski@gnu.org>
94239199 45043
45044 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45045 support for initrd names used in Fedora.
45046
fc6e896c 450472007-12-26 Bean <bean123ch@gmail.com>
45048
45049 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45050 (cpio_mod_SOURCES): New variable.
45051 (cpio_mod_CFLAGS): Likewise.
45052 (cpio_mod_LDFLAGS): Likewise.
45053
45054 * fs/cpio.c: New file.
45055
45056 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45057
45058 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45059
45060 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45061
45062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45063
533110ad 450642007-12-25 Robert Millan <rmh@aybabtu.com>
45065
45066 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45067 (grub_getcolor): New function.
45068
45069 * kern/term.c (grub_getcolor): New function.
45070 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45071 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45072 (print_entry): Set normal and highlight colors to
45073 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45074 respectively, before printing and restore them to old
45075 values afterwards.
45076 (grub_menu_init_page): Likewise. Fill an additional colored space
45077 that would otherwise be left blank.
45078
45079 * term/efi/console.c (grub_console_getcolor): New function.
45080 (struct grub_console_term.getcolor): New variable.
45081 * term/i386/pc/console.c (grub_console_getcolor): New function.
45082 (struct grub_console_term.getcolor): New variable.
45083 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45084 (struct grub_console_term.getcolor): New variable.
45085
45086 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45087 (struct grub_console_term.setcolor): Remove variable.
45088 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45089 (struct grub_console_term.setcolor): Remove variable.
45090 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45091 (struct grub_console_term.setcolor): Remove variable.
45092 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45093 (struct grub_console_term.setcolor): Remove variable.
45094
4931827f 450952007-12-25 Robert Millan <rmh@aybabtu.com>
45096
45097 * configure.ac: Search for possible unifont.hex locations, and
45098 define UNIFONT_HEX if found.
45099
45100 * Makefile.in (UNIFONT_HEX): Define variable.
45101 (DATA): Rename to ...
45102 (PKGLIB): ... this. Update all users.
45103 (PKGDATA): New variable.
45104 (pkgdata_IMAGES): Rename to ...
45105 (pkglib_IMAGES): ... this. Update all users.
45106 (pkgdata_MODULES): Rename to ...
45107 (pkglib_MODULES): ... this. Update all users.
45108 (pkgdata_PROGRAMS): Rename to ...
45109 (pkglib_PROGRAMS): ... this. Update all users.
45110 (pkgdata_DATA): Rename to ...
45111 (pkglib_DATA): ... this. Update all users.
45112 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45113 (unicode.pff, ascii.pff): New rules.
45114 (all-local): Add `$(PKGDATA)' dependency.
45115 (install-local): Process `$(PKGDATA)'.
45116
45117 * util/update-grub_lib.in (font_path): Search for *.pff files in
45118 a few more locations, including `${pkgdata}'.
45119
57e57e31 451202007-12-23 Robert Millan <rmh@aybabtu.com>
45121
45122 Patch from Bean <bean123ch@gmail.com>:
45123 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45124 `size'.
45125
4bc72aa9 451262007-12-21 Bean <bean123ch@gmail.com>
45127
45128 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45129 (ntfscomp_mod_SOURCES): New variable.
45130 (ntfscomp_mod_CFLAGS): Likewise.
45131 (ntfscomp_mod_LDFLAGS): Likewise.
45132
45133 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45134 (grub_probe_SOURCES): Likewise.
45135 (grub_emu_SOURCES): Likewise.
45136
45137 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45138 (grub_emu_SOURCES): Likewise.
45139
45140 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45141 (grub_emu_SOURCES): Likewise.
45142
45143 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45144 (grub_emu_SOURCES): Likewise.
45145
45146 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45147 (read_run_list): Renamed to grub_ntfs_read_run_list.
45148 (decomp_nextvcn): Moved to ntfscomp.c.
45149 (decomp_getch): Likewise.
45150 (decomp_get16): Likewise.
45151 (decomp_block): Likewise.
45152 (read_block): Likewise.
45153 (read_data): Partially moved to ntfscomp.c.
45154 (fixup): Change unsigned to grub_uint16_t.
45155 (read_mft): Change unsigned long to grub_uint32_t.
45156 (read_attr): Likewise.
45157 (read_data): Likewise.
45158 (read_run_data): Likewise.
45159 (read_run_list): Likewise.
45160 (read_mft): Likewise.
45161
45162 * fs/ntfscomp.c: New file.
45163
45164 * include/grub/ntfs.h: New file.
45165
af680a87 451662007-12-16 Robert Millan <rmh@aybabtu.com>
45167
45168 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45169 IDE disk check, since Linux is known to support 20 IDE disks.
45170 Reported by Colin Watson.
45171
84be7599 451722007-12-15 Bean <bean123ch@gmail.com>
45173
45174 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45175 (lnxboot_img_SOURCES): New variable.
45176 (lnxboot_img_ASFLAGS): Likewise.
45177 (lnxboot_img_LDFLAGS): Likewise.
45178
45179 * boot/i386/pc/lnxboot.S: New file.
45180
6af9db01 451812007-11-24 Pavel Roskin <proski@gnu.org>
45182
45183 * configure.ac: Test if '--build-id=none' is supported by the
45184 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45185 objcopy to generate incorrect binary files (binutils
45186 2.17.50.0.18-1 as shipped by Fedora 8).
45187 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45188 linking, so that build ID doesn't break the test.
45189
7361cfe6 451902007-11-24 Pavel Roskin <proski@gnu.org>
45191
45192 * include/grub/i386/time.h: use "void" in the argument list
45193 of grub_cpu_idle().
45194 * include/grub/powerpc/time.h: Likewise.
45195 * include/grub/sparc64/time.h: Likewise.
45196
1593e10c 451972007-11-18 Christian Franke <franke@computer.org>
45198
45199 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45200 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45201 This fixes the problem that function keys did not work in grub-emu.
45202
3b8db1a8 452032007-11-18 Christian Franke <franke@computer.org>
45204
45205 * disk/host.c (grub_host_open): Remove attribute unused from
45206 name parameter. Add check for "host". This fixes the problem
45207 that grub-emu does not find partitions.
45208
2e29408d 452092007-11-18 Christian Franke <franke@computer.org>
45210
45211 * util/hostfs.c (is_dir): New function.
45212 (grub_hostfs_dir): Handle missing dirent.d_type case.
45213 (grub_hostfs_read): Add missing fseek().
45214 (grub_hostfs_label): Clear label pointer. This fixes a crash
45215 of grub-emu on "ls (host)".
45216
398cd047 452172007-11-18 Christian Franke <franke@computer.org>
45218
45219 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45220 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45221 to 64 bit boundary by default.
45222
c405c391 452232007-11-18 Bean <bean123ch@gmail.com>
45224
45225 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45226 (hexdump_mod_SOURCES): New variable.
45227 (hexdump_mod_CFLAGS): Likewise.
45228 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45229
c405c391 45230 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45231
45232 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45233
45234 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45235
45236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45237
45238 * include/grub/hexdump.h: New file.
45239
45240 * commands/hexdump.c: New file.
45241
5cced7fd 452422007-11-10 Robert Millan <rmh@aybabtu.com>
45243
45244 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45245 in grub_outb() calls.
45246 (beep_on): Likewise.
45247
8b714eb0 452482007-11-10 Christian Franke <franke@computer.org>
45249
45250 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45251 (grub_menu_run): Likewise.
45252
ce0f1839 452532007-11-10 Robert Millan <rmh@aybabtu.com>
45254
45255 * include/grub/i386/efi/machine.h: New file.
45256 * include/grub/i386/linuxbios/machine.h: Likewise.
45257 * include/grub/i386/pc/machine.h: Likewise.
45258 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45259 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45260
45261 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45262 (serial_hw_io_addr): New variable.
45263 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45264 instead of `(unsigned short *) 0x400'.
45265
270c237d 452662007-11-10 Bean <bean123ch@gmail.com>
45267
45268 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45269
a87783bf 452702007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45271
45272 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45273 (vga_mod_SOURCES): Added.
45274 (vga_mod_CFLAGS): Likewise.
45275 (vga_mod_LDFLAGS): Likewise.
45276
45277 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45278 grub_outb() calls.
45279 (set_map_mask): Likewise.
45280 (set_read_map): Likewise.
45281 (set_read_address): Likewise.
45282 (vga_font): Removed variable.
45283 (get_vga_glyph): Removed function.
45284 (invalidate_char): Likewise.
45285 (write_char): Changed to use grub_font_get_glyph() for font
45286 information.
45287 (grub_vga_putchar): Likewise.
45288 (grub_vga_getcharwidth): Likewise.
45289
6433b448 452902007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45291
45292 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45293 flags.
45294 (pxeboot_img_LDFLAGS): Likewise.
45295 (diskboot_img_LDFLAGS): Likewise.
45296 (kernel_img_LDFLAGS): Likewise.
45297
49178511 452982007-11-06 Robert Millan <rmh@aybabtu.com>
45299
45300 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45301 in grub_outb() calls.
45302 (serial_hw_init): Likewise.
45303
53b052de 453042007-11-05 Robert Millan <rmh@aybabtu.com>
45305
45306 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45307 spaces. Skip non-regular files.
45308
5ab33bba 453092007-11-05 Robert Millan <rmh@aybabtu.com>
45310
45311 * kern/disk.c (grub_disk_firmware_fini)
45312 (grub_disk_firmware_is_tainted): New variables.
45313
45314 * include/grub/disk.h (grub_disk_firmware_fini)
45315 (grub_disk_firmware_is_tainted): Likewise.
45316
45317 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45318 (grub_disk_biosdisk_fini): ... to here.
45319 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45320 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45321 is set. Register grub_disk_biosdisk_fini() in
45322 `grub_disk_firmware_fini'.
45323
45324 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45325 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45326 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45327 to finish existing firmware disk interface.
45328
45329 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45330 (ata_mod_SOURCES): New variable.
45331 (ata_mod_CFLAGS): Likewise.
45332 (ata_mod_LDFLAGS): Likewise.
45333
0149ab7c 453342007-11-05 Robert Millan <rmh@aybabtu.com>
45335
45336 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45337 (grub_ata_wait): Reimplement using grub_millisleep().
45338
45339 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45340 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45341
be7ac41e 453422007-11-03 Marco Gerards <marco@gnu.org>
45343
45344 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45345 (CRTC_ADDR_PORT): New macro.
45346 (CRTC_DATA_PORT): Likewise.
45347 (CRTC_CURSOR): Likewise.
45348 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45349 (CRTC_CURSOR_ADDR_LOW): Likewise.
45350 (update_cursor): New function.
45351 (grub_console_real_putchar): Call `update_cursor'.
45352 (grub_console_gotoxy): Likewise.
45353 (grub_console_cls): Set the default color when clearing the
45354 screen.
45355 (grub_console_setcursor): Implemented.
45356
bb06ab2e 453572007-11-03 Marco Gerards <marco@gnu.org>
45358
45359 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45360 become activate.
45361 (grub_ata_pio_write): Likewise.
45362
45363 (grub_atapi_identify): Wait after issuing an ATA command.
45364 (grub_atapi_packet): Likewise.
45365 (grub_ata_identify): Likewise.
45366 (grub_ata_readwrite): Likewise.
45367
cf8f780b 453682007-11-03 Marco Gerards <marco@gnu.org>
45369
45370 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45371 (grub_ata_pio_write): Likewise.
45372 (grub_ata_readwrite): Use `grub_error', instead of
45373 returning `grub_errno'.
45374
ed649e54 453752007-11-03 Marco Gerards <marco@gnu.org>
45376
45377 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45378 grub_ata_pio_write once for every single sector, instead of for
45379 multiple sectors.
45380
ca25d8f0 453812007-10-31 Robert Millan <rmh@aybabtu.com>
45382
45383 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45384
45385 * conf/i386-linuxbios.rmk: New file.
45386
45387 * kern/i386/pc/hardware.c: Likewise.
45388 * term/i386/pc/at_keyboard.c: Likewise.
45389 * term/i386/pc/vga_text.c: Likewise.
45390
45391 * include/grub/i386/linuxbios/boot.h: Likewise.
45392 * include/grub/i386/linuxbios/console.h: Likewise.
45393 * include/grub/i386/linuxbios/init.h: Likewise.
45394 * include/grub/i386/linuxbios/kernel.h: Likewise.
45395 * include/grub/i386/linuxbios/loader.h: Likewise.
45396 * include/grub/i386/linuxbios/memory.h: Likewise.
45397 * include/grub/i386/linuxbios/serial.h: Likewise.
45398 * include/grub/i386/linuxbios/time.h: Likewise.
45399
45400 * kern/i386/linuxbios/init.c: Likewise.
45401 * kern/i386/linuxbios/startup.S: Likewise.
45402 * kern/i386/linuxbios/table.c: Likewise.
45403
e911ecc1 454042007-10-31 Marco Gerards <marco@gnu.org>
45405
45406 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45407 (ata_mod_SOURCES): New variable.
45408 (ata_mod_CFLAGS): Likewise.
45409 (ata_mod_LDFLAGS): Likewise.
45410
45411 * disk/ata.c: New file.
45412
45413 * include/grub/disk.h (grub_disk_dev_id): Add
45414 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45415
7f66d0e0 454162007-10-31 Robert Millan <rmh@aybabtu.com>
45417
45418 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45419 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45420
45421 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45422 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45423
45424 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45425 `<grub/types.h>'.
45426
45427 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45428
5cd7dd46 454292007-10-27 Robert Millan <rmh@aybabtu.com>
45430
3236ca65 45431 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45432
2ebfc90f 454332007-10-22 Robert Millan <rmh@aybabtu.com>
45434
45435 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45436 `"../realmode.S"'.
45437 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45438
73fcb0f3 454392007-10-22 Robert Millan <rmh@aybabtu.com>
45440
45441 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45442 (pkgdata_MODULES): Add `biosdisk.mod'.
45443 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45444 variables.
45445
45446 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45447 (grub_biosdisk_init): Replace with ...
45448 (GRUB_MOD_INIT(biosdisk)): ... this.
45449 (grub_biosdisk_fini): Replace with ...
45450 (GRUB_MOD_FINI(biosdisk)): ... this.
45451
45452 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45453 (grub_machine_init): Remove call to grub_biosdisk_init().
45454 (grub_machine_fini): Remove call to grub_machine_fini().
45455
45456 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45457
3381d274 454582007-10-22 Robert Millan <rmh@aybabtu.com>
45459
45460 * include/grub/time.h: New file.
45461 * include/grub/i386/time.h: Likewise.
45462 * include/grub/powerpc/time.h: Likewise.
45463 * include/grub/sparc64/time.h: Likewise.
45464
45465 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45466 instances to ...
45467 (KERNEL_MACHINE_TIME_HEADER): ... this.
45468 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45469 instances to ...
45470 (KERNEL_MACHINE_TIME_HEADER): ... this.
45471 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45472 instances to ...
45473 (KERNEL_MACHINE_TIME_HEADER): ... this.
45474
45475 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45476 (grub_millisleep): New function.
45477 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45478 (grub_millisleep): New function.
45479 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45480 Remove `grub/machine/time.h' include.
45481 (grub_millisleep): New function.
45482 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45483 Remove `grub/machine/time.h' include.
45484 (grub_millisleep): New function.
45485
45486 * include/grub/misc.h (grub_div_roundup): New function.
45487
45488 * kern/misc.c: Include `<grub/time.h>'.
45489 (grub_millisleep_generic): New function.
45490
45491 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45492 Add `time.h'.
45493 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45494 Add `time.h'.
45495 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45496 `machine/time.h'. Add `time.h'.
45497 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45498
a39a0312 454992007-10-21 Robert Millan <rmh@aybabtu.com>
45500
45501 * include/grub/misc.h (grub_max): New function.
45502
2aad70e2 455032007-10-21 Robert Millan <rmh@aybabtu.com>
45504
45505 * util/misc.c (grub_util_info): Call fflush() before returning.
45506
54b71c4b 455072007-10-20 Robert Millan <rmh@aybabtu.com>
45508
45509 * genmk.rb (Image): Copy `extra_flags' from here ...
45510 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45511
45512 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45513 to `argc' and `args' arguments.
45514
a979f513 455152007-10-17 Robert Millan <rmh@aybabtu.com>
45516
45517 * kern/i386/loader.S: New file.
45518
45519 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45520 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45521 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45522 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45523 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45524 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45525 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45526 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45527 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45528 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45529 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45530 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45531 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45532 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45533
45534 * kern/i386/realmode.S: New file.
45535
45536 * kern/i386/pc/startup.S (protstack): Moved from here ...
45537 * kern/i386/realmode.S (protstack)... to here.
45538 * kern/i386/pc/startup.S (gdt): Moved from here ...
45539 * kern/i386/realmode.S (gdt)... to here.
45540 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45541 * kern/i386/realmode.S (prot_to_real)... to here.
45542
45543 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45544 `kern/i386/realmode.S'.
45545
825fc8fd 455462007-10-17 Robert Millan <rmh@aybabtu.com>
45547
45548 * include/grub/i386/loader.h: New file.
45549
45550 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45551 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45552 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45553 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45554 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45555 * include/grub/i386/loader.h (grub_linux_prot_size)
45556 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45557 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45558 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45559 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45560
45561 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45562
e179b2f4 455632007-10-15 Robert Millan <rmh@aybabtu.com>
45564
45565 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45566 filesystem when dev->disk is unset.
45567 Do probe for filesystem even when dev->disk->has_partitions is set.
45568 In case a filesystem is found, always report it.
45569 In case it isn't, if dev->disk->has_partitions is set, report that
45570 a partition table was found instead of reporting that no filesystem
45571 could be identified.
45572
5db82af6 455732007-10-12 Robert Millan <rmh@aybabtu.com>
45574
45575 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45576 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45577
68f6ac74 45578 * include/grub/types.h (grub_host_to_target16): New macro.
45579 (grub_host_to_target32): Likewise.
45580 (grub_host_to_target64): Likewise.
45581 (grub_target_to_host16): Likewise.
45582 (grub_target_to_host32): Likewise.
45583 (grub_target_to_host64): Likewise.
5db82af6 45584
45585 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45586 Renamed from to ...
45587 (GRUB_MOD_ALIGN): ...this. Update all users.
45588
68f6ac74 45589 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45590 grub_host_to_target32.
45591 Replace grub_be_to_cpu32 with grub_target_to_host32.
45592 (load_modules): Likewise.
45593 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45594 Replace grub_be_to_cpu32 with grub_target_to_host32.
45595 Replace grub_cpu_to_be16 with grub_host_to_target16.
45596 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45597
3cf497cc 455982007-10-12 Robert Millan <rmh@aybabtu.com>
45599
45600 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45601 * util/elf/grub-mkimage.c: ... here.
45602
45603 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45604 `util/powerpc/ieee1275/grub-mkimage.c'.
45605
c8cc3692 456062007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45607
c8cc3692 45608 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45609 and make it easier to figure out.
45610 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45611 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45612 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45613 leave us with less than HEAP_MIN_SIZE total heap.
45614 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45615
5c58b791 456162007-10-03 Robert Millan <rmh@aybabtu.com>
45617
45618 * include/grub/i386/io.h: New file.
45619 * commands/i386/pc/play.c (inb): Removed.
45620 (outb): Removed.
45621 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45622 with grub_outb().
afcd2ef8 45623 * term/i386/pc/serial.c (inb): Removed.
45624 (outb): Removed.
45625 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45626 with grub_outb().
45627 * term/i386/pc/vga.c (inb): Removed.
45628 (outb): Removed.
45629 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45630 with grub_outb().
5c58b791 45631
1a477ed6 456322007-10-02 Robert Millan <rmh@aybabtu.com>
45633
45634 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45636 Reported by Marcin Kurek.
45637
6b5d80fa 456382007-09-07 Robert Millan <rmh@aybabtu.com>
45639
45640 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45641 SmartFirmware version updates (as released by Sven Luther), and avoid
45642 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45643 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45644 known broken.
45645
5618afbf 456462007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45647
45648 From Hitoshi Ozeki:
45649 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45650 when merging two regions.
45651
6139dcd9 456522007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45653
508e39ee 45654 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45655 * normal/completion.c (grub_normal_do_completion): Likewise.
45656 Reported by Hitoshi Ozeki.
45657
456582007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45659
6139dcd9 45660 Do not use devices at boot in chainloading.
f19dbdb7 45661
6139dcd9 45662 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45663 (boot_part_addr): Likewise.
45664 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45665 with BOOT_DRIVE and BOOT_PART_ADDR.
45666 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45667 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45668
38da6516 456692007-08-29 Robert Millan <rmh@aybabtu.com>
45670
45671 Patch from Simon Peter <dn.tlp@gmx.net>:
45672 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45673 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45674 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45675 util/i386/pc/grub-setup.c_DEPENDENCIES.
45676 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45677 util/grub-probe.c_DEPENDENCIES.
45678 * conf/powerpc-ieee1275.rmk: Likewise.
45679
29d0928c 456802007-08-28 Robert Millan <rmh@aybabtu.com>
45681
45682 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45683 to tell grub-mkdevicemap how to name devices.
45684 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45685 feature).
45686
45687 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45688 util/i386/get_disk_name.c.
45689 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45690 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45691 util/ieee1275/get_disk_name.c.
45692
45693 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45694
45695 * DISTLIST: Add util/i386/get_disk_name.c and
45696 util/ieee1275/get_disk_name.c.
45697
45698 * util/grub-mkdevicemap.c: Replace device naming logic with
45699 grub_util_get_disk_name() calls.
45700
5a0d3cca 457012007-08-20 Robert Millan <rmh@aybabtu.com>
45702
45703 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45704 (so that it works for both plural and singular quantities).
45705
8b72db2f 457062007-08-05 Robert Millan <rmh@aybabtu.com>
45707
45708 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45709 so that [xz] isn't taken into account when determining order.
45710
352466bf 457112007-08-02 Marco Gerards <marco@gnu.org>
45712
45713 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45714 `include/multiboot2.h', `include/grub/elfload.h',
45715 `include/multiboot.h', `include/grub/multiboot.h',
45716 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45717 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45718 `kern/elf.c', `loader/multiboot_loader.c',
45719 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45720 `loader/i386/pc/multiboot2.c',
45721 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45722 `util/i386/pc/grub-mkrescue.in'. Remove
45723 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45724 `include/grub/i386/pc/util/biosdisk.h' and
45725 `include/grub/powerpc/ieee1275/multiboot.h'.
45726
8f096014 457272007-08-02 Bean <bean123ch@gmail.com>
45728
45729 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45730 (ntfs_mod_SOURCES): New variable.
45731 (ntfs_mod_CFLAGS): Likewise.
45732 (ntfs_mod_LDFLAGS): Likewise.
45733
45734 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45735 (grub_probe_SOURCES): Likewise.
45736 (grub_emu_SOURCES): Likewise.
45737
45738 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45739 (grub_emu_SOURCES): Likewise.
45740
45741 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45742 (grub_emu_SOURCES): Likewise.
f19dbdb7 45743
8f096014 45744 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45745
45746 * fs/ntfs.c: New file.
45747
9959f7db 457482007-08-02 Bean <bean123ch@gmail.com>
45749
45750 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45751
45752 * file.h (grub_file): Likewise.
45753
45754 * fshelp.h (grub_fshelp_read_file): Likewise.
45755
45756 * util/i386/pc/grub-setup.c (setup): Likewise.
45757 (save_first_sector): Likewise.
45758 (save_blocklists): Likewise.
f19dbdb7 45759
9959f7db 45760 * fs/affs.c (grub_affs_read_file): Likewise.
45761
45762 * fs/ext2.c (grub_ext2_read_file): Likewise.
45763
45764 * fs/fat.c (grub_fat_read_data): Likewise.
45765
45766 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45767
45768 * fs/hfs.c (grub_hfs_read_file): Likewise.
45769
45770 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45771
45772 * fs/jfs.c (grub_jfs_read_file): Likewise.
45773
45774 * fs/minix.c (grub_minix_read_file): Likewise.
45775
45776 * fs/sfs.c (grub_sfs_read_file): Likewise.
45777
45778 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45779
9959f7db 45780 * fs/xfs.c (grub_xfs_read_file): Likewise.
45781
45782 * command/blocklist.c (read_blocklist): Likewise.
45783 (print_blocklist): Likewise.
45784
0a203f83 457852007-08-02 Marco Gerards <marco@gnu.org>
45786
45787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45788 `util/hostfs.c'.
45789
45790 * disk/host.c: New file.
45791
45792 * util/hostfs.c: Likewise.
45793
45794 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45795 return `GRUB_ERR_BAD_FS'.
45796 * fs/sfs.c (grub_sfs_mount): Likewise.
45797 * fs/xfs.c (grub_xfs_mount): Likewise.
45798
45799 * include/grub/disk.h (enum grub_disk_dev_id): Add
45800 `GRUB_DISK_DEVICE_HOST_ID'.
45801
45802 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45803
e5dfe777 458042007-07-24 Jerone Young <jerone@gmail.com>
45805
f19dbdb7 45806 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45807 modules for compilation.
45808 * conf/powerpc-ieee1275.rmk: Likewise.
45809
45810 * include/multiboot.h: Move multiboot definitions to one file. Rename
45811 many definitions to not get grub specific.
45812 * include/multiboot2.h: Create header with multiboot 2 definitions.
45813 * include/grub/multiboot.h: Header for grub specific function
45814 prototypes and definitions.
45815 * include/grub/multiboot2.h: Likewise.
45816 * include/grub/multiboot_loader.h: Likewise.
45817 * include/grub/i386/pc/multiboot.h: Removed.
45818 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45819
45820 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45821 and 2 to allow for one multiboot and module commands.
45822 * loader/multiboot2.c: Add multiboot2 functionality.
45823 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45824 and definition names.
45825 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45826 2 functions.
45827 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45828 ieee1275 specific multiboot2 code.
45829
45830 * kern/i386/pc/startup.S: Change headers and definition names for
45831 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45832
daf0f0ba 458332007-07-22 Robert Millan <rmh@aybabtu.com>
45834
45835 * geninitheader.sh: Process file specified in first parameter rather
45836 than hardcoding grub_modules_init.lst.
fe6b695a 45837 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45838 than hardcoding grub_modules_init.h.
45839
45840 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45841 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45842 grub_probe_init.[ch] and grub_setup_init.[ch].
45843
45844 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45845 grub_modules_init.h with grub_emu_init.h.
45846 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45847 grub_probe_init.[ch] files.
45848 * conf/i386-efi.rmk: Likewise.
45849 * conf/i386-pc.rmk: Likewise.
45850 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45851 grub_setup_init.[ch] files.
45852
45853 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45854 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45855 to initialize modules rather than a list of hardcoded functions.
45856 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45857 grub_init_all() to initialize modules rather than a list of hardcoded
45858 functions.
45859
54cdc1cc 458602007-07-22 Robert Millan <rmh@aybabtu.com>
45861
45862 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45863 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45864
ad0686cc 458652007-07-22 Robert Millan <rmh@aybabtu.com>
45866
45867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45868 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45869 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45870 flag when running on SmartFirmware.
45871 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45872 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45873 was set.
45874
45875 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45876 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45877 rather than decreasing it.
45878
45879 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45880 there's not enough space to do it, fail in the same way as when it
45881 can't be done because there are no partitions.
45882
45883 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45884 when nvsetenv failed.
45885
969c02ec 458862007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45887
45888 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45889 because this rule is automatically generated.
45890 (grub-mkrescue): Removed for the same reason as above.
45891
5a79f472 458922007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45893
45894 Migrate to GNU General Public License Version 3.
f19dbdb7 45895
5a79f472 45896 * COPYING: Replaced with the plain text version of GPLv3.
45897
45898 * config.guess: Updated from gnulib.
45899 * config.sub: Likewise.
45900
45901 * geninit.sh: Output a GPLv3 copyright notice.
45902 * geninitheader.sh: Likewise.
45903 * genmodsrc.sh: Likewise.
45904 * gensymlist.sh.in: Likewise.
45905
45906 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45907 * boot/i386/pc/diskboot.S: Likewise.
45908 * boot/i386/pc/pxeboot.S: Likewise.
45909 * commands/blocklist.c: Likewise.
45910 * commands/boot.c: Likewise.
45911 * commands/cat.c: Likewise.
45912 * commands/cmp.c: Likewise.
45913 * commands/configfile.c: Likewise.
45914 * commands/echo.c: Likewise.
45915 * commands/help.c: Likewise.
45916 * commands/ls.c: Likewise.
45917 * commands/search.c: Likewise.
45918 * commands/terminal.c: Likewise.
45919 * commands/test.c: Likewise.
45920 * commands/videotest.c: Likewise.
45921 * commands/i386/cpuid.c: Likewise.
45922 * commands/i386/pc/halt.c: Likewise.
45923 * commands/i386/pc/play.c: Likewise.
45924 * commands/i386/pc/reboot.c: Likewise.
45925 * commands/i386/pc/vbeinfo.c: Likewise.
45926 * commands/i386/pc/vbetest.c: Likewise.
45927 * commands/ieee1275/halt.c: Likewise.
45928 * commands/ieee1275/reboot.c: Likewise.
45929 * commands/ieee1275/suspend.c: Likewise.
45930 * disk/loopback.c: Likewise.
45931 * disk/lvm.c: Likewise.
45932 * disk/raid.c: Likewise.
45933 * disk/efi/efidisk.c: Likewise.
45934 * disk/i386/pc/biosdisk.c: Likewise.
45935 * disk/ieee1275/ofdisk.c: Likewise.
45936 * font/manager.c: Likewise.
45937 * fs/affs.c: Likewise.
45938 * fs/ext2.c: Likewise.
45939 * fs/fat.c: Likewise.
45940 * fs/fshelp.c: Likewise.
45941 * fs/hfs.c: Likewise.
45942 * fs/hfsplus.c: Likewise.
45943 * fs/iso9660.c: Likewise.
45944 * fs/jfs.c: Likewise.
45945 * fs/minix.c: Likewise.
45946 * fs/sfs.c: Likewise.
45947 * fs/ufs.c: Likewise.
45948 * fs/xfs.c: Likewise.
45949 * hello/hello.c: Likewise.
45950 * include/grub/acorn_filecore.h: Likewise.
45951 * include/grub/arg.h: Likewise.
45952 * include/grub/bitmap.h: Likewise.
45953 * include/grub/boot.h: Likewise.
45954 * include/grub/cache.h: Likewise.
45955 * include/grub/device.h: Likewise.
45956 * include/grub/disk.h: Likewise.
45957 * include/grub/dl.h: Likewise.
45958 * include/grub/elfload.h: Likewise.
45959 * include/grub/env.h: Likewise.
45960 * include/grub/err.h: Likewise.
45961 * include/grub/file.h: Likewise.
45962 * include/grub/font.h: Likewise.
45963 * include/grub/fs.h: Likewise.
45964 * include/grub/fshelp.h: Likewise.
45965 * include/grub/gzio.h: Likewise.
45966 * include/grub/hfs.h: Likewise.
45967 * include/grub/kernel.h: Likewise.
45968 * include/grub/loader.h: Likewise.
45969 * include/grub/lvm.h: Likewise.
45970 * include/grub/misc.h: Likewise.
45971 * include/grub/mm.h: Likewise.
45972 * include/grub/net.h: Likewise.
45973 * include/grub/normal.h: Likewise.
45974 * include/grub/parser.h: Likewise.
45975 * include/grub/partition.h: Likewise.
45976 * include/grub/pc_partition.h: Likewise.
45977 * include/grub/raid.h: Likewise.
45978 * include/grub/rescue.h: Likewise.
45979 * include/grub/script.h: Likewise.
45980 * include/grub/setjmp.h: Likewise.
45981 * include/grub/symbol.h: Likewise.
45982 * include/grub/term.h: Likewise.
45983 * include/grub/terminfo.h: Likewise.
45984 * include/grub/tparm.h: Likewise.
45985 * include/grub/types.h: Likewise.
45986 * include/grub/video.h: Likewise.
45987 * include/grub/efi/api.h: Likewise.
45988 * include/grub/efi/chainloader.h: Likewise.
45989 * include/grub/efi/console.h: Likewise.
45990 * include/grub/efi/console_control.h: Likewise.
45991 * include/grub/efi/disk.h: Likewise.
45992 * include/grub/efi/efi.h: Likewise.
45993 * include/grub/efi/pe32.h: Likewise.
45994 * include/grub/efi/time.h: Likewise.
45995 * include/grub/i386/linux.h: Likewise.
45996 * include/grub/i386/setjmp.h: Likewise.
45997 * include/grub/i386/types.h: Likewise.
45998 * include/grub/i386/efi/kernel.h: Likewise.
45999 * include/grub/i386/efi/loader.h: Likewise.
46000 * include/grub/i386/efi/time.h: Likewise.
46001 * include/grub/i386/pc/biosdisk.h: Likewise.
46002 * include/grub/i386/pc/boot.h: Likewise.
46003 * include/grub/i386/pc/chainloader.h: Likewise.
46004 * include/grub/i386/pc/console.h: Likewise.
46005 * include/grub/i386/pc/init.h: Likewise.
46006 * include/grub/i386/pc/kernel.h: Likewise.
46007 * include/grub/i386/pc/loader.h: Likewise.
46008 * include/grub/i386/pc/memory.h: Likewise.
46009 * include/grub/i386/pc/multiboot.h: Likewise.
46010 * include/grub/i386/pc/serial.h: Likewise.
46011 * include/grub/i386/pc/time.h: Likewise.
46012 * include/grub/i386/pc/vbe.h: Likewise.
46013 * include/grub/i386/pc/vbeblit.h: Likewise.
46014 * include/grub/i386/pc/vbefill.h: Likewise.
46015 * include/grub/i386/pc/vbeutil.h: Likewise.
46016 * include/grub/i386/pc/vga.h: Likewise.
46017 * include/grub/ieee1275/ieee1275.h: Likewise.
46018 * include/grub/ieee1275/ofdisk.h: Likewise.
46019 * include/grub/powerpc/libgcc.h: Likewise.
46020 * include/grub/powerpc/setjmp.h: Likewise.
46021 * include/grub/powerpc/types.h: Likewise.
46022 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
46023 * include/grub/powerpc/ieee1275/console.h: Likewise.
46024 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
46025 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
46026 * include/grub/powerpc/ieee1275/loader.h: Likewise.
46027 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
46028 * include/grub/powerpc/ieee1275/time.h: Likewise.
46029 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
46030 * include/grub/sparc64/libgcc.h: Likewise.
46031 * include/grub/sparc64/setjmp.h: Likewise.
46032 * include/grub/sparc64/types.h: Likewise.
46033 * include/grub/sparc64/ieee1275/console.h: Likewise.
46034 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46035 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46036 * include/grub/sparc64/ieee1275/time.h: Likewise.
46037 * include/grub/util/biosdisk.h: Likewise.
46038 * include/grub/util/getroot.h: Likewise.
46039 * include/grub/util/lvm.h: Likewise.
46040 * include/grub/util/misc.h: Likewise.
46041 * include/grub/util/raid.h: Likewise.
46042 * include/grub/util/resolve.h: Likewise.
46043 * io/gzio.c: Likewise.
46044 * kern/device.c: Likewise.
46045 * kern/disk.c: Likewise.
46046 * kern/dl.c: Likewise.
46047 * kern/elf.c: Likewise.
46048 * kern/env.c: Likewise.
46049 * kern/err.c: Likewise.
46050 * kern/file.c: Likewise.
46051 * kern/fs.c: Likewise.
46052 * kern/loader.c: Likewise.
46053 * kern/main.c: Likewise.
46054 * kern/misc.c: Likewise.
46055 * kern/mm.c: Likewise.
46056 * kern/parser.c: Likewise.
46057 * kern/partition.c: Likewise.
46058 * kern/rescue.c: Likewise.
46059 * kern/term.c: Likewise.
46060 * kern/efi/efi.c: Likewise.
46061 * kern/efi/init.c: Likewise.
46062 * kern/efi/mm.c: Likewise.
46063 * kern/i386/dl.c: Likewise.
46064 * kern/i386/efi/init.c: Likewise.
46065 * kern/i386/efi/startup.S: Likewise.
46066 * kern/i386/pc/init.c: Likewise.
46067 * kern/i386/pc/lzo1x.S: Likewise.
46068 * kern/i386/pc/startup.S: Likewise.
46069 * kern/ieee1275/ieee1275.c: Likewise.
46070 * kern/powerpc/cache.S: Likewise.
46071 * kern/powerpc/dl.c: Likewise.
46072 * kern/powerpc/ieee1275/cmain.c: Likewise.
46073 * kern/powerpc/ieee1275/crt0.S: Likewise.
46074 * kern/powerpc/ieee1275/init.c: Likewise.
46075 * kern/powerpc/ieee1275/openfw.c: Likewise.
46076 * kern/sparc64/cache.S: Likewise.
46077 * kern/sparc64/dl.c: Likewise.
46078 * kern/sparc64/ieee1275/init.c: Likewise.
46079 * kern/sparc64/ieee1275/openfw.c: Likewise.
46080 * loader/efi/chainloader.c: Likewise.
46081 * loader/efi/chainloader_normal.c: Likewise.
46082 * loader/i386/efi/linux.c: Likewise.
46083 * loader/i386/efi/linux_normal.c: Likewise.
46084 * loader/i386/pc/chainloader.c: Likewise.
46085 * loader/i386/pc/chainloader_normal.c: Likewise.
46086 * loader/i386/pc/linux.c: Likewise.
46087 * loader/i386/pc/linux_normal.c: Likewise.
46088 * loader/i386/pc/multiboot.c: Likewise.
46089 * loader/i386/pc/multiboot_normal.c: Likewise.
46090 * loader/powerpc/ieee1275/linux.c: Likewise.
46091 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46092 * normal/arg.c: Likewise.
46093 * normal/cmdline.c: Likewise.
46094 * normal/command.c: Likewise.
46095 * normal/completion.c: Likewise.
46096 * normal/execute.c: Likewise.
46097 * normal/function.c: Likewise.
46098 * normal/lexer.c: Likewise.
46099 * normal/main.c: Likewise.
46100 * normal/menu.c: Likewise.
46101 * normal/menu_entry.c: Likewise.
46102 * normal/misc.c: Likewise.
46103 * normal/parser.y: Likewise.
46104 * normal/script.c: Likewise.
46105 * normal/i386/setjmp.S: Likewise.
46106 * normal/powerpc/setjmp.S: Likewise.
46107 * normal/sparc64/setjmp.S: Likewise.
46108 * partmap/acorn.c: Likewise.
46109 * partmap/amiga.c: Likewise.
46110 * partmap/apple.c: Likewise.
46111 * partmap/gpt.c: Likewise.
46112 * partmap/pc.c: Likewise.
46113 * partmap/sun.c: Likewise.
46114 * term/gfxterm.c: Likewise.
46115 * term/terminfo.c: Likewise.
46116 * term/efi/console.c: Likewise.
46117 * term/i386/pc/console.c: Likewise.
46118 * term/i386/pc/serial.c: Likewise.
46119 * term/i386/pc/vesafb.c: Likewise.
46120 * term/i386/pc/vga.c: Likewise.
46121 * term/ieee1275/ofconsole.c: Likewise.
46122 * util/biosdisk.c: Likewise.
46123 * util/console.c: Likewise.
46124 * util/genmoddep.c: Likewise.
46125 * util/getroot.c: Likewise.
46126 * util/grub-emu.c: Likewise.
46127 * util/grub-mkdevicemap.c: Likewise.
46128 * util/grub-probe.c: Likewise.
46129 * util/lvm.c: Likewise.
46130 * util/misc.c: Likewise.
46131 * util/raid.c: Likewise.
46132 * util/resolve.c: Likewise.
46133 * util/update-grub.in: Likewise.
46134 * util/update-grub_lib.in: Likewise.
46135 * util/grub.d/00_header.in: Likewise.
46136 * util/grub.d/10_hurd.in: Likewise.
46137 * util/grub.d/10_linux.in: Likewise.
46138 * util/i386/efi/grub-install.in: Likewise.
46139 * util/i386/efi/grub-mkimage.c: Likewise.
46140 * util/i386/pc/grub-install.in: Likewise.
46141 * util/i386/pc/grub-mkimage.c: Likewise.
46142 * util/i386/pc/grub-mkrescue.in: Likewise.
46143 * util/i386/pc/grub-setup.c: Likewise.
46144 * util/i386/pc/misc.c: Likewise.
46145 * util/powerpc/ieee1275/grub-install.in: Likewise.
46146 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46147 * util/powerpc/ieee1275/misc.c: Likewise.
46148 * video/bitmap.c: Likewise.
46149 * video/video.c: Likewise.
46150 * video/i386/pc/vbe.c: Likewise.
46151 * video/i386/pc/vbeblit.c: Likewise.
46152 * video/i386/pc/vbefill.c: Likewise.
46153 * video/i386/pc/vbeutil.c: Likewise.
46154 * video/readers/tga.c: Likewise.
46155
3572d015 461562007-07-02 Robert Millan <rmh@aybabtu.com>
46157
46158 * conf/i386-efi.rmk: Replace obsolete reference to
46159 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46160 with util/getroot.c.
46161 * conf/powerpc-ieee1275.rmk: Likewise.
46162 * conf/sparc64-ieee1275.rmk: Likewise.
46163
46164 * util/grub-emu.c (main): Fix unchecked pointer handling.
46165
2c2a681b 461662007-07-02 Robert Millan <rmh@aybabtu.com>
46167
46168 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46169 invocation to fail, in order to support partition-less media.
46170
46171 * util/i386/pc/grub-install.in: Likewise.
46172
46173 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46174 which fs or partmap modules are needed (akin to its sister scripts).
46175
46176 Also use grub-probe to get rid of unportable /proc/mounts check.
46177
46178 Print the same informational message that the other scripts do, before
fe6b695a 46179 exiting.
2c2a681b 46180
6193defe 461812007-06-23 Robert Millan <rmh@aybabtu.com>
46182
fe6b695a 46183 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 46184 a font file can be found and, if so, echo the GRUB path to it.
46185
46186 * util/update-grub.in: Handle multiple terminals depending on user
46187 input, platform availability and font file presence. Propagate
46188 variables of our findings to /etc/grub.d/ children.
46189
46190 * util/grub.d/00_header.in: Handle multiple terminals, based on
46191 environment setup by update-grub.
46192
eface1dc 461932007-06-23 Robert Millan <rmh@aybabtu.com>
46194
ba50d28f 46195 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 46196
bf697e28 461972007-06-21 Robert Millan <rmh@aybabtu.com>
46198
46199 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46200 indicate end of data section in kernel image.
46201 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46202 GRUB_KERNEL_MACHINE_DATA_END.
46203
46204 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46205 space for it.
46206 * kern/i386/efi/startup.S: Likewise.
46207
46208 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46209 during image generation. Implement --prefix option to override this
46210 patch.
46211 * util/i386/efi/grub-mkimage.c: Likewise.
46212
46213 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46214 code to make path relative to its root into a separate function.
46215
46216 * util/i386/pc/grub-install.in: Use newly provided
46217 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46218 pass the result to grub-install --prefix.
46219
baa574b4 462202007-06-13 Robert Millan <rmh@aybabtu.com>
46221
46222 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46223 DEFAULT_DEVICE_MAP.
46224 * util/grub-emu.c: Use above definitions from misc.h instead of
46225 defining them.
46226 * util/grub-mkdevicemap.c: Likewise.
46227 * util/i386/pc/grub-setup.c: Likewise.
46228 * util/grub-probe.c: Likewise.
46229 (probe): Abort with grub_util_error() when either
46230 grub_guess_root_device or grub_util_get_grub_dev fails.
46231
0215dcbf 462322007-06-12 Robert Millan <rmh@aybabtu.com>
46233
46234 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46235 "pager" assignment.
46236 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46237 "pcdata".
46238 * util/grub-probe.c (probe): Likewise for "drive_name".
46239
8af2ab7b 462402007-06-11 Robert Millan <rmh@aybabtu.com>
46241
46242 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46243 not just the cdrom one.
46244
59d31694 462452007-06-11 Robert Millan <rmh@aybabtu.com>
46246
46247 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46248 Add --pkglibdir=DIR option to override pkglibdir.
46249 Mention --image-type=TYPE in help output.
46250 Fix --grub-mkimage (it was a no-op).
fe6b695a 46251 Abort gracefully when no parameter is given.
59d31694 46252
7ee367e4 462532007-06-11 Robert Millan <rmh@aybabtu.com>
46254
46255 * util/i386/pc/grub-mkrescue.in: New file.
46256 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46257 * Makefile.in: Handle bin_SCRIPTS.
46258
29b0ed46 462592007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46260
46261 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46262 list of video modes.
46263
c0f90770 462642007-06-06 Robert Millan <rmh@aybabtu.com>
46265
46266 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46267 file doesn't exist, or if it is in a filesystem grub can't read.
46268
46269 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46270 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46271 header comment to fit in 80 columns when the variables are resolved.
46272
46273 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46274 could be identified by update-grub. Remove redundant check for
fe6b695a 46275 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46276 handles that).
46277
fb36dc26 462782007-06-04 Robert Millan <rmh@aybabtu.com>
46279
46280 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46281
46282 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46283
46284 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46285
0c68c93e 462862007-06-04 Robert Millan <rmh@aybabtu.com>
46287
46288 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46289
46290 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46291 grub_apple_partition_map_fini.
46292
46293 * util/biosdisk.c
46294 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46295 to access >2 TiB disks).
46296
46297 Print disk->total_sectors with %llu instead of %lu, since this
46298 variable is always 64-bit (prevents wrong disk size from being displayed
46299 on either >2 TiB disk or big-endian CPU).
46300
46301 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46302 into a generic case that supports all (sane) partition maps.
46303
46304 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46305 breaks big-endian.
46306
46307 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46308 and grub_apple_partition_map_fini() after that.
46309
0f23eb74 463102007-06-01 Robert Millan <rmh@aybabtu.com>
46311
46312 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46313
46314 * util/grub.d/00_header.in: Only enable gfxterm when
46315 convert_system_path_to_grub_path() succeeds.
46316
42c71976 463172007-05-20 Robert Millan <rmh@aybabtu.com>
46318
46319 * util/update-grub_lib.in: New file.
46320 * DISTLIST: Add update-grub_lib.in.
46321 * conf/common.rmk: Generate update-grub_lib and install it in
46322 $(lib_DATA).
46323 * Makefile.in: Add install routine for $(lib_DATA).
46324
46325 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46326 function provided by update-grub_lib to support arbitrary paths of
46327 unifont.pff.
46328 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46329 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46330
5beb2291 463312007-05-19 Robert Millan <rmh@aybabtu.com>
46332
46333 * commands/i386/cpuid.c: New module.
46334 * DISTLIST: Add it.
46335 * conf/i386-efi.rmk: Enable cpuid.mod.
46336 * conf/i386-pc.rmk: Likewise.
46337
7262eca1 463382007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46339
46340 * kern/disk.c (grub_disk_read): Check return value of
46341 grub_realloc().
46342
260ba823 463432007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46344
46345 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46346 arrays.
46347 * disk/raid.c (grub_raid_open): Likewise.
46348
1ecb6cf2 463492007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46350
46351 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46352 stack instead of on the heap.
46353
46354 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46355 before doing a read on it.
46356
46357 * configure.ac: Only use -fno-stack-protector for the target
46358 environment.
f19dbdb7 46359
21c8cbb1 463602007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46361
46362 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46363 __attribute_ ((unused)) to mode_type argument.
46364
46365 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46366
21c8cbb1 46367 * kern/misc.c (memcmp): Fix prototype.
46368
46369 * include/grub/partition.h [GRUB_UTIL]
46370 (grub_gpt_partition_map_init): Add prototype.
46371 (grub_gpt_partition_map_fini): Likewise.
46372
46373 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46374 at the right place.
46375
46376 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46377 (grub_fat_read_data): Likewise.
46378 (grub_fat_find_dir): Likewise.
46379
46380 * font/manager.c (find_glyph): Make table a const.
46381 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46382
849d55d3 463832007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46384
46385 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46386 code, first search for device in /dev/mapper, then in /dev.
46387 (grub_util_get_grub_dev): New function.
46388 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46389 prototype.
46390 * util/grub-probe.c (probe): Remove check for RAID, call
46391 grub_util_get_grub_dev() instead of
46392 grub_util_biosdisk_get_grub_dev().
46393 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46394 grub_util_biosdisk_get_grub_dev().
46395 * util/i386/pc/grub-setup.c (main): Likewise.
46396
8fff7c2f 463972007-05-16 Robert Millan <rmh@aybabtu.com>
46398
46399 * DISTLIST: Update for the latest changes.
46400 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46401 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46402 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46403 grub/util/biosdisk.h.
46404 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46405 grub/util/biosdisk.h.
46406
48e12b52 464072007-05-16 Robert Millan <rmh@aybabtu.com>
46408
46409 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46410
46b9d128 464112007-05-16 Robert Millan <rmh@aybabtu.com>
46412
46413 * util/i386/efi/grub-install.in: New.
46414 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46415 newly added grub-install.
46416 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46417 include.
46418 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46419 grub/util/biosdisk.h.
46420 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46421 grub/util/biosdisk.h.
46422
2d1a40a9 464232007-05-16 Robert Millan <rmh@aybabtu.com>
46424
46425 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46426 * include/grub/util/biosdisk.h: ... here.
46427 * util/i386/pc/biosdisk.c: Moved to ...
46428 * util/biosdisk.c: ... here.
46429 * util/i386/pc/getroot.c: Moved to ...
46430 * util/getroot.c: ... here.
46431 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46432 * util/grub-mkdevicemap.c: ... here.
46433 * util/i386/pc/grub-probe.c: Moved to ...
46434 * util/grub-probe.c: ... here.
46435
9e26e3bc 464362007-05-15 Robert Millan <rmh@aybabtu.com>
46437
46438 * util/update-grub.in: Remove duplicated line in grub.cfg header
46439 message.
46440
57f96397 464412007-05-13 Robert Millan <rmh@aybabtu.com>
46442
46443 * util/update-grub.in: Fix a few assumptions about the devices holding
46444 /, /boot and /boot/grub being the same.
46445 * util/grub.d/00_header.in: Likewise.
46446 * util/grub.d/10_hurd.in: Likewise.
46447 * util/grub.d/10_linux.in: Likewise.
46448
46449 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46450 patterns. Use that to define the `.old' suffix as older than `'.
46451
46452 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46453
46454 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46455 the grub.cfg header message.
46456
2e610d62 464572007-05-11 Robert Millan <rmh@aybabtu.com>
46458
46459 * util/update-grub.in: Create device.map if it doesn't already exist,
46460 before attempting to run grub-probe.
46461 Check for grub-probe and grub-mkdevicemap with the same code
46462 grub-install is using.
46463 Remove test mode.
46464
3f6a10ef 464652007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46466
46467 * Makefile.in: Add the datarootdir autoconf variable.
46468
02e7b75e 464692007-05-09 Robert Millan <rmh@aybabtu.com>
46470
46471 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46472 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46473
75f396cc 464742007-05-07 Robert Millan <rmh@aybabtu.com>
46475
46476 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46477 determine partition map module.
46478 * util/i386/pc/grub-install.in: Use this feature to decide which
46479 partition module to load, instead of hardcoding pc and gpt.
46480
da65cb36 464812007-05-07 Robert Millan <rmh@aybabtu.com>
46482
46483 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46484 source directory differs from build directory.
46485
b57d6a91 464862007-05-05 Robert Millan <rmh@aybabtu.com>
46487
46488 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46489 initialisation.
46490
509d00f1 464912007-05-05 Robert Millan <rmh@aybabtu.com>
46492
46493 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46494
c48f23ef 464952007-05-05 Robert Millan <rmh@aybabtu.com>
46496
46497 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46498 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46499
20b97658 465002007-05-05 Robert Millan <rmh@aybabtu.com>
46501
46502 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46503 (grub_probe_SOURCES): Likewise.
46504 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46505 GPT and initialize dos_part and bsd_part accordingly.
46506 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46507 install_bsd_part.
46508 (main): Activate gpt module for use during partition identification,
46509 and deactivate it afterwards.
46510 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46511 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46512 partition identification, and deactivate it afterwards.
46513
99123174 465142007-05-05 Robert Millan <rmh@aybabtu.com>
46515
46516 * term/i386/pc/console.c (grub_console_fini): Call
46517 grub_term_set_current() before grub_term_unregister().
46518
ebd97f6e 465192007-05-04 Robert Millan <rmh@aybabtu.com>
46520
46521 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46522 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46523 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46524 and update-grub_DATA.
46525 * conf/common.rmk: Build and install update-grub components.
46526 * conf/common.mk: Regenerate.
46527 * util/update-grub.in: New. Core of update-grub.
46528 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46529 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46530 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46531 * util/grub.d/README: New. Document grub.d directory layout.
46532
b06a264d 465332007-05-01 Robert Millan <rmh@aybabtu.com>
46534
46535 * util/grub-emu.c: Move initialization functions
46536 grub_util_biosdisk_init() and grub_init_all() before
46537 grub_util_biosdisk_get_grub_dev(), which relies on them.
46538
41f0050e 465392007-04-19 Robert Millan <rmh@aybabtu.com>
46540
46541 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46542 it is used later.
46543
04582bb3 465442007-04-18 Jerone Young <jerone@gmail.com>
46545
f19dbdb7 46546 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46547 stanza.
46548
08db4632 465492007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46550
08db4632 46551 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46552 continue on and look for device node with real device name.
46553
801b76be 465542007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46555
fe6b695a 46556 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46557 ability.
46558 * Makefile.in: Add autoconf package transformation code.
46559 * util/i386/pc/grub-install.in: Likewise.
46560 * util/powerpc/ieee1275/grub-install.in: Likewise.
46561
6795c4e1 465622007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46563
46564 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46565 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46566 (EXT2_REVISION): Likewise.
46567 (EXT2_INODE_SIZE): Likewise.
46568 (struct grub_ext2_block_group): Added a missing member
46569 "used_dirs".
46570 (grub_ext2_read_inode): Divide by the inode size in a superblock
46571 instead of 128 to obtain INODES_PER_BLOCK.
46572 Use the macro EXT2_INODE_SIZE instead of directly using
46573 SBLOCK->INODE_SIZE.
46574
d70af616 465752007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46576
46577 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46578 superblock instead of the structure size to compute an
46579 offset. This fixes the problem that GRUB could not read a
46580 filesystem when inode size is different from 128-byte.
46581
3b801603 465822007-03-05 Marco Gerards <marco@gnu.org>
46583
46584 * normal/main.c (read_config_file): When "menu" is not set, create
46585 an initial context.
46586
4785bfe4 465872007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46588
46589 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46590 (HEAP_LIMIT): New macro.
46591 (grub_claim_heap): Claim memory up to `heaplimit'.
46592
a0cbb023 465932007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46594
46595 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46596 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46597 (_start): Likewise.
46598 (grub_arch_modules_addr): Return address after `_end'.
46599 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46600 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46601 (add_segments): Calculate `_end' from phdr size and location.
46602 (ALIGN_UP): Moved to ...
46603 * include/grub/misc.h: here.
46604 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46605 New macro.
46606 (GRUB_IEEE1275_MODULE_BASE): Removed.
46607
fd7d8eba 466082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46609
46610 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46611 loop boundary.
46612
9b09e6fc 466132007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46614
46615 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46616 All users updated.
46617 (grub_elf64_load_hook_t): Likewise.
46618 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46619 debug output.
46620
3ce27299 466212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46622
46623 * kern/mm.c: Update copyright.
46624 (grub_mm_debug): Correct syntax error.
46625 (grub_mm_dump_free): New function.
46626 (grub_debug_free): Call `grub_free'.
46627 * include/grub/mm.h: Update copyright.
46628 (grub_mm_dump_free): Add declaration.
46629
077d5fee 466302007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46631
46632 * include/grub/ieee1275/ieee1275.h: Update copyright.
46633 * kern/powerpc/ieee1275/init.c: Likewise.
46634 * kern/powerpc/ieee1275/openfw.c: Likewise.
46635
46636 * loader/powerpc/ieee1275/linux.c: Likewise.
46637 * include/grub/elfload.h: Likewise.
46638 * kern/elf.c: Likewise.
46639 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46640 callers.
46641 (grub_elf64_load): Likewise.
46642 (grub_elf32_load_segment): Move to a nested function.
46643 (grub_elf64_load_segment): Likewise.
46644
dc946850 466452007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46646
46647 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46648 prototype.
46649 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46650 (grub_heap_len): Likewise.
46651 (HEAP_SIZE): New macro.
46652 (grub_claim_heap): New function.
46653 (grub_machine_init): Don't claim heap directly. Call
46654 `grub_claim_heap'.
46655 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46656 (grub_available_iterate): New function.
46657
baa2a121 466582007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46659
46660 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46661 * configure.ac: Use it for testing the HOST and TARGET compilers.
46662
4fe9862e 466632006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46664
46665 * Makefile.in (enable_grub_emu): New variable.
46666 * configure.ac (--enable-grub-emu): New option.
46667 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46668 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46669 * conf/i386-pc.rmk: Likewise.
46670 * conf/powerpc-ieee1275.rmk: Likewise.
46671 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46672
a8aa5762 466732006-12-12 Marco Gerards <marco@gnu.org>
46674
46675 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46676
46677 * kern/env.c (grub_env_unset): Don't free the member `value' when
46678 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46679 pointer.
46680
46681 * normal/main.c (current_menu): Removed.
46682 (free_menu): Unset the `menu' environment variable.
46683 (grub_normal_menu_addentry): Make use of the environment variable
46684 `menu', instead of using the global `current_menu'. Allocate
46685 memory for the sourcecode of this entry.
46686 (read_config_file): New argument `nested', changed all callers.
46687 Only in the case of a new context, initialize a new menu. Set the
46688 `menu' environment variable.
46689 (grub_normal_execute): Don't set and unset the environment
46690 variable `menu' here anymore. Only free the menu when leaving the
46691 context.
46692
46693 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46694 leak.
46695
957b3a3e 466962006-12-11 Marco Gerards <marco@gnu.org>
46697
46698 * normal/menu_entry.c (run): Fix off by one bug so the last line
46699 is executed. Move the loader check to outside the loop.
46700
ef875714 467012006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46702
46703 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46704
4e739985 467052006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46706
46707 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46708 the number of sectors. Reported by Andrey Shuvikov
46709 <mr_hyro@yahoo.com>.
f19dbdb7 46710
790707f2 467112006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46712
46713 * kern/disk.c (grub_disk_read): When there is a read error, always
46714 try to read only the necessary data.
f19dbdb7 46715
790707f2 46716 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46717 disk/raid.c.
46718 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46719 prototype.
46720 [GRUB_UTIL] (grub_raid_fini): Likewise.
46721 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46722 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46723 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46724 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46725 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46726 and grub_raid_fini().
f19dbdb7 46727
03e58196 467282006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46729
46730 * include/grub/types.h (__unused): Rename to UNUSED.
46731 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46732 (grub_elf64_size): Likewise.
f19dbdb7 46733
ae4f23bf 467342006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46735
46736 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46737 grub_error_push and grub_error_pop in the error-handling path.
46738 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46739 length.
46740
2166cc83 467412006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46742
46743 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46744 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46746 (kernel_elf_SOURCES): Likewise.
46747 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46748 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46749 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46750 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46751 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46752 (elf_mod_SOURCES): New variable.
46753 (elf_mod_CFLAGS): Likewise.
46754 (elf_mod_LDFLAGS): Likewise.
46755 * include/grub/types.h (__unused): New macro.
46756 * include/grub/elfload.h: New file.
46757 * kern/elf.c: Likewise.
46758 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46759 (ELF32_LOADMASK): New macro.
46760 (ELF64_LOADMASK): Likewise.
46761 (vmlinux): Removed.
46762 (grub_linux_load32): New function.
46763 (grub_linux_load64): Likewise.
46764 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46765 Use grub_elf_t instead of grub_file_t.
46766
a09d5aa5 467672006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46768
46769 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46770 `catch_result' to struct set_color_args.
46771
d976fc51 467722006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46773
46774 * normal/menu.c: Include grub/script.h.
46775 * normal/menu_entry.c: Likewise.
46776 * include/grub/normal.h: Do not include grub/script.h.
46777
67507549 467782006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46779
46780 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46781
69203a99 467822006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46783
46784 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46785 disk.
46786 (grub_disk_close): Print debug messages when closing a disk.
46787 (grub_disk_read): Print debug messages when disk read fails.
46788 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46789 filesystem type.
46790 * kern/partition.c: Include misc.h.
46791 (grub_partition_iterate): Print debug messages when detecting
46792 partition type.
46793
e2b8278c 467942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46795
46796 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46797 is negative.
46798 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46799
97b2f2ff 468002006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46801
46802 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46803 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46804
6555d655 468052006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46806
46807 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46808 instead of sizeof(lv). Patch by Michael Guntsche.
46809
4d42b77f 468102006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46811
46812 * disk/lvm.c: Rename VGS to VG_LIST.
46813 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46814 (grub_lvm_open): Likewise.
46815 Thanks to Michael Guntsche for finding this bug.
46816
5d74d927 468172006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46818
46819 * configure.ac (AC_INIT): Bumped to 1.95.
46820
a1bb27e4 468212006-10-14 Robert Millan <rmh@aybabtu.com>
46822
46823 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46824 with "/dev/.static/dev/md".
46825
e0994b8b 468262006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46827
46828 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46829 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46830 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46831 DRIVE_NAME are always freed.
46832
46833 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46834 DOS_PART, as a DOS partition is counted from one instead of zero
46835 now. Reported by Robert Millan.
46836
ddd5cee9 468372006-10-14 Robert Millan <rmh@aybabtu.com>
46838
46839 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46840 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46841 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46842 string returned by grub_guess_root_device.
46843 * util/i386/pc/grub-setup.c: Likewise.
46844 * util/i386/pc/grub-probefs.c: Likewise.
46845
46846 * util/i386/pc/grub-probefs.c: Rename to ...
46847 * util/i386/pc/grub-probe.c: ... this.
46848 * DISTLIST: Remove grub-probefs, add grub-probe.
46849 * conf/i386-efi.rmk: Likewise.
46850 * conf/i386-pc.rmk: Likewise.
46851 * util/i386/pc/grub-install.in: Likewise.
46852
46853 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46854 choose which information we want to print.
46855
2b002173 468562006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46857
46858 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46859 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46860 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46861 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46862 video/readers/tga.c and video/i386/pc/vbeutil.c.
46863
468642006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46865
46866 Added support for RAID and LVM.
f19dbdb7 46867
2b002173 46868 * disk/lvm.c: New file.
46869 * disk/raid.c: Likewise.
46870 * include/grub/lvm.h: Likewise.
f19dbdb7 46871 * include/grub/raid.h: Likewise.
2b002173 46872 * include/grub/util/lvm.h: Likewise.
46873 * include/grub/util/raid.h: Likewise.
46874 * util/lvm.c: Likewise.
46875 * util/raid.c: Likewise.
46876
46877 * include/grub/disk.h (grub_disk_dev_id): Add
46878 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46879 (grub_disk_get_size): New prototype.
46880 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46881 returns a partition.
46882 (grub_disk_get_size): New function.
f19dbdb7 46883
2b002173 46884 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46885 verbatim if grub_install_dos_part is -2.
46886
46887 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46888 and LVM devices.
46889
46890 * util/i386/pc/grub-setup.c (setup): New argument
46891 MUST_EMBED. Force embedding of GRUB when the argument is
46892 true. Close FILE before returning.
46893 (main): Add support for RAID and LVM.
f19dbdb7 46894
2b002173 46895 * conf/common.rmk: Add RAID and LVM modules.
46896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46897 util/lvm.c.
46898 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46899
46900 * kern/misc.c (grub_strstr): New function.
46901 * include/grub/misc.h (grub_strstr): New prototype.
46902
050548d0 469032006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46904
46905 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46906
da849d2d 469072006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46908
46909 * kern/misc.c (grub_strtoull): Guess the base only if not
46910 specified.
46911
97b2f2ff 469122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46913
46914 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46915 PowerMac support.
46916
97b2f2ff 469172006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46918
46919 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46920
46921 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46922 Remove `flags' argument. All callers changed.
46923 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46924 (IEEE1275_IHANDLE_INVALID): New variable.
46925 (IEEE1275_CELL_INVALID): New variable.
46926 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46927 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46928 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46929 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46930 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46931 codes from Open Firmware. All callers updated.
46932 (grub_ieee1275_next_property): Directly return Open Firmware return
46933 code.
46934 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46935 Standardize error checking from `grub_ieee1275_get_property'.
46936 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46937 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46938
97b2f2ff 469392006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46940
46941 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46942 `instance_to_package_args' to `instance_to_path_args'.
46943
46944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46945 `grub_ieee1275_chosen'.
46946
46947 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46948 `grub_ieee1275_interpret'.
46949
97b2f2ff 469502006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46951
46952 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46953
97b2f2ff 469542006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46955
46956 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46957 (__cmpdi): Likewise.
46958
46959 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46960 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46961 `grub_ssize_t'.
46962
02bb8acc 46963 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46964
46965 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46966 to type `grub_ssize_t'.
46967 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46968
7f9a8531 469692006-09-22 Marco Gerards <marco@gnu.org>
46970
46971 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46972 newlines.
46973
b5ef1102 469742006-09-22 Marco Gerards <marco@gnu.org>
46975
46976 * commands/echo.c: New file.
46977
46978 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46979
46980 * conf/common.rmk (echo_mod_SOURCES): New variable.
46981 (echo_mod_CFLAGS): Likewise.
46982 (echo_mod_LDFLAGS): Likewise.
46983
2cff3677 469842006-09-22 Marco Gerards <marco@gnu.org>
46985
46986 * normal/main.c (get_line): Malloc memory instead of using
46987 preallocated memory. Removed the arguments `cmdline' and
46988 `max_len'. Updated all callers.
46989
6ba4688b 469902006-09-22 Marco Gerards <marco@gnu.org>
46991
46992 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46993 (normal_mod_DEPENDENCIES): Likewise.
46994
46995 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46996 (normal_mod_DEPENDENCIES): Likewise.
46997
46998 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46999
e02ac02c 470002006-09-22 Johan Rydberg <jrydberg@gnu.org>
47001
47002 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
47003 programs.
47004 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
47005 (normal_mod_DEPENDENCIES): Likewise.
47006 * conf/i386-pc.mk: Regenerate.
47007 * conf/i386-efi.mk: Likewise
47008 * conf/common.mk: Likewise.
47009 * conf/powerpc-ieee1275.mk: Likewise.
47010 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47011
8d252e44 470122006-09-22 Robert Millan <rmh@aybabtu.com>
47013
47014 Sync with i386 version.
47015 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
47016 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
47017
209bf7ac 470182006-09-21 Robert Millan <rmh@aybabtu.com>
47019
47020 Import from GRUB Legacy (lib/device.c):
47021 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
47022 (init_device_map) [__linux__]: Add support for I2O devices.
47023
6b146090 470242006-09-14 Marco Gerards <marco@gnu.org>
47025
47026 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
47027 `-melf_i386'.
47028
e38600a8 470292006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 47030
47031 * util/i386/pc/grub-install.in: Skip menu.lst when removing
47032 /boot/grub/*.lst.
78fa1790 47033
2952da5d 47034 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 47035
2952da5d 47036 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
47037 before adding it to device.map.
47038
01b82a64 470392006-08-15 Johan Rydberg <jrydberg@gnu.org>
47040
fe6b695a 47041 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 47042 compiles a file; using the -MD option.
47043 * conf/common.mk: Regenerate.
47044 * conf/i386-pc.mk: Likewise.
47045 * conf/i386-efi.mk: Likewise.
47046 * conf/powerpc-ieee1275.mk: Likewise.
47047 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 47048
1064790d 470492006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47050
47051 Move the prototypes of grub_setjmp and grub_longjmp to
47052 cpu/setjmp.h, so that each architecture may specify different
47053 attributes.
f19dbdb7 47054
1064790d 47055 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47056 (grub_longjmp): Likewise.
47057 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47058 (grub_longjmp): Likewise.
47059 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47060 (grub_longjmp): Likewise.
47061
47062 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47063 [!GRUB_UTIL] (grub_longjmp): Removed.
47064
29dda3ed 470652006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47066
47067 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47068 "color!" method does not return any value.
47069
ad2a06ed 470702006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47071
47072 * include/grub/bitmap.h: New file.
47073
47074 * include/grub/i386/pc/vbeutil.h: Likewise.
47075
47076 * video/bitmap.c: Likewise.
47077
47078 * video/readers/tga.c: Likewise.
47079
47080 * video/i386/pc/vbeutil.c: Likewise.
47081
47082 * commands/videotest.c: Code cleanup and updated to reflect to new
47083 video API.
47084
47085 * term/gfxterm.c: Likewise.
47086
47087 * video/video.c: Likewise.
47088
47089 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47090 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47091 (bitmap_mod_SOURCES): New entry.
47092 (bitmap_mod_CFLAGS): Likewise.
47093 (bitmap_mod_LDFLAGS): Likewise.
47094 (tga_mod_SOURCES): Likewise.
47095 (tga_mod_CFLAGS): Likewise.
47096 (tga_mod_LDFLAGS): Likewise.
47097
47098 * include/grub/video.h (grub_video_blit_operators): New enum type.
47099 (grub_video_render_target): Changed as forward declaration and moved
47100 actual definition to be video driver specific.
47101 (grub_video_adapter.blit_bitmap): Added blitting operator.
47102 (grub_video_adapter.blit_render_target): Likewise.
47103 (grub_video_blit_bitmap): Likewise.
47104 (grub_video_blit_render_target): Likewise.
47105
47106 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47107 driver specific render target definition.
47108 (grub_video_vbe_map_rgba): Added driver internal helper.
47109 (grub_video_vbe_unmap_color): Updated to use
47110 grub_video_i386_vbeblit_info.
47111 (grub_video_vbe_get_video_ptr): Likewise.
47112
47113 * include/grub/i386/pc/vbeblit.h
47114 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47115 grub_video_i386_vbeblit_info.
47116 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47117 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47118 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47119 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47120 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47121 (grub_video_i386_vbeblit_index_index): Likewise.
47122 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47123 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47124 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47125 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47126 operator.
47127 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47128 operator.
47129
47130 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47131 include/grub/i386/pc/vbeblit.h.
47132
47133 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47134 Updated to use grub_video_i386_vbeblit_info.
47135 (grub_video_i386_vbefill_R8G8B8): Likewise.
47136 (grub_video_i386_vbefill_index): Likewise.
47137 (grub_video_i386_vbefill): Added generic filler.
47138
47139 * video/i386/pc/vbefill.c: Updated to reflect changes on
47140 include/grub/i386/pc/vbefill.h.
47141
47142 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47143 grub_video_i386_vbeblit_info.
47144 (grub_video_vbe_unmap_color): Likewise.
47145 (grub_video_vbe_blit_glyph): Likewise.
47146 (grub_video_vbe_scroll): Likewise.
47147 (grub_video_vbe_draw_pixel): Removed function.
47148 (grub_video_vbe_get_pixel): Likewise.
47149 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47150 updated code to use it.
47151 (common_blitter): Added common blitter for render target and bitmap.
47152 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47153 (grub_video_vbe_blit_render_target): Likewise.
47154
bc8c036d 471552006-07-30 Johan Rydberg <jrydberg@gnu.org>
47156
47157 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47158 is in text mode if there is no console control protocol instance
47159 available.
47160
684a8eff 471612006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47162
47163 * include/grub/video.h: Code cleanup.
47164
47165 * include/grub/i386/pc/vbe.h: Likewise.
47166
47167 * video/i386/pc/vbe.c: Likewise.
47168
47169 * video/i386/pc/vbeblit.c: Likewise.
47170
47171 * video/i386/pc/vbefill.c: Likewise.
47172
47173 * video/video.c: Likewise. Also added more comments.
47174
5915059b 471752006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47176
47177 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47178 (struct grub_biosdisk_dap): Likewise.
47179
47180 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47181 linkage settings for all functions.
47182
90ce5d56 471832006-07-12 Marco Gerards <marco@gnu.org>
47184
47185 * configure.ac (--enable-mm-debug): Fix typo.
47186
47187 * genkernsyms.sh.in: Use proper quoting for `CC'.
47188
43e7f879 471892006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47190
47191 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47192 (normal_mod_ASFLAGS): Remove "-m32".
47193
4889bdec 471942006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47195
47196 * util/misc.c: Include config.h.
47197 [!HAVE_MEMALIGN]: Do not include malloc.h.
47198 (grub_memalign): Use posix_memalign, if present. Then, use
47199 memalign, if present. Otherwise, emit an error.
47200
47201 * util/grub-emu.c: Do not include malloc.h.
47202
47203 * include/grub/util/misc.h: Include unistd.h. This is required for
47204 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47205 D. Eades III <hde@foobar-qux.org>.
47206
47207 * configure.ac (AC_GNU_SOURCE): Added.
47208 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47209 type.
47210
fd39d4da 472112006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47212
47213 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47214 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47215
b786f3b5 472162006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47217
47218 * include/grub/types.h (grub_host_addr_t): Rename to
47219 grub_target_addr_t.
47220 (grub_host_off_t): Rename to grub_target_off_t.
47221 (grub_host_size_t): Rename to grub_target_size_t.
47222 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47223 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47224
47225 * include/grub/kernel.h (struct grub_module_header): Change type
47226 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47227 (grub_module_info): Likewise.
f19dbdb7 47228
051988bb 472292006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47230
47231 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47232 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47233 Velazquez <jesus.velazquez@gmail.com>.
47234
deae281b 472352006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47236
47237 Count partitions from 1 instead of 0 in the string representation
47238 of partitions. Still use 0-based internally.
f19dbdb7 47239
deae281b 47240 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47241 (sun_partition_map_iterate): Use grub_partition_t instead of
47242 struct grub_partition *. Cast DESC->START_CYLINDER to
47243 grub_uint64_t after converting the endian.
47244 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47245 (sun_partition_map_get_name): Add 1 to P->INDEX.
47246
47247 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47248 PCDATA->DOS_PART.
47249 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47250
47251 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47252 zero instead of one.
47253 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47254 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47255
47256 * partmap/apple.c (apple_partition_map_iterate): Change the type
47257 of POS to unsigned.
47258 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47259 (apple_partition_map_get_name): Add 1 into P->INDEX.
47260
47261 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47262 of POS to unsigned.
47263 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47264 calculate the offset of a partition.
47265 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47266 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47267
47268 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47269 SECTOR to grub_disk_addr_t.
47270 (acorn_partition_map_iterate): Likewise.
47271 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47272 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47273 top.
47274 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47275
47276 * kern/i386/pc/init.c (make_install_device): Add 1 into
47277 GRUB_INSTALL_DOS_PART.
47278
47279 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47280 conditional.
47281
524a1e6a 472822006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47283
47284 Clean up the code to support 64-bit addressing in disks and
47285 files. This change is not enough for filesystems yet.
f19dbdb7 47286
524a1e6a 47287 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47288 type of "start" to grub_uint64_t.
47289 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47290 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47291 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47292 convert addresses.
47293
47294 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47295 to grub_disk_addr_t.
47296
47297 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47298 string.
47299
47300 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47301
47302 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47303 to char *.
47304
47305 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47306
47307 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47308
47309 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47310
47311 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47312 to grub_off_t, to detect an error from grub_file_seek.
47313 (grub_multiboot_load_elf32): Likewise.
47314
47315 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47316 maximum unsigned long value when an overflow is detected.
47317 (grub_strtoull): New function.
47318 (grub_divmod64): Likewise.
47319 (grub_lltoa): use grub_divmod64.
47320
47321 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47322 grub_disk_addr_t.
47323 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47324 the pointer to next character. Use grub_strtoull instead of
47325 grub_strtoul.
47326 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47327 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47328 respectively.
47329
fe6b695a 47330 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47331 return value is signed.
47332 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47333 test if OFFSET is less than zero, as OFFSET is unsigned now.
47334
47335 * kern/disk.c (struct grub_disk_cache): Change the type of
47336 "sector" to grub_disk_addr_t.
47337 (grub_disk_cache_get_index): Change the type of SECTOR to
47338 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47339 unsigned after shifting.
47340 (grub_disk_cache_invalidate): Change the type of SECTOR to
47341 grub_disk_addr_t.
47342 (grub_disk_cache_unlock): Likewise.
47343 (grub_disk_cache_store): Likewise.
47344 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47345 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47346 grub_disk_addr_t and grub_uint64_t, respectively.
47347 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47348 body, as the value of OFFSET is tweaked by
47349 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47350 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47351 respectively.
47352 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47353 body, as the value of OFFSET is tweaked by
47354 grub_disk_check_range. Change the types of LEN and N to
47355 grub_size_t.
47356
47357 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47358 and "saved_offset" to grub_off_t.
47359 (test_header): Cast BUF to char *.
47360 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47361 to char *.
47362 (grub_gzio_read): Change the types of OFFSET and SIZE to
47363 grub_off_t and grub_size_t, respectively.
47364
47365 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47366 Removed.
47367 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47368 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47369 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47370 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47371 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47372
47373 * include/grub/types.h (grub_off_t): Unconditionally set to
47374 grub_uint64_t.
47375 (grub_disk_addr_t): Changed to grub_uint64_t.
47376
47377 * include/grub/partition.h (struct grub_partition): Change the
47378 types of "start", "len" and "offset" to grub_disk_addr_t,
47379 grub_uint64_t and grub_disk_addr_t, respectively.
47380 (grub_partition_get_start): Return grub_disk_addr_t.
47381 (grub_partition_get_len): Return grub_uint64_t.
47382
47383 * include/grub/misc.h (grub_strtoull): New prototype.
47384 (grub_divmod64): Likewise.
47385
47386 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47387 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47388 grub_off_t, respectively.
47389 All callers and references changed.
47390
47391 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47392 grub_size_t in "read".
47393 All callers and references changed.
47394
47395 * include/grub/file.h (struct grub_file): Change the types of
47396 "offset" and "size" to grub_off_t and grub_off_t,
47397 respectively. Change the type of SECTOR to grub_disk_addr_t in
47398 "read_hook".
47399 (grub_file_read): Change the type of LEN to grub_size_t.
47400 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47401 grub_off_t.
47402 (grub_file_size): Return grub_off_t.
47403 (grub_file_tell): Likewise.
47404 All callers and references changed.
47405
47406 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47407 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47408 "write".
47409 (struct grub_disk): Change the type of "total_sectors" to
47410 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47411 "read_hook".
524a1e6a 47412 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47413 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47414 (grub_disk_write): Likewise.
47415 All callers and references changed.
47416
47417 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47418 char * for grub_strncmp to silence gcc.
47419 (grub_iso9660_mount): Likewise.
47420 (grub_iso9660_mount): Likewise.
47421 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47422 return statement.
47423 (grub_iso9660_iterate_dir): Likewise.
47424 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47425
47426 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47427 LEN to grub_disk_addr_t and grub_size_t, respectively.
47428
47429 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47430
47431 * fs/jfs.c (grub_jfs_read_file): Likewise.
47432
47433 * fs/minix.c (grub_jfs_read_file): Likewise.
47434
47435 * fs/sfs.c (grub_jfs_read_file): Likewise.
47436
47437 * fs/ufs.c (grub_jfs_read_file): Likewise.
47438
47439 * fs/xfs.c (grub_jfs_read_file): Likewise.
47440
47441 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47442 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47443 respectively.
47444
47445 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47446 BLKNR to -1 instead of returning GRUB_ERRNO.
47447 (grub_ext2_read_file): Change the types of SECTOR and
47448 LEN to grub_disk_addr_t and grub_size_t, respectively.
47449
47450 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47451 LEN to grub_disk_addr_t and grub_size_t, respectively.
47452
47453 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47454 grub_file_read.
47455
47456 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47457 string. Do not cast SECTOR explicitly.
47458
47459 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47460 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47461 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47462 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47463 over 2TB and LBA mode is not supported, raise an error.
47464 (get_safe_sectors): New function.
47465 (grub_biosdisk_read): Use get_safe_sectors.
47466 (grub_biosdisk_write): Likewise.
47467
47468 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47469 (grub_efidisk_write): Likewise.
47470
47471 * disk/loopback.c (delete_loopback): Cosmetic changes.
47472 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47473 correctly.
47474 (grub_loopback_open): Likewise.
47475 (grub_loopback_read): Likewise. Also, change the type of POS to
47476 grub_off_t, and fix the usage of grub_memset.
47477
47478 * commands/i386/pc/play.c: Include grub/machine/time.h.
47479
47480 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47481 print FILE->SIZE.
47482
47483 * commands/configfile.c: Include grub/env.h.
47484
47485 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47486 GRUB_ERRNO directly instead. Change the type of POS to
47487 grub_off_t. Follow the coding standard.
47488
47489 * commands/blocklist.c: Include grub/partition.h.
47490 (grub_cmd_blocklist): Return an error if the underlying device is
47491 not a disk. Take the starting sector of a partition into account,
47492 if a partition is used.
47493
47494 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47495 a length field.
47496 (lba_mode): Support 64-bit addresses.
47497 (chs_mode): Likewise.
47498 (copy_buffer): Adapted to the new offsets of a length field and a
47499 segment field.
47500 (blocklist_default_start): Allocate 64-bit space.
47501
47502 * boot/i386/pc/boot.S (force_lba): Removed.
47503 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47504 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47505 space.
47506 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47507 is useless.
47508 (lba_mode): Refactored to support a 64-bit address. More size
47509 optimization.
47510 (setup_sectors): Likewise.
47511
53af98ad 475122006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47513
47514 * DISTLIST: Added include/grub/i386/linux.h. Removed
47515 include/grub/i386/pc/linux.h
47516
47517 * configure.ac (AC_INIT): Bumped to 1.94.
47518
47519 * config.guess: Updated from gnulib.
47520 * config.sub: Likewise.
47521 * install-sh: Likewise.
47522 * mkinstalldirs: Likewise.
47523
b4c1940a 475242006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47525
47526 * conf/common.rmk (grub_modules_init.lst): Depended on
47527 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47528 MODSRCFILES.
47529
47530 * genmk.rb (PModule::rule): Reverted the previous change.
47531
cfca1cfd 475322006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47533
47534 * conf/common.rmk (grub_modules_init.lst): Depends on
47535 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47536 that the target does not exist before producing.
47537 (grub_modules_init.h): Remove the target before generating.
47538 (grub_emu_init.c): Likewise.
47539
47540 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47541
aa6d7826 475422006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47543
47544 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47545 for the target-specific tests. Make sure that we also have the
47546 up-to-date target variables for those tests.
47547
26c607b9 475482006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47549
47550 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47551 (PModule::rule): Likewise.
47552
0162321a 475532006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47554
47555 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47556 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47557 target-specific flags should be prefixed.
47558 (PModule::rule): Likewise.
47559
6c826348 475602006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47561
47562 * configure.ac (CMP): Check if cmp is available explicitly.
47563
b977bf01 475642006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47565
47566 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47567 (target_cpu): New variable.
47568 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47569
b977bf01 47570 * util/i386/pc/grub-install.in (host_cpu): Removed.
47571 (target_cpu): New variable.
47572 (pkglibdir): Use target_cpu instead of host_cpu.
47573
47574 * util/genmoddep.c: Removed.
f19dbdb7 47575
b977bf01 47576 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47577 instead of GRUB_HOST_SIZEOF_VOID_P.
47578 * kern/dl.c: Likewise.
47579
47580 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47581 ...
47582 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47583 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47584 (GRUB_TARGET_SIZEOF_LONG): ... this.
47585 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47586 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47587 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47588 to ...
47589 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47590 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47591 (GRUB_TARGET_SIZEOF_LONG): ... this.
47592 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47593 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47594 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47595 to ...
47596 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47597 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47598 (GRUB_TARGET_SIZEOF_LONG): ... this.
47599 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47600 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47601
47602 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47603 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47604 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47605 instead of GRUB_HOST_SIZEOF_LONG.
47606 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47607 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47608 GRUB_CPU_WORDS_BIGENDIAN.
47609 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47610 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47611 grub_host_ssize_t.
47612
47613 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47614 (genmoddep_SOURCES): Likewise.
47615 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47616 (genmoddep_SOURCES): Likewise.
47617 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47618 (genmoddep_SOURCES): Likewise.
47619 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47620 Likewise.
47621 (genmoddep_SOURCES): Likewise.
47622
47623 * genmoddep.awk: New file.
47624
47625 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47626 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47627 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47628 (PModule::rule): Likewise.
47629 (Program::rule): Likewise.
47630 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47631 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47632 respectively.
47633
47634 * configure.ac: Rewritten intensively to use host and target
47635 instead of build and host, respectively.
47636
47637 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47638 (host_cpu): Removed.
47639 (target_cpu): New variable.
47640 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47641 (BUILD_CC): Removed.
47642 (BUILD_CFLAGS): Likewise.
47643 (BUILD_CPPFLAGS): Likewise.
47644 (TARGET_CC): New variable.
47645 (TARGET_CFLAGS): Likewise.
47646 (TARGET_CPPFLAGS): Likewise.
47647 (TARGET_LDFLAGS): Likewise.
47648 (AWK): Likewise.
47649 (include): Use target_cpu instead of host_cpu.
47650 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47651
b977bf01 47652 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47653
f09771a1 476542006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47655
47656 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47657 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47658 field 'false' to 'exec_on_false'.
47659 (grub_script_create_cmdif): Renamed argument names to reflect above
47660 changes.
47661
47662 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47663
47664 * normal/script.c (grub_script_create_cmdif): Likewise.
47665
118f4fb3 476662006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47667
47668 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47669 top.
47670 (grub_hfsplus_btree_recptr): Likewise.
47671 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47672 FILEBLOCK both to pass a block number and store next block
47673 number.
47674 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47675 overflow file correctly. Specify errors appropriately, because
47676 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47677 grub_hfsplus_btree_recptr to get the pointer to a found key.
47678 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47679 is found.
47680
47681 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47682 linux.mod.
47683 (_linux_mod_SOURCES): New variable.
47684 (_linux_mod_CFLAGS): Likewise.
47685 (_linux_mod_LDFLAGS): Likewise.
47686 (linux_mod_SOURCES): Likewise.
47687 (linux_mod_CFLAGS): Likewise.
47688 (linux_mod_LDFLAGS): Likewise.
47689
47690 * DISTLIST: Added loader/i386/efi/linux.c,
47691 loader/i386/efi/linux_normal.c and
47692 include/grub/i386/efi/loader.h.
47693
47694 * loader/i386/efi/linux.c: New file.
47695 * loader/i386/efi/linux_normal.c: Likewise.
47696 * include/grub/i386/efi/loader.h: Likewise.
47697
89a7d726 476982006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47699
47700 * commands/blocklist.c: New file.
47701
47702 * DISTLIST: Added commands/blocklist.c.
47703
47704 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47705 color for the background, and a darker color for the foreground.
89a7d726 47706 (grub_console_checkkey): Return READ_KEY.
47707 (grub_console_cls): Set the background to
47708 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47709
47710 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47711
47712 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47713 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47714
47715 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47716 prototype.
47717
47718 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47719 BG. The spec is wrong again.
47720
47721 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47722 prototype.
47723 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47724
47725 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47726 commands/blocklist.c.
47727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47728
89a7d726 47729 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47730 (blocklist_mod_SOURCES): New variable.
47731 (blocklist_mod_CFLAGS): Likewise.
47732 (blocklist_mod_LDFLAGS): Likewise.
47733
75c8f258 477342006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47735
47736 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47737 duplication.
47738 (lba_mode): Use %eax more intensively to reduce the code size.
47739
da2eb181 477402006-05-20 Marco Gerards <marco@gnu.org>
47741
47742 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47743
47744 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47745 for `menuentry'.
47746 (script): Accept leading newlines.
47747 (newlines): New rule to describe 0 or more newlines.
47748 (commands): Accept `command' with trailing newline. Fixed the
47749 order in which arguments were passed to `grub_script_add_cmd'.
47750 Accept commands separated by newlines.
47751 (function): Changed to accept newlines.
47752 (menuentry) Rewritten.
47753
47754 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47755 front of the list, instead of to the end.
47756
577b4050 477572006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47758
47759 * util/i386/pc/grub-install.in (bindir): New variable.
47760 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47761 Shaver <lbgwjl@gmail.com>.
47762
0d6e1189 477632006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47764
47765 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47766 grub/machine/linux.h
47767 * loader/i386/pc/linux.c: Likewise.
47768
47769 * include/grub/i386/pc/linux.h: Moved to ...
47770 * include/grub/i386/linux.h: ... here.
47771
47772 * include/grub/i386/linux.h (struct linux_kernel_params): New
47773 struct.
f19dbdb7 47774
31b86e9f 477752006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47776
47777 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47778 checking.
47779 (grub_video_vbe_blit_glyph): Likewise.
47780 (grub_video_vbe_blit_bitmap): Likewise.
47781 (grub_video_vbe_blit_render_target): Likewise.
47782
83b984de 477832006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47784
47785 * configure.ac (--with-platform): Properly quote the square
47786 brackets.
47787
5f0413bd 477882006-05-08 Marco Gerards <marco@gnu.org>
47789
47790 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47791 this...
47792 (kernel_elf_HEADERS): ...to this. Updated all users.
47793 (grubof_symlist.c): Renamed from this...
47794 (kernel_elf_symlist.c): ...to this. Updated all users.
47795 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47796 (grubof_SOURCES): Renamed from this...
47797 (kernel_elf_SOURCES): ...to this.
47798 (grubof_HEADERS): Renamed from this...
47799 (kernel_elf_HEADERS): ...to this.
47800 (grubof_CFLAGS): Renamed from this...
47801 (kernel_elf_CFLAGS): ...to this.
47802 (grubof_ASFLAGS): Renamed from this...
47803 (kernel_elf_ASFLAGS): ...to this.
47804 (grubof_LDFLAGS): Renamed from this...
47805 (kernel_elf_LDFLAGS): ...to this.
47806
47807 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47808 this...
47809 (kernel_elf_HEADERS): ...to this. Updated all users.
47810 (grubof_symlist.c): Renamed from this...
47811 (kernel_elf_symlist.c): ...to this. Updated all users.
47812 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47813 (grubof_SOURCES): Renamed from this...
47814 (kernel_elf_SOURCES): ...to this.
47815 (grubof_HEADERS): Renamed from this...
47816 (kernel_elf_HEADERS): ...to this.
47817 (grubof_CFLAGS): Renamed from this...
47818 (kernel_elf_CFLAGS): ...to this.
47819 (grubof_ASFLAGS): Renamed from this...
47820 (kernel_elf_ASFLAGS): ...to this.
47821 (grubof_LDFLAGS): Renamed from this...
47822 (kernel_elf_LDFLAGS): ...to this.
47823
47824 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47825 `kernel.elf' instead of `grubof'.
47826
05568c2e 478272006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47828
47829 Add --with-platform to configure. Use pkglibdir instead of
47830 pkgdatadir. This is reported by Roger Leigh.
47831
47832 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47833 (host_vendor): Likewise.
47834 (host_os): Likewise.
47835 (pkgdatadir): Likewise.
47836 (platform): New variable.
47837 (pkglibdir): Likewise.
47838 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47839
05568c2e 47840 * util/i386/pc/grub-install.in (datadir): Removed.
47841 (host_vendor): Likewise.
47842 (host_os): Likewise.
47843 (pkgdatadir): Likewise.
47844 (platform): New variable.
47845 (pkglibdir): Likewise.
47846 Use PKGLIBDIR instead of PKGDATADIR.
47847
47848 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47849 instead of GRUB_DATADIR.
47850 (main): Likewise.
47851 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47852 (main): Likewise.
47853 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47854 (main): Likewise.
47855
47856 * configure.ac (--with-platform): New option.
47857 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47858
47859 * Makefile.in: Include a makefile based on PLATFORM instead of
47860 HOST_VENDOR.
47861 (pkgdatadir): Not appended by the machine type.
47862 (pkglibdir): Appended by the machine type.
47863 (host_vendor): Removed.
47864 (platform): New variable.
47865 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47866 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47867 (uninstall): Likewise.
47868
4e93851c 478692006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47870
47871 Use the environment context in the menu. Remove the commands
47872 "default" and "timeout", and use variables instead.
f19dbdb7 47873
4e93851c 47874 * normal/menu.c: Include grub/env.h.
47875 (print_entry): Cast TITLE to silence gcc.
47876 (get_timeout): New function.
47877 (set_timeout): Likewise.
47878 (get_entry_number): Likewise.
47879 (run_menu): Use a default entry, a fallback entry and a timeout
47880 in the environment variables "default", "fallback" and
47881 "timeout". Also, tweak the default entry if it is not within the
47882 current menu entries.
47883 (grub_menu_run): Use a fallback entry in the environment variable
47884 "fallback".
47885
47886 * normal/main.c (read_config_file): Do not initialize
47887 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47888 NEWMENU->TIMEOUT.
47889 (grub_normal_execute): Use a data slot to store the menu.
47890
47891 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47892 fallback_entry and timeout.
47893 (struct grub_menu_list): Removed.
47894 (grub_menu_list_t): Likewise.
47895 (struct grub_context): Likewise.
47896 (grub_context_t): Likewise.
47897 (grub_context_get): Likewise.
47898 (grub_context_get_current_menu): Likewise.
47899 (grub_context_push_menu): Likewise.
47900 (grub_context_pop_menu): Likewise.
47901 (grub_default_init): Likewise.
47902 (grub_default_fini): Likewise.
47903 (grub_timeout_init): Likewise.
47904 (grub_timeout_fini): Likewise.
47905
47906 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47907 and timeout.mod.
47908 (normal_mod_SOURCES): Removed normal/context.c.
47909
47910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47911 commands/default.c, commands/timeout.c and normal/context.c.
47912 (normal_mod_SOURCES): Removed normal/context.c.
47913
47914 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47915 commands/timeout.c and normal/context.c.
47916 (normal_mod_SOURCES): Removed normal/context.c.
47917
47918 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47919 commands/default.c, commands/timeout.c and normal/context.c.
47920 (normal_mod_SOURCES): Removed normal/context.c.
47921
47922 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47923 timeout.mod.
47924 (default_mod_SOURCES): Removed.
47925 (default_mod_CFLAGS): Likewise.
47926 (default_mod_LDFLAGS): Likewise.
47927 (timeout_mod_SOURCES): Removed.
47928 (timeout_mod_CFLAGS): Likewise.
47929 (timeout_mod_LDFLAGS): Likewise.
47930
47931 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47932 normal/context.c.
47933
47934 * commands/default.c: Removed.
47935 * commands/timeout.c: Likewise.
47936 * normal/context.c: Likewise.
47937
1eb9cc1d 479382006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47939
47940 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47941
385bd9c1 479422006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47943
47944 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47945 "next" to "prev" for readability.
47946 (struct grub_env_sorted_var): New struct.
47947 (grub_env_context): Renamed to ...
47948 (initial_context): ... this.
47949 (grub_env_var_context): Renamed to ...
47950 (current_context): ... this.
47951 (grub_env_find): Look only at CURRENT_CONTEXT.
47952 (grub_env_context_open): Rewritten to copy exported variables from
47953 previous context.
47954 (grub_env_context_close): Rewritten according to the new
47955 scheme. Also, add an assertion to prevent the initial context from
47956 removed.
47957 (grub_env_insert): Removed the code for the sorted list.
47958 (grub_env_remove): Likewise.
47959 (grub_env_export): Simply mark the variable with
47960 GRUB_ENV_VAR_GLOBAL.
47961 (grub_env_set): A cosmetic change for naming consistency.
47962 (grub_env_get): Likewise.
47963 (grub_env_unset): Likewise.
47964 (grub_env_iterate): Rewritten to sort variables within this
47965 function.
47966 (grub_register_variable_hook): Fixed for naming consistency. Call
47967 grub_env_find again, only if NAME is not found at the first time.
47968 (mangle_data_slot_name): New function.
47969 (grub_env_set_data_slot): Likewise.
47970 (grub_env_get_data_slot): Likewise.
47971 (grub_env_unset_data_slot): Likewise.
47972
47973 * include/grub/env.h (grub_env_var_type): New enum.
47974 (GRUB_ENV_VAR_LOCAL): New constant.
47975 (GRUB_ENV_VAR_GLOBAL): Likewise.
47976 (GRUB_ENV_VAR_DATA): Likewise.
47977 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47978 "type".
47979 (grub_env_set): Replace VAR with NAME for consistency.
47980 (grub_register_variable_hook): Likewise.
47981 (grub_env_export): Specify the name of the argument.
47982 (grub_env_set_data_slot): New prototype.
47983 (grub_env_get_data_slot): Likewise.
47984 (grub_env_unset_data_slot): Likewise.
47985
7f362539 479862006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47987
47988 Extend the loader so that GRUB can accept a loader which comes
47989 back to GRUB when a loaded image exits. Also, this change adds
47990 support for a chainloader on EFI.
f19dbdb7 47991
7f362539 47992 * term/efi/console.c: Include grub/misc.h.
47993 (grub_console_checkkey): Display a scan code on the top for
47994 debugging. This will be removed once the EFI port gets stable.
47995 Correct the scan code mapping.
47996
47997 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47998 allocate memory from larger regions, in order to reduce the number
47999 of allocated regions. Otherwise, the MacOSX loader panics.
48000 (filter_memory_map): Avoid less than 1MB for compatibility with
48001 other loaders.
48002 (add_memory_regions): Allocate from the tail of a region, if
48003 possible, to avoid allocating a region near to 1MB, for the MacOSX
48004 loader.
48005
48006 * kern/efi/init.c (grub_efi_set_prefix): Specify
48007 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
48008
48009 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
48010 argument IMAGE_HANDLE and specify it to get a loaded image.
48011 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
48012 grub_efi_get_loaded_image.
fe6b695a 48013 (grub_efi_get_filename): Divide the length by the size of
7f362539 48014 grub_efi_char16_t.
48015 (grub_efi_get_device_path): New function.
48016 (grub_efi_print_device_path): Print End Device Path nodes. Divide
48017 the length by the size of grub_efi_char16_t for a file path device
48018 path node.
48019
48020 * kern/loader.c (grub_loader_noreturn): New variable.
48021 (grub_loader_set): Accept a new argument NORETURN. Set
48022 GRUB_LOADER_NORETURN to NORETURN.
48023 All callers changed.
48024 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
48025 grub_machine_fini.
48026
48027 * include/grub/efi/efi.h (grub_efi_get_device_path): New
48028 prototype.
48029 (grub_efi_get_loaded_image): Take an argument to specify an image
48030 handle.
48031
48032 * include/grub/loader.h (grub_loader_set): Added one more argument
48033 NORETURN.
48034
48035 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
48036 instead of grub_efi_open_protocol.
48037 (grub_efidisk_get_device_name): Likewise.
48038 (grub_efidisk_close): Print a newline.
48039 (grub_efidisk_get_device_handle): Fixed to use
48040 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48041 GRUB_EFI_DEVICE_PATH_TYPE.
48042
48043 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48044 * kern/efi/efi.c (device_path_guid): ... here.
48045
48046 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48047 chain.mod.
48048 (kernel_mod_HEADERS): Added efi/disk.h.
48049 (_chain_mod_SOURCES): New variable.
48050 (_chain_mod_CFLAGS): Likewise.
48051 (_chain_mod_LDFLAGS): Likewise.
48052 (chain_mod_SOURCES): Likewise.
48053 (chain_mod_CFLAGS): Likewise.
48054 (chain_mod_LDFLAGS): Likewise.
48055
48056 * DISTLIST: Added include/grub/efi/chainloader.h,
48057 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48058
48059 * include/grub/efi/chainloader.h: New file.
48060 * loader/efi/chainloader.c: Likewise.
48061 * loader/efi/chainloader_normal.c: Likewise.
48062
c0111d6e 480632006-04-30 Marco Gerards <marco@gnu.org>
48064
48065 * commands/configfile.c (grub_cmd_source): New function.
48066 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48067 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48068
df5341da 480692006-04-30 Marco Gerards <marco@gnu.org>
48070
48071 * normal/execute.c (grub_script_execute_cmd): Change the return
48072 type to `grub_err_t'. Correctly return the error.
48073 (grub_script_execute_cmdline): In case a command line is not a
48074 command or a function, try to interpret it as an assignment.
48075
f85934bd 480762006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48077
48078 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48079 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48080 skip a node whose name is obviously invalid as UTF-16,
48081 i.e. contains a NUL character. Stop the iteration when the last
48082 directory entry is found. Instead of using the return value of
48083 grub_hfsplus_btree_iterate_node, store the value in RET and use
48084 it, because the iterator can be stopped by the last directory
48085 entry.
48086
8f8a2cf8 480872006-04-30 Marco Gerards <marco@gnu.org>
48088
48089 * include/grub/env.h (grub_env_export): New prototype. Reported
48090 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48091
a27e84ce 480922006-04-30 Marco Gerards <marco@gnu.org>
48093
48094 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48095 size of the extents in a catalog file record.
48096
eaef0553 480972006-04-29 Marco Gerards <marco@gnu.org>
48098
48099 * commands/configfile.c (grub_cmd_configfile): Execute the
48100 configfile within its own context.
48101
48102 * include/grub/env.h (grub_env_context_open): New prototype.
48103 (grub_env_context_close): Likewise.
48104
48105 * kern/env.c (grub_env): Removed.
48106 (grub_env_sorted): Likewise.
48107 (grub_env_context): New variable.
48108 (grub_env_var_context): Likewise.
48109 (grub_env_find): Search both the active context and the global
48110 context.
48111 (grub_env_context_open): New function.
48112 (grub_env_context_close): Likewise.
48113 (grub_env_insert): Likewise.
48114 (grub_env_remove): Likewise.
48115 (grub_env_export): Likewise.
48116 (grub_env_set): Changed to use helper functions to avoid code
48117 duplication.
48118 (grub_env_iterate): Rewritten so both the current context and the
48119 global context are being used.
48120
48121 * normal/command.c (export_command): New function.
48122 (grub_command_init): Register the `export' function.
48123
7b455f4d 481242006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48125
48126 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48127 explicitly to suppress gcc's warnings.
48128 * fs/fat.c (grub_fat_find_dir): Likewise.
48129 (grub_fat_label): Likewise.
48130 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48131 (grub_xfs_mount): Likewise.
48132 (grub_xfs_label): Likewise.
48133 * fs/affs.c (grub_affs_mount): Likewise.
48134 (grub_affs_label): Likewise.
48135 (grub_affs_iterate_dir): Likewise.
48136 * fs/sfs.c (grub_sfs_mount): Likewise.
48137 (grub_sfs_iterate_dir): Likewise.
48138 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48139 * fs/hfs.c (grub_hfs_mount): Likewise.
48140 (grub_hfs_cmp_catkeys): Likewise.
48141 (grub_hfs_find_dir): Likewise.
48142 (grub_hfs_dir): Likewise.
48143 (grub_hfs_label): Likewise.
48144 * fs/jfs.c (grub_jfs_mount): Likewise.
48145 (grub_jfs_opendir): Likewise.
48146 (grub_jfs_getent): Likewise.
48147 (grub_jfs_lookup_symlink): Likewise.
48148 (grub_jfs_label): Likewise.
48149 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48150 (grub_hfsplus_iterate_dir): Likewise.
48151 (grub_hfsplus_btree_iterate_node): Made static.
48152
48153 * util/grub-emu.c (prefix): New variable.
48154 (grub_machine_set_prefix): New function.
48155 (main): Do not set the environment variable "prefix" here. Only
48156 set PREFIX, which is used later by grub_machine_set_prefix.
48157
48158 * include/grub/video.h: Do not include grub/symbol.h.
48159 (grub_video_register): Not exported. This symbol is not defined in
48160 the kernel.
48161 (grub_video_unregister): Likewise.
48162 (grub_video_iterate): Likewise.
48163 (grub_video_setup): Likewise.
48164 (grub_video_restore): Likewise.
48165 (grub_video_get_info): Likewise.
48166 (grub_video_get_blit_format): Likewise.
48167 (grub_video_set_palette): Likewise.
48168 (grub_video_get_palette): Likewise.
48169 (grub_video_set_viewport): Likewise.
48170 (grub_video_get_viewport): Likewise.
48171 (grub_video_map_color): Likewise.
48172 (grub_video_map_rgb): Likewise.
48173 (grub_video_map_rgba): Likewise.
48174 (grub_video_fill_rect): Likewise.
48175 (grub_video_blit_glyph): Likewise.
48176 (grub_video_blit_bitmap): Likewise.
48177 (grub_video_blit_render_target): Likewise.
48178 (grub_video_scroll): Likewise.
48179 (grub_video_swap_buffers): Likewise.
48180 (grub_video_create_render_target): Likewise.
48181 (grub_video_delete_render_target): Likewise.
48182 (grub_video_set_active_render_target): Likewise.
48183
48184 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48185 Undefined.
48186 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48187
48188 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48189 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48190 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48191 instead of $(srcdir)/genkernsyms.sh.
48192
48193 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48194 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48195 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48196 instead of $(srcdir)/genkernsyms.sh.
48197
48198 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48199 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48200 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48201 instead of $(srcdir)/genkernsyms.sh.
48202
48203 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48204 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48205 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48206 instead of $(srcdir)/genkernsyms.sh.
48207
48208 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48209 genkernsyms.sh.
48210
48211 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48212 genkernsyms.sh.
48213 (gensymlist.sh): New target.
48214 (genkernsyms.sh): Likewise.
48215
48216 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48217 genkernsyms.sh.in and gensymlist.sh.in.
48218
48219 * genkernsyms.sh: Removed.
48220 * gensymlist.sh: Likewise.
f19dbdb7 48221
7b455f4d 48222 * genkernsyms.sh.in: New file.
48223 * gensymlist.sh.in: Likewise.
48224
1885bb27 482252006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48226
48227 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48228 clobber "prefix", since we may have already set it manually.
48229
71538dff 482302006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48231
48232 * kern/misc.c (abort): New alias for grub_abort.
48233
2965c7cc 482342006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48235
48236 A new machine-specific function "grub_machine_set_prefix" is
48237 defined. This is called after loading modules, so that a prefix
48238 initialization can use modules. Also, this change adds an
48239 intensive debugging feature for the memory manager via the
48240 configure option "--enable-mm-debug".
f19dbdb7 48241
2965c7cc 48242 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48243 PART.LEN.
48244
48245 * kern/sparc64/ieee1275/init.c (abort): Removed.
48246 (grub_stop): Likewise.
48247 (grub_exit): New function.
48248 (grub_set_prefix): Renamed to ...
48249 (grub_machine_set_prefix): ... this.
48250 (grub_machine_init): Do not call grub_set_prefix.
48251
48252 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48253 (grub_machine_set_prefix): ... this.
48254 (grub_machine_init): Do not call grub_set_prefix.
48255
48256 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48257 (grub_machine_init): Do not set the prefix here.
48258
48259 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48260
48261 * kern/efi/init.c: Include grub/mm.h.
48262 (grub_efi_set_prefix): New function.
48263
48264 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48265 (grub_efi_get_filename): New function.
48266 (grub_print_device_path): Renamed to ...
48267 (grub_efi_print_device_path): ... this.
48268
48269 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48270 [MM_DEBUG] (grub_realloc): Likewise.
48271 [MM_DEBUG] (grub_free): Likewise.
48272 [MM_DEBUG] (grub_memalign): Likewise.
48273 [MM_DEBUG] (grub_mm_debug): New variable.
48274 [MM_DEBUG] (grub_debug_malloc): New function.
48275 [MM_DEBUG] (grub_debug_free): New function.
48276 [MM_DEBUG] (grub_debug_realloc): New function.
48277 [MM_DEBUG] (grub_debug_memalign): New function.
48278
48279 * kern/misc.c (grub_abort): Print a newline to distinguish
48280 the message.
48281
48282 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48283 grub_set_root_dev after loading modules. This is necessary when
48284 setting a prefix depends on modules.
48285
48286 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48287 (grub_efi_print_device_path): ... this.
48288 (grub_efi_get_filename): New prototype.
48289 (grub_efi_set_prefix): Likewise.
48290
48291 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48292 and grub/disk.h.
48293 (grub_efidisk_get_device_handle): New prototype.
48294 (grub_efidisk_get_device_name): Likewise.
48295
48296 * include/grub/mm.h: Include config.h.
48297 (MM_DEBUG): Removed.
48298 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48299 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48300 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48301 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48302 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48303 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48304 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48305 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48306 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48307
48308 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48309
48310 * disk/efi/efidisk.c: Include grub/partition.h.
48311 (iterate_child_devices): New function.
48312 (add_device): First, compare only last device path nodes, so that
48313 devices are sorted by the types.
48314 (grub_efidisk_get_device_handle): New function.
48315 (grub_efidisk_get_device_name): Likewise.
48316
48317 * configure.ac (--enable-mm-debug): New option to enable the
48318 memory manager debugging feature. This makes the binary much
48319 bigger, so is disabled by default.
48320
9cacaa17 483212006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48322
48323 Use grub_abort instead of grub_stop, and grub_exit must be
48324 define in each architecture now. Also, this change adds support
48325 for EFI disks.
f19dbdb7 48326
9cacaa17 48327 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48328 (grub_getkey): New function.
48329 (grub_term_get_current): Likewise.
48330
48331 * util/i386/pc/grub-setup.c: Include grub/term.h.
48332 (grub_getkey): New function.
48333 (grub_term_get_current): Likewise.
48334
48335 * util/misc.c (grub_stop): Renamed to ...
48336 (grub_exit): ... this.
48337
48338 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48339 (grub_exit): ... this.
48340 (grub_machine_init): Use grub_abort instead of abort.
48341 (grub_stop): Removed.
48342
48343 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48344 abort.
48345
48346 * kern/i386/pc/startup.S (grub_exit): New function.
48347 (cold_reboot): New label.
48348
48349 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48350 (grub_efi_init): Call grub_efidisk_init.
48351 (grub_efi_fini): Call grub_efidisk_fini.
48352
48353 * kern/efi/efi.c: Include grub/mm.h.
48354 (grub_efi_console_control_guid): Renamed to ...
48355 (console_control_guid): ... this.
48356 (grub_efi_loaded_image_guid): Renamed to ...
48357 (loaded_image_guid): ... this.
48358 (grub_efi_locate_handle): New function.
48359 (grub_efi_open_protocol): Likewise.
48360 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48361 GRUB_EFI_CONSOLE_CONTROL_GUID.
48362 (grub_efi_exit): Removed.
48363 (grub_stop): Likewise.
48364 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48365 (grub_exit): New function.
48366 (grub_print_device_path): Likewise.
48367
48368 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48369 (grub_enter_rescue_mode): Register "exit".
48370
48371 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48372 (grub_abort): New function.
48373
48374 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48375
48376 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48377
48378 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48379
48380 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48381 (grub_print_device_path): New prototype.
48382 (grub_efi_locate_handle): Likewise.
48383 (grub_efi_open_protocol): Likewise.
48384
48385 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48386 * disk/efi/efidisk.c: Likewise.
48387
48388 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48389
48390 * include/grub/efi/console_control.h
48391 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48392
48393 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48394 last 8 bytes as an array.
48395 (GRUB_EFI_DISK_IO_GUID): New macro.
48396 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48397 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48398 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48399 grub_uint8_t.
48400 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48401 (struct grub_efi_device_path): Rename the member "sub_type" to
48402 "subtype".
48403 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48404 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48405 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48406 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48407 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48408 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48409 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48410 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48411 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48412 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48413 (struct grub_efi_pci_device_path): New structure.
48414 (grub_efi_pci_device_path_t): New type.
48415 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48416 (struct grub_efi_pccard_device_path): New structure.
48417 (grub_efi_pccard_device_path_t): New type.
48418 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48419 (struct grub_efi_memory_mapped_device_path): New structure.
48420 (grub_efi_memory_mapped_device_path_t): New type.
48421 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48422 (struct grub_efi_vendor_device_path): New structure.
48423 (grub_efi_vendor_device_path_t): New type.
48424 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48425 (struct grub_efi_controller_device_path): New structure.
48426 (grub_efi_controller_device_path_t): New type.
48427 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48428 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48429 (struct grub_efi_acpi_device_path): New structure.
48430 (grub_efi_acpi_device_path_t): New type.
48431 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48432 (struct grub_efi_expanded_acpi_device_path): New structure.
48433 (grub_efi_expanded_acpi_device_path_t): New type.
48434 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48435 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48436 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48437 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48438 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48439 (struct grub_efi_atapi_device_path): New structure.
48440 (grub_efi_atapi_device_path_t): New type.
48441 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48442 (struct grub_efi_fibre_channel_device_path): New structure.
48443 (grub_efi_fibre_channel_device_path_t): New type.
48444 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48445 (struct grub_efi_1394_device_path): New structure.
48446 (grub_efi_1394_device_path_t): New type.
48447 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48448 (struct grub_efi_usb_device_path): New structure.
48449 (grub_efi_usb_device_path_t): New type.
48450 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48451 (struct grub_efi_usb_class_device_path): New structure.
48452 (grub_efi_usb_class_device_path_t): New type.
48453 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48454 (struct grub_efi_i2o_device_path): New structure.
48455 (grub_efi_i2o_device_path_t): New type.
48456 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48457 (struct grub_efi_mac_address_device_path): New structure.
48458 (grub_efi_mac_address_device_path_t): New type.
48459 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48460 (struct grub_efi_ipv4_device_path): New structure.
48461 (grub_efi_ipv4_device_path_t): New type.
48462 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48463 (struct grub_efi_ipv6_device_path): New structure.
48464 (grub_efi_ipv6_device_path_t): New type.
48465 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48466 (struct grub_efi_infiniband_device_path): New structure.
48467 (grub_efi_infiniband_device_path_t): New type.
48468 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48469 (struct grub_efi_uart_device_path): New structure.
48470 (grub_efi_uart_device_path_t): New type.
48471 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48472 (struct grub_efi_vendor_messaging_device_path): New structure.
48473 (grub_efi_vendor_messaging_device_path_t): New type.
48474 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48475 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48476 (struct grub_efi_hard_drive_device_path): New structure.
48477 (grub_efi_hard_drive_device_path_t): New type.
48478 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48479 (struct grub_efi_cdrom_device_path): New structure.
48480 (grub_efi_cdrom_device_path_t): New type.
48481 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48482 (struct grub_efi_vendor_media_device_path): New structure.
48483 (grub_efi_vendor_media_device_path_t): New type.
48484 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48485 (struct grub_efi_file_path_device_path): New structure.
48486 (grub_efi_file_path_device_path_t): New type.
48487 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48488 (struct grub_efi_protocol_device_path): New structure.
48489 (grub_efi_protocol_device_path_t): New type.
48490 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48491 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48492 (struct grub_efi_bios_device_path): New structure.
48493 (grub_efi_bios_device_path_t): New type.
48494 (struct grub_efi_disk_io): New structure.
48495 (grub_efi_disk_io_t): New type.
48496 (struct grub_efi_block_io_media): New structure.
48497 (grub_efi_block_io_media_t): New type.
48498 (struct grub_efi_block_io): New structure.
48499 (grub_efi_block_io_t): New type.
48500
48501 * include/grub/misc.h (grub_stop): Removed.
48502 (grub_exit): New prototype.
48503 (grub_abort): Likewise.
48504
48505 * include/grub/disk.h (enum grub_disk_dev_id): Added
48506 GRUB_DISK_DEVICE_EFIDISK_ID.
48507
48508 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48509 disk/efi/efidisk.c.
48510 (kernel_syms.lst): Remove the target if an error occurs.
48511
49986a9f 485122006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48513
48514 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48515 as it was simply too buggy.
48516
970d3b8a 485172006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48518
48519 * kern/misc.c (grub_lltoa): New function.
48520 (grub_vsprintf): Added support for the long long suffix,
48521 i.e. "ll".
48522
ff04ec24 485232006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48524
48525 * Makefile.in (LDFLAGS): Add variable.
48526 (LD): Remove variable.
48527 * configure.ac: Add -m32 to LDFLAGS.
48528 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48529 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48530 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48531 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48532 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48533 variables.
48534 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48535 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48536 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48537
37e5e1a4 485382006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48539
48540 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48541 length for unknown glyph.
48542
c352d8dd 485432006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48544
2eab1c0d 48545 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48546
2eab1c0d 48547 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48548 completely. Accept one more argument DIR. The caller has changed.
48549
48550 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48551
48552 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48553 (grub_efi_loaded_image_guid): New variable.
48554 (grub_efi_get_loaded_image): New function.
48555 (grub_arch_modules_addr): Likewise.
48556
48557 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48558 prototype.
48559
48560 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48561 (struct grub_efi_loaded_image): New structure.
48562 (grub_efi_loaded_image_t): New type.
48563
485642006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48565
c352d8dd 48566 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48567 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48568 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48569
6d01d6b4 485702006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48571
48572 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48573
976a4ea0 485742006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48575
48576 * DISTLIST: Added include/grub/efi/console.h,
48577 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48578 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48579
48580 * include/grub/efi/console.h: New file.
48581 * include/grub/efi/time.h: Likewise.
48582 * include/grub/i386/efi/kernel.h: Likewise.
48583 * kern/efi/init.c: Likewise.
48584 * kern/efi/mm.c: Likewise.
48585 * term/efi/console.c: Likewise.
f19dbdb7 48586
976a4ea0 48587 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48588 (grub_stop): Removed.
48589 (grub_get_rtc): Likewise.
48590 (grub_machine_init): Simply call grub_efi_init.
48591 (grub_machine_fini): Call grub_efi_fini.
48592
48593 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48594 (grub_efi_output_string): Removed.
48595 (grub_efi_stall): New function.
48596 (grub_stop): Likewise.
48597 (grub_get_rtc): Likewise.
48598
48599 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48600 (grub_efi_stall): New prototype.
48601 (grub_efi_allocate_pages): Likewise.
48602 (grub_efi_free_pages): Likewise.
48603 (grub_efi_get_memory_map): Likewise.
48604 (grub_efi_mm_init): Likewise.
48605 (grub_efi_mm_fini): Likewise.
48606 (grub_efi_init): Likewise.
48607 (grub_efi_fini): Likewise.
48608
48609 * include/grub/i386/efi/time.h: Do not include
48610 grub/symbol.h. Include grub/efi/time.h.
48611 (GRUB_TICKS_PER_SECOND): Removed.
48612 (grub_get_rtc): Likewise.
48613
48614 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48615 Added padding. The EFI spec is buggy.
48616 (GRUB_EFI_BLACK): New macro.
48617 (GRUB_EFI_BLUE): Likewise.
48618 (GRUB_EFI_GREEN): Likewise.
48619 (GRUB_EFI_CYAN): Likewise.
48620 (GRUB_EFI_RED): Likewise.
48621 (GRUB_EFI_MAGENTA): Likewise.
48622 (GRUB_EFI_BROWN): Likewise.
48623 (GRUB_EFI_LIGHTGRAY): Likewise.
48624 (GRUB_EFI_BRIGHT): Likewise.
48625 (GRUB_EFI_DARKGRAY): Likewise.
48626 (GRUB_EFI_LIGHTBLUE): Likewise.
48627 (GRUB_EFI_LIGHTGREEN): Likewise.
48628 (GRUB_EFI_LIGHTCYAN): Likewise.
48629 (GRUB_EFI_LIGHTRED): Likewise.
48630 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48631 (GRUB_EFI_YELLOW): Likewise.
48632 (GRUB_EFI_WHITE): Likewise.
48633 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48634 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48635 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48636 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48637 (GRUB_EFI_BACKGROUND_RED): Likewise.
48638 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48639 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48640 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48641 (GRUB_EFI_TEXT_ATTR): Likewise.
48642
48643 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48644 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48645 (kernel_mod_HEADERS): Added efi/time.h.
48646
83709125 486472006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48648
48649 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48650 include/grub/efi/api.h, include/grub/efi/console_control.h,
48651 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48652 include/grub/i386/efi/time.h, kern/efi/efi.c,
48653 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48654 and util/i386/efi/grub-mkimage.c.
48655
48656 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48657
48658 * genmk.rb (PModule#rule): Do not export symbols if
48659 #{prefix}_EXPORTS is set to "no".
48660
48661 * conf/i386-efi.mk: New file.
48662 * conf/i386-efi.rmk: Likewise.
48663 * include/grub/efi/api.h: Likewise.
48664 * include/grub/efi/console_control.h: Likewise.
48665 * include/grub/efi/efi.h: Likewise.
48666 * include/grub/efi/pe32.h: Likewise.
48667 * include/grub/i386/efi/time.h: Likewise.
48668 * kern/efi/efi.c: Likewise.
48669 * kern/i386/efi/init.c: Likewise.
48670 * kern/i386/efi/startup.S: Likewise.
48671 * util/i386/efi/grub-mkimage.c: Likewise.
48672
486732006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48674
48675 * include/grub/script.h: Include <grub/parser.h> and
48676 "grub_script.tab.h".
48677 (struct grub_lexer_param): New struct.
48678 (struct grub_parser_param): Likewise.
48679 (grub_script_create_arglist): Pass the state in an argument.
48680 (grub_script_add_arglist): Likewise.
48681 (grub_script_create_cmdline): Likewise.
48682 (grub_script_create_cmdblock): Likewise.
48683 (grub_script_create_cmdif): Likewise.
48684 (grub_script_create_cmdmenu): Likewise.
48685 (grub_script_add_cmd): Likewise.
48686 (grub_script_arg_add): Likewise.
48687 (grub_script_lexer_ref): Likewise.
48688 (grub_script_lexer_deref): Likewise.
48689 (grub_script_lexer_record_start): Likewise.
48690 (grub_script_lexer_record_stop): Likewise.
48691 (grub_script_mem_record): Likewise.
48692 (grub_script_mem_record_stop): Likewise.
48693 (grub_script_malloc): Likewise.
48694 (grub_script_yylex): Likewise.
48695 (grub_script_yyparse): Likewise.
48696 (grub_script_yyerror): Likewise.
48697 (grub_script_yylex): Likewise.
48698 (grub_script_lexer_init): Return the state.
48699
48700 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48701 (grub_script_lexer_done): Likewise.
48702 (grub_script_lexer_getline): Likewise.
48703 (grub_script_lexer_refs): Likewise.
48704 (script): Likewise.
48705 (newscript): Likewise.
48706 (record): Likewise.
48707 (recording): Likewise.
48708 (recordpos): Likewise.
48709 (recordlen): Likewise.
48710 (grub_script_lexer_init): Return the state instead of setting
48711 global variables.
48712 (grub_script_lexer_ref): Use the newly added argument for state
48713 instead of globals.
48714 (grub_script_lexer_deref): Likewise.
48715 (grub_script_lexer_record_start): Likewise.
48716 (grub_script_lexer_record_stop): Likewise.
48717 (recordchar): Likewise.
48718 (nextchar): Likewise.
48719 (grub_script_yylex2): Likewise.
48720 (grub_script_yylex): Likewise.
48721 (grub_script_yyerror): Likewise.
48722
48723 * normal/parser.y (func_mem): Removed variable.
48724 (menu_entry): Likewise.
48725 (err): Likewise.
48726 (%lex-param): New parser option.
48727 (%parse-param): Likewise.
48728 (script): Always return the AST.
48729 (argument): Pass the state around.
48730 (arguments): Likewise.
48731 (grubcmd): Likewise.
48732 (commands): Likewise.
48733 (function): Likewise.
48734 (menuentry): Likewise.
48735 (if_statement): Likewise.
48736 (if): Likewise.
48737
48738 * normal/script.c (grub_script_memused): Removed variable.
48739 (grub_script_parsed): Likewise.
48740 (grub_script_malloc): Added a state argument. Use that instead of
48741 global variables.
48742 (grub_script_mem_record): Likewise.
48743 (grub_script_mem_record_stop): Likewise.
48744 (grub_script_arg_add): Likewise.
48745 (grub_script_add_arglist): Likewise.
48746 (grub_script_create_cmdline): Likewise.
48747 (grub_script_create_cmdif): Likewise.
48748 (grub_script_create_cmdmenu): Likewise.
48749 (grub_script_add_cmd): Likewise.
48750 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48751
e2a8c904 487522006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48753
48754 * normal/command.c (grub_command_init): Remove the title command.
48755
48756 * normal/lexer.c (grub_script_yylex): Renamed from this...
48757 (grub_script_yylex2): ... to this.
48758 (grub_script_yylex): New function. Temporary
48759 introduced to filter some tokens.
48760 (grub_script_yyerror): Print a newline.
48761
48762 * normal/main.c (read_config_file): Output information about the
48763 lines that contain errors. Wait for a key after all lines have
48764 been processed. Don't return an empty menu.
48765
48766 * normal/parser.y (func_mem): Don't initialize.
48767 (menu_entry): Likewise.
48768 (err): New variable.
48769 (script): Don't return anything when an error was encountered.
48770 (ws, returns): Removed rules.
48771 (argument): Disabled concatenated variable support.
48772 (arguments): Remove explicit separators.
48773 (grubcmd): Likewise.
48774 (function): Likewise.
48775 (menuentry): Likewise.
48776 (if): Likewise.
48777 (commands): Likewise. Add error handling.
48778
48779 * normal/script.c (grub_script_create_cmdline): If
48780 `grub_script_parsed' is 0, assume the parser encountered an error.
48781
c9a86192 487822006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48783
48784 * configure.ac: Add support for EFI. Fix the typo
48785 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48786
70f3b243 487872006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48788
48789 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48790 foreign multibyte characters should be shown correctly.
48791
65f201ad 487922006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48793
48794 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48795 calculation.
48796 (read_config_file): Made it to close file before returning.
48797
b4b93674 487982006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48799
48800 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48801 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48802 video/i386/pc/vbefill.c.
48803
48804 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48805 video/i386/pc/vbefill.c.
48806
48807 * include/grub/video.h (grub_video_blit_format): New enum.
48808 (grub_video_mode_info): Added new member blit_format.
48809 (grub_video_get_blit_format): New function prototype.
48810
48811 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48812 function prototype.
48813 (grub_video_vbe_map_rgb): Likewise.
48814 (grub_video_vbe_unmap_color): Likewise.
48815
48816 * include/grub/i386/pc/vbeblit.h: New file.
48817
48818 * include/grub/i386/pc/vbefill.h: New file.
48819
48820 * video/video.c (grub_video_get_blit_format): New function.
48821 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48822 (grub_video_vbe_map_rgb): Likewise.
48823 (grub_video_vbe_unmap_color): Likewise.
48824
48825 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48826 optimized fills.
48827 (grub_video_vbe_blit_render_target): Changed to use more optimized
48828 blits.
48829 (grub_video_vbe_setup): Added detection for optimized settings.
48830 (grub_video_vbe_create_render_target): Likewise.
48831
48832 * video/i386/pc/vbeblit.c: New file.
48833
48834 * video/i386/pc/vbefill.c: New file.
48835
c2379b9c 488362006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48837
48838 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48839 here...
48840
48841 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48842 parsing to support both hex and dec ranges. If filename was missing
48843 show usage information.
48844
bd0d7896 488452006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48846
48847 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48848 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48849
48850 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48851 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48852 (video_mod_SOURCES): Added.
48853 (video_mod_CFLAGS): Likewise.
48854 (video_mod_LDFLAGS): Likewise.
48855 (gfxterm_mod_SOURCES): Likewise.
48856 (gfxterm_mod_CFLAGS): Likewise.
48857 (gfxterm_mod_LDFLAGS): Likewise.
48858 (videotest_mod_SOURCES): Likewise.
48859 (videotest_mod_CFLAGS): Likewise.
48860 (videotest_mod_LDFLAGS): Likewise.
48861 (vesafb_mod_SOURCES): Removed.
48862 (vesafb_mod_CFLAGS): Likewise.
48863 (vesafb_mod_LDFLAGS): Likewise.
48864 (vga_mod_SOURCES): Likewise.
48865 (vga_mod_CFLAGS): Likewise.
48866 (vga_mod_LDFLAGS): Likewise.
48867
48868 * commands/videotest.c: New file.
48869
48870 * font/manager.c (fill_with_default_glyph): Modified to use
48871 grub_font_glyph.
48872 (grub_font_get_glyph): Likewise.
48873 (fontmanager): Renamed from this...
48874 (font_manager): ... to this.
48875
48876 * include/grub/font.h (grub_font_glyph): Added new structure.
48877 (grub_font_get_glyph): Modified to use grub_font_glyph.
48878
48879 * include/grub/misc.h (grub_abs): Added as inline function.
48880
48881 * include/grub/video.h: New file.
48882
48883 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48884 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48885 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48886 (grub_vbe_get_controller_info): Renamed from this...
48887 (grub_vbe_bios_get_controller_info): ... to this.
48888 (grub_vbe_get_mode_info): Renamed from this...
48889 (grub_vbe_bios_get_mode_info): ... to this.
48890 (grub_vbe_set_mode): Renamed from this...
48891 (grub_vbe_bios_set_mode): ... to this.
48892 (grub_vbe_get_mode): Renamed from this...
48893 (grub_vbe_bios_get_mode): ... to this.
48894 (grub_vbe_set_memory_window): Renamed from this...
48895 (grub_vbe_bios_set_memory_window): ... to this.
48896 (grub_vbe_get_memory_window): Renamed from this...
48897 (grub_vbe_bios_get_memory_window): ... to this.
48898 (grub_vbe_set_scanline_length): Renamed from this...
48899 (grub_vbe_set_scanline_length): ... to this.
48900 (grub_vbe_get_scanline_length): Renamed from this...
48901 (grub_vbe_bios_get_scanline_length): ... to this.
48902 (grub_vbe_set_display_start): Renamed from this...
48903 (grub_vbe_bios_set_display_start): ... to this.
48904 (grub_vbe_get_display_start): Renamed from this...
48905 (grub_vbe_bios_get_display_start): ... to this.
48906 (grub_vbe_set_palette_data): Renamed from this...
48907 (grub_vbe_bios_set_palette_data): ... to this.
48908 (grub_vbe_set_pixel_rgb): Removed.
48909 (grub_vbe_set_pixel_index): Likewise.
48910
48911 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48912 from this...
48913 (grub_vbe_bios_get_controller_info): ... to this.
48914 (grub_vbe_get_mode_info): Renamed from this...
48915 (grub_vbe_bios_get_mode_info): ... to this.
48916 (grub_vbe_set_mode): Renamed from this...
48917 (grub_vbe_bios_set_mode): ... to this.
48918 (grub_vbe_get_mode): Renamed from this...
48919 (grub_vbe_bios_get_mode): ... to this.
48920 (grub_vbe_set_memory_window): Renamed from this...
48921 (grub_vbe_bios_set_memory_window): ... to this.
48922 (grub_vbe_get_memory_window): Renamed from this...
48923 (grub_vbe_bios_get_memory_window): ... to this.
48924 (grub_vbe_set_scanline_length): Renamed from this...
48925 (grub_vbe_set_scanline_length): ... to this.
48926 (grub_vbe_get_scanline_length): Renamed from this...
48927 (grub_vbe_bios_get_scanline_length): ... to this.
48928 (grub_vbe_set_display_start): Renamed from this...
48929 (grub_vbe_bios_set_display_start): ... to this.
48930 (grub_vbe_get_display_start): Renamed from this...
48931 (grub_vbe_bios_get_display_start): ... to this.
48932 (grub_vbe_set_palette_data): Renamed from this...
48933 (grub_vbe_bios_set_palette_data): ... to this.
48934 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48935 getting corrupted after calling it. Added more pushes and pops.
48936 (grub_vbe_bios_set_mode): Likewise.
48937 (grub_vbe_bios_get_mode): Likewise.
48938 (grub_vbe_bios_get_memory_window): Likewise.
48939 (grub_vbe_bios_set_scanline_length): Likewise.
48940 (grub_vbe_bios_get_scanline_length): Likewise.
48941 (grub_vbe_bios_get_display_start): Likewise.
48942 (grub_vbe_bios_set_palette_data): Likewise.
48943
48944 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48945 (cl_insert): Likewise.
48946 (cl_delete): Likewise.
48947
48948 * term/gfxterm.c: New file.
48949
48950 * term/i386/pc/vesafb.c: Removed file.
48951
48952 * video/video.c: New file.
48953
48954 * video/i386/pc/vbe.c (real2pm): Added new function.
48955 (grub_video_vbe_draw_pixel): Likewise.
48956 (grub_video_vbe_get_video_ptr): Likewise.
48957 (grub_video_vbe_get_pixel): Likewise
48958 (grub_video_vbe_init): Likewise.
48959 (grub_video_vbe_fini): Likewise.
48960 (grub_video_vbe_setup): Likewise.
48961 (grub_video_vbe_get_info): Likewise.
48962 (grub_video_vbe_set_palette): Likewise.
48963 (grub_video_vbe_get_palette): Likewise.
48964 (grub_video_vbe_set_viewport): Likewise.
48965 (grub_video_vbe_get_viewport): Likewise.
48966 (grub_video_vbe_map_color): Likewise.
48967 (grub_video_vbe_map_rgb): Likewise.
48968 (grub_video_vbe_map_rgba): Likewise.
48969 (grub_video_vbe_unmap_color): Likewise.
48970 (grub_video_vbe_fill_rect): Likewise.
48971 (grub_video_vbe_blit_glyph): Likewise.
48972 (grub_video_vbe_blit_bitmap): Likewise.
48973 (grub_video_vbe_blit_render_target): Likewise.
48974 (grub_video_vbe_scroll): Likewise.
48975 (grub_video_vbe_swap_buffers): Likewise.
48976 (grub_video_vbe_create_render_target): Likewise.
48977 (grub_video_vbe_delete_render_target): Likewise.
48978 (grub_video_vbe_set_active_render_target): Likewise.
48979 (grub_vbe_set_pixel_rgb): Remove function.
48980 (grub_vbe_set_pixel_index): Likewise.
48981 (index_color_mode): Remove static variable.
48982 (active_mode): Likewise.
48983 (framebuffer): Likewise.
48984 (bytes_per_scan_line): Likewise.
48985 (grub_video_vbe_adapter): Added new static variable.
48986 (framebuffer): Likewise.
48987 (render_target): Likewise.
48988 (initial_mode): Likewise.
48989 (mode_in_use): Likewise.
48990 (mode_list): Likewise.
48991
5f97350b 489922006-03-10 Marco Gerards <marco@gnu.org>
48993
48994 * configure.ac (AC_INIT): Bumped to 1.93.
48995
48996 * DISTLIST: Added `include/grub/hfs.h'.
48997
a3c5c6f8 489982006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48999
49000 * boot/i386/pc/boot.S (general_error): Before looping, try INT
49001 18H, which might help the BIOS falling back to next boot media.
49002
6de53d26 490032006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
49004
49005 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
49006 Poe Chen <poe.poechen@gmail.com>.
49007
77c4a393 490082006-01-17 Marco Gerards <marco@gnu.org>
49009
49010 * include/grub/normal.h: Include <grub/script.h>.
49011 (grub_command_list): Removed struct.
49012 (grub_command_list_t): Removed type.
49013 (grub_menu_entry): Remove members `num' and `command_list'. Add
49014 members `commands' and `sourcecode'.
49015 * include/grub/script.h: Add inclusion guards.
49016 (grub_script_cmd_menuentry): New struct.
49017 (grub_script_execute_menuentry): New prototype.
49018 (grub_script_lexer_record_start): Likewise.
49019 (grub_script_lexer_record_stop): Likewise.
49020 * normal/execute.c (grub_script_execute_menuentry): New function.
49021 * normal/lexer.c (record, recording, recordpos, recordlen): New
49022 variables.
49023 (grub_script_lexer_record_start): New function.
49024 (grub_script_lexer_record_stop): Likewise.
49025 (recordchar): Likewise.
49026 (nextchar): Likewise.
49027 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
49028 2048 as the buffer size. Add the tokens `menuentry' and `@'.
49029 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
49030 (current_menu): New variable.
49031 (free_menu): Mainly rewritten.
49032 (grub_normal_menu_addentry): New function.
49033 (read_config_file): Rewritten.
49034 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 49035 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 49036 the menu entry.
49037 (run): Mainly rewritten.
49038 * normal/parser.y (menu_entry): New variable.
49039 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49040 (menuentry): New rule.
49041 (command): Add `menuentry'.
49042 (if_statement): Allow additional returns before `fi'.
49043 * normal/script.c (grub_script_create_cmdmenu): New function.
49044
144f1f98 490452006-01-03 Marco Gerards <marco@gnu.org>
49046
49047 * INSTALL: GNU Bison is required.
49048 * configure.ac: Rewritten the test to detect Bison.
49049 * Makefile.in (YACC): New variable. Reported by Xun Sun
49050 <xun.sun.cn@gmail.com>.
49051
af4b2d89 490522006-01-03 Marco Gerards <marco@gnu.org>
49053
49054 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49055 the HFS+ filesystem to filesystem blocks.
49056 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49057 GCC warning is silenced.
49058
15643b71 490592006-01-03 Marco Gerards <marco@gnu.org>
49060
49061 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49062 read from disk from big endian to host byte order.
49063
00905879 490642006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49065
49066 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49067 documentation.
49068 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49069 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49070 embedded HFS+ filesystem.
49071 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49072 (grub_hfs_sblock): Move from here...
49073 * include/grub/hfs.h: To here... New file.
49074 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49075 documentation.
49076 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49077 New macros.
49078 (grub_hfsplus_volheader): Change type of member `magic' to
49079 `grub_uint16_t'.
49080 (grub_hfsplus_data): Add new member `embedded_offset'.
49081 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49082 returned block.
49083 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49084 Calculate the offset.
49085
8899bc3e 490862005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49087
49088 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49089 Removed.
49090 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49091
ae8c0277 490922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49093
49094 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49095 ENV->NAME is NULL after allocating ENV->VALUE.
49096
07084456 490972005-12-25 Marco Gerards <marco@gnu.org>
49098
49099 * kern/env.c (grub_env_set): Rewritten the error handling code.
49100
4750f5f1 491012005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49102
49103 * geninit.sh: Made more robust, and more portable.
49104
50214199 491052005-12-25 Marco Gerards <marco@gnu.org>
49106
49107 Add support for Apple HFS+ filesystems.
f19dbdb7 49108
50214199 49109 * fs/hfsplus.c: New file.
49110
49111 * DISTLIST: Added `fs/hfsplus.c'.
49112
49113 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49114 (hfsplus_mod_SOURCES): New variable.
49115 (hfsplus_mod_CFLAGS): Likewise.
49116 (hfsplus_mod_LDFLAGS): Likewise.
49117 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49118 (grub_setup_SOURCES): Likewise.
49119 (grub_mkdevicemap_SOURCES): Likewise.
49120 (grub_emu_SOURCES): Likewise.
49121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49122
49123 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49124
49125 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49126
befaed6c 491272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49128
49129 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49130 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49131 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49132 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49133 normal/lexer.c, normal/parser.y, normal/script.c, and
49134 partmap/gpt.c.
49135 Removed kern/sparc64/cache.c.
49136
49137 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49138 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49139 grub_emu_init.c.
49140
49141 * configure.ac (AC_INIT): Bumped to 1.92.
49142
6a124103 491432005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49144
49145 * kern/err.c (grub_error_push): Added new function to support error
49146 stacks.
49147 (grub_error_pop): Likewise.
49148 (grub_error_stack_items): New local variable to support error stacks.
49149 (grub_error_stack_pos): Likewise.
49150 (grub_error_stack_assert): Likewise.
49151 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49152 stack depth.
49153 (grub_print_error): Added support to print errors from error stack.
49154
49155 * include/grub/err.h (grub_error_push): Added function prototype.
49156 (grub_error_pop): Likewise.
49157
be973c1b 491582005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49159
49160 * configure.ac: Accept `powerpc64' as host_cpu.
49161 (amd64): Rename to `biarch32'.
49162
49163 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49164 non-cacheline-aligned addresses.
49165
49166 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49167 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49168 if `size' is non-zero.
49169
b04216ab 491702005-12-03 Marco Gerards <mgerards@xs4all.nl>
49171
49172 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49173 and `cd' to make sure the filename is not prefixed with a
49174 directory name.
49175 (pkgdata_MODULES): Add `gpt.mod'.
49176 (gpt_mod_SOURCES): New variable.
49177 (gpt_mod_CFLAGS): Likewise.
49178 (gpt_mod_LDFLAGS): Likewise.
49179
49180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49181
49182 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49183 New macro.
49184
49185 * partmap/gpt.c: New file.
49186
49187 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49188 GPT partition map is detected.
49189
41730ed9 491902005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49191
49192 * commands/i386/pc/play.c: New file.
49193 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49194 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49195 macros.
f19dbdb7 49196
95dc3643 491972005-11-27 Marco Gerards <mgerards@xs4all.nl>
49198
49199 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49200 ((unused))' to silence gcc warning.
49201
1569ec51 492022005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49203
49204 * configure.ac: Correct `AC_PROG_YACC' test.
49205
9abde152 492062005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49207
49208 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49209 check before installing files.
49210
44b83271 492112005-11-22 Mike Small <smallm@panix.com>
49212
49213 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49214 number regex so multidigit numbers are recognized correctly.
49215
492162005-11-22 Mike Small <smallm@panix.com>
49217
49218 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49219 debugging message before attempting to claim memory.
49220 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49221 multiple addresses in case of failure.
49222
9c12956b 492232005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49224
49225 * term/tparm.c (get_space): Remove empty `if' statement.
49226
49227 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49228
49229 * kern/parser.c (check_varstate): Rename `state' to 's'.
49230
aeaf81d9 492312005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49232
49233 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49234 variable definitions to the beginning of each function. Sort stack
49235 variables by size.
49236 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49237 `buf' argument to `char *'.
49238
79bbb63f 492392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49240
49241 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49242 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49243 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49244 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49245 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49246 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49247 configfile.mod, search.mod, gzio.mod and test.mod.
49248 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49249 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49250 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49251 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49252 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49253 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49254 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49255 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49256 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49257 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49258 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49259 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49260 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49261 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49262 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49263 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49264 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49265 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49266 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49267 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49268 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49269 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49270 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49271
49272 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49273 `grep --include'.
49274 (pkgdata_MODULES): Add test.mod.
49275
233b1628 492762005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49277
49278 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49279 appending to variables with "+=".
49280 (PModule): Use full pathname to generate *.lst filenames.
49281
49282 * Makefile.in: Fixed list rules moved from genmk.rb.
49283 (.DELETE_ON_ERROR): New special target.
49284 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49285
49286 * conf/i386-pc.rmk: Include conf/common.mk.
49287 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49288 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49289 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49290 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49291 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49292 configfile.mod, search.mod, gzio.mod and test.mod.
49293 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49294 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49295 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49296 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49297 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49298 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49299 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49300 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49301 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49302 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49303 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49304 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49305 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49306 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49307 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49308 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49309 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49310 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49311 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49312 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49313 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49314 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49315 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49316 here...
49317 * conf/common.rmk: ... to here. New file.
49318
49319 * conf/common.mk: New file.
49320
16f820c8 493212005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49322
49323 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49324 (grub_script.tab.c): ... here.
49325
49326 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49327 (grub_script.tab.c): ... here.
49328
49329 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49330 (grub_script.tab.c): ... here.
49331
49332 * normal/command.c (grub_command_find): Fixed a memory leak of
49333 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49334
63ba1554 493352005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49336
49337 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49338 "@" which marks the start of a comment on ARM.
49339 (VARIABLE): Likewise.
49340
7f67dc13 493412005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49342
79bbb63f 49343 Add support for Linux/ADFS partition tables.
7f67dc13 49344
49345 * partmap/acorn.c: New file.
49346
49347 * include/grub/acorn_filecore.h: Likewise.
49348
49349 * DISTLIST: Added `partmap/acorn.c' and
49350 `include/grub/acorn_filecore.h'.
f19dbdb7 49351
7f67dc13 49352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49353 `partmap/acorn.c'.
49354 (pkgdata_MODULES): Add `acorn.mod'.
49355 (acorn_mod_SOURCES): New variable.
49356 (acorn_mod_CFLAGS): Likewise.
49357
49358 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49359 `partmap/acorn.c'.
49360 (pkgdata_MODULES): Add `acorn.mod'.
49361 (acorn_mod_SOURCES): New variable.
49362 (acorn_mod_CFLAGS): Likewise.
49363
49364 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49365 (pkgdata_MODULES): Add `acorn.mod'.
49366 (acorn_mod_SOURCES): New variable.
49367 (acorn_mod_CFLAGS): Likewise.
49368 (acorn_mod_LDFLAGS): Likewise.
49369
49370 * include/types.h (grub_disk_addr_t): New typedef.
49371
6d099807 493722005-11-13 Marco Gerards <mgerards@xs4all.nl>
49373
49374 * geninit.sh: New file.
49375
49376 * geninitheader.sh: Likewise.
49377
49378 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49379 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49380 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49381 * commands/configfile.c (grub_configfile_init)
49382 (grub_configfile_fini): Likewise.
49383 * commands/default.c (grub_default_init, grub_default_fini):
49384 Likewise.
49385 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49386 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49387 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49388 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49389 Likewise.
49390 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49391 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49392 Likewise.
49393 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49394 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49395 Likewise.
49396 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49397 Likewise.
fe6b695a 49398 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49399 Likewise.
49400 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49401 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49402 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49403 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49404 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49405 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49406 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49407 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49408 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49409 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49410 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49411 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49412 * partmap/amiga.c (grub_amiga_partition_map_init)
49413 (grub_amiga_partition_map_fini): Likewise.
49414 * partmap/apple.c (grub_apple_partition_map_init)
49415 (grub_apple_partition_map_fini): Likewise.
49416 * partmap/pc.c (grub_pc_partition_map_init)
49417 (grub_pc_partition_map_fini): Likewise.
49418 * partmap/sun.c (grub_sun_partition_map_init,
49419 grub_sun_partition_map_fini): Likewise.
49420 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49421 Likewise.
49422
49423 * util/grub-emu.c: Include <grub_modules_init.h>.
49424 (main): Don't initialize and de-initialize any modules directly,
49425 use `grub_init_all' and `grub_fini_all' instead.
49426
49427 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49428 `grub_vesafb_mod_init'.
49429 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49430 all users.
49431 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49432 `grub_vga_mod_init'. Updated all users.
49433 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49434
6d099807 49435 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49436 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49437 rules.
49438
49439 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49440 Generate a function to initialize the module in utilities.
49441 Updated all callers.
49442 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49443 initialize the module in utilities. Updated all callers.
49444
9046bcf0 494452005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49446
49447 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49448 escape sequence and a literal ^L to clear the screen.
49449
49450 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49451 when returning from Open Firmware.
49452
d13ea639 494532005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49454
49455 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49456 (grub_ofconsole_height): Likewise.
49457 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49458 manually insert a '\n'.
49459 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49460 `grub_ofconsole_height'. Return early if these are already set.
49461
a8fcf206 494622005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49463
49464 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49465 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49466 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49467 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49468 and `normal/script.c'.
49469 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49470 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49471 (test_mod_SOURCES): New variable.
49472 (test_mod_CFLAGS): Likewise.
49473 (test_mod_LDFLAGS): Likewise.
49474 (pkgdata_MODULES): Add `test.mod'.
49475 (grub_script.tab.c): New rule.
49476 (grub_script.tab.h): Likewise.
49477
b6b32745 494782005-11-07 Marco Gerards <mgerards@xs4all.nl>
49479
49480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49481 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49482 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49483 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49484 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49485 (test_mod_SOURCES): New variable.
49486 (test_mod_CFLAGS): Likewise.
49487 (pkgdata_MODULES): Add `test.mod'.
49488 (grub_script.tab.c): New rule.
49489 (grub_script.tab.h): Likewise.
49490
daac212a 494912005-11-06 Marco Gerards <mgerards@xs4all.nl>
49492
49493 Add initial scripting support.
49494
49495 * commands/test.c: New file.
49496 * include/grub/script.h: Likewise.
49497 * normal/execute.c: Likewise.
49498 * normal/function.c: Likewise.
49499 * normal/lexer.c: Likewise.
49500 * normal/parser.y: Likewise.
49501 * normal/script.c: Likewise.
49502
49503 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49504
daac212a 49505 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49506 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49507 `normal/function.c' and `normal/script.c'.
49508 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49509 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49510 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49511 variables.
daac212a 49512 (pkgdata_MODULES): Add `test.mod'.
49513 (grub_script.tab.c): New rule.
49514 (grub_script.tab.h): Likewise.
49515
49516 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49517
49518 * include/grub/normal.h (grub_test_init): New prototype.
49519 (grub_test_fini): Likewise.
f19dbdb7 49520
daac212a 49521 * normal/command.c: Include <grub/script.h>.
49522 (grub_command_execute): Rewritten.
f19dbdb7 49523
daac212a 49524 * util/grub-emu.c (main): Call `grub_test_init' and
49525 `grub_test_fini'.
49526
77500b2b 495272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49528
49529 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49530 to 0.
49531 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49532 there are no pending characters.
49533
e45deb9e 495342005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49535
49536 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49537 `grub_strndup' to drop device arguments. Replace unnecessary
49538 `grub_strndup' with `grub_strdup'.
49539
4ce32619 495402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49541
49542 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49543 `debug' environment variable has been set.
49544
495452005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49546
4ce32619 49547 * Makefile.in (install-local): Use $(DATA).
49548 (uninstall): Likewise.
49549 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49550 (sbin_UTILITIES): ... to here.
49551 (sbin_SCRIPTS): New variable.
49552 (grub_install_SOURCES): New variable.
49553 * util/powerpc/ieee1275/grub-install.in: New file.
49554 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49555 variable.
49556 (add_segments): Call `grub_util_get_path'.
49557
25fe6f03 495582005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49559
49560 From Timothy Baldwin:
49561 * commands/ls.c (grub_ls_list_files): Close FILE with
49562 grub_file_close.
49563 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49564
04ccf3ec 495652005-10-24 Marco Gerards <mgerards@xs4all.nl>
49566
49567 * include/grub/parser.h: New file.
49568
49569 * kern/parser.c: Likewise.
49570
49571 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49572 (grub_setup_SOURCES): Likewise.
49573 (grub_probefs_SOURCES): Likewise.
49574 (grub_emu_SOURCES): Likewise.
49575 (kernel_img_HEADERS): Add `parser.h'.
49576
49577 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49578 (grub_emu_SOURCES): Add `kern/parser.c'.
49579 (grubof_SOURCES): Likewise.
49580
49581 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49582 (grubof_SOURCES): Add `kern/parser.c'.
49583
49584 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49585
49586 * kern/misc.c (grub_split_cmdline): Removed function.
49587
49588 * kern/rescue.c: Include <grub/parser.h>.
49589 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49590 of `grub_split_cmdline'.
49591
49592 * normal/command.c: Include <grub/parser.h>.
49593 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49594 of `grub_split_cmdline'.
49595
49596 * normal/completion.c: Include <grub/parser.h>.
49597 (cmdline_state): New variable.
49598 (iterate_dir): End the filename with a quote depending on the
49599 command line state.
49600 (get_state): new function.
49601 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49602 split the arguments and determine the current argument. When the
49603 argument string is not quoted, escape all spaces.
49604
6d8f4b0e 496052005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49606
49607 * normal/sparc64/setjmp.S: New file.
49608
15cf03ed 496092005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49610
49611 * include/grub/sparc64/libgcc.h: New file.
49612 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49613 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49614 normal/sparc64/setjmp.c.
49615
03e8661a 496162005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49617
49618 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49619 * kern/sparc64/cache.S: New file.
49620 * kern/sparc64/cache.c: Removed.
49621 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49622 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49623 -mtune=ultrasparc.
49624 (COMMON_LDFLAGS): Add -melf64_sparc.
49625 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49626 (grubof_SOURCES): Use cache.S instead of cache.c.
49627 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49628 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49629 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49630 commented though.
49631 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49632 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49633 (linux_mod_CFLAGS): Commented out.
49634 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49635 out because module isn't built.
49636 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49637 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49638 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49639 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49640 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49641 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49642 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49643 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49644 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49645 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49646 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49647 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49648 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49649 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49650
34eeec8a 496512005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49652
49653 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49654 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49655 longer, because HFS should not be used on PC.
49656
708367a3 496572005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49658
49659 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49660 consistently within the loop.
49661
6fa1251a 496622005-10-15 Marco Gerards <mgerards@xs4all.nl>
49663
49664 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49665 directory can not be read.
49666
4801580b 496672005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49668
49669 * configure.ac (AC_INIT): Increase the version number to 1.91.
49670
49671 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49672 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49673 term/i386/pc/serial.c.
49674
219ad426 496752005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49676
49677 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49678 file size must be permitted.
49679
49680 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49681 between %ah and %al.
49682
688e5699 496832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49684
49685 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49686 grub_uint64_t.
49687 Call the hook with a NUL-terminated filename.
49688 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49689 grub_cpu_to_be32.
49690
49691 * kern/term.c (cursor_state): New variable.
49692 (grub_term_set_current): Reset the cursor state on a new
49693 terminal.
49694 (grub_setcursor): Rewritten to use CURSOR_STATE.
49695 (grub_getcursor): New function.
49696
49697 * include/grub/term.h (grub_getcursor): New prototype.
49698
49699 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49700 integers on ARM. Reported by Timothy Baldwin
49701 <T.E.Baldwin99@members.leeds.ac.uk>.
49702
bb34586c 497032005-10-11 Marco Gerards <mgerards@xs4all.nl>
49704
49705 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49706 allocated.
49707 (grub_sfs_dir): Likewise.
49708
9a909877 497092005-10-09 Marco Gerards <mgerards@xs4all.nl>
49710
49711 Add support for the SFS filesystem.
49712
49713 * fs/sfs.c: New file.
49714
49715 * DISTLIST: Added `fs/sfs.c'.
49716
49717 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49718 (grub_probefs_SOURCES): Likewise.
49719 (grub_emu_SOURCES): Likewise.
49720 (pkgdata_MODULES): Add `sfs.mod'.
49721 (sfs_mod_SOURCES): New variable.
49722 (sfs_mod_CFLAGS): Likewise.
49723 (sfs_mod_LDFLAGS): Likewise.
49724
49725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49726 (pkgdata_MODULES): Add `sfs.mod'.
49727 (sfs_mod_SOURCES): New variable.
49728 (sfs_mod_CFLAGS): Likewise.
49729
49730 * util/grub-emu.c (main): Call `grub_sfs_init' and
49731 `grub_sfs_fini'.
49732
49733 * include/grub/fs.h (grub_sfs_init): New prototype.
49734 (grub_sfs_fini): Likewise.
49735
57bdbde3 497362005-10-07 Marco Gerards <mgerards@xs4all.nl>
49737
49738 Add support for the AFFS filesystem.
49739
49740 * fs/affs.c: New file.
49741
49742 * DISTLIST: Added `fs/affs.c'.
49743
49744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49745 (grub_probefs_SOURCES): Likewise.
49746 (grub_emu_SOURCES): Likewise.
49747 (pkgdata_MODULES): Add `affs.mod'.
49748 (affs_mod_SOURCES): New variable.
49749 (affs_mod_CFLAGS): Likewise.
49750 (affs_mod_LDFLAGS): Likewise.
49751
49752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49753 (pkgdata_MODULES): Add `affs.mod'.
49754 (affs_mod_SOURCES): New variable.
49755 (affs_mod_CFLAGS): Likewise.
49756
49757 * util/grub-emu.c (main): Call `grub_affs_init' and
49758 `grub_affs_fini'.
49759
49760 * include/grub/fs.h (grub_affs_init): New prototype.
49761 (grub_affs_fini): Likewise.
49762
047b67e0 497632005-10-01 Marco Gerards <mgerards@xs4all.nl>
49764
49765 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49766
59b8208a 497672005-10-01 Marco Gerards <mgerards@xs4all.nl>
49768
49769 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49770 `-m32' to CFLAGS.
49771
49772 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49773 linking.
f19dbdb7 49774
59b8208a 49775 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49776 (COMMON_LDFLAGS): New variable.
49777 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49778 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49779 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49780 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49781 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49782 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49783 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49784 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49785 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49786 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49787 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49788 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49789 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49790 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49791 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49792 variables.
49793 (normal_mod_ASFLAGS): Add `-m32'.
49794
49795 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49796 (grub_host_size_t, grub_host_ssize_t): New types.
49797 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49798 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49799 `GRUB_HOST_SIZEOF_VOID_P'.
49800
49801 * include/grub/kernel.h (struct grub_module_header): Type of
49802 member offset changed to `grub_host_off_t'. Type of member size
49803 changed to `grub_host_size_t'.
49804 (struct grub_module_info): Type of member offset changed to
49805 `grub_host_off_t'. Type of member size changed to
49806 `grub_host_size_t'.
49807
b4093103 498082005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49809
49810 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49811
b4093103 49812 * kern/i386/pc/startup.S (multiboot_header): New label.
49813 (multiboot_entry): Likewise.
49814 (multiboot_trampoline): Likewise.
49815
49816 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49817 Increased to 0x4A0.
49818
49819 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49820 put parentheses after a question mark.
49821 [!GRUB_UTIL] (my_mod): New variable.
49822
49823 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49824
b2499b29 498252005-09-28 Marco Gerards <mgerards@xs4all.nl>
49826
49827 Adds support for the XFS filesystem. Btrees are not supported
49828 yet.
49829
49830 * fs/xfs.c: New file.
49831
49832 * DISTLIST: Added `fs/xfs.c'.
49833
49834 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49835 (grub_probefs_SOURCES): Likewise.
49836 (grub_emu_SOURCES): Likewise.
49837 (pkgdata_MODULES): Add `xfs.mod'.
49838 (xfs_mod_SOURCES): New variable.
49839 (xfs_mod_CFLAGS): Likewise.
49840
49841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49842 (pkgdata_MODULES): Add `xfs.mod'.
49843 (xfs_mod_SOURCES): New variable.
49844 (xfs_mod_CFLAGS): Likewise.
49845
49846 * util/grub-emu.c (main): Call `grub_xfs_init' and
49847 `grub_xfs_fini'.
49848
49849 * include/grub/fs.h (grub_xfs_init): New prototype.
49850 (grub_xfs_fini): Likewise.
49851
f19dbdb7 49852
83d37a62 498532005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49854
49855 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49856 color modes, allow greater than 16 colors to be configured as
49857 a default palette.
49858
47d2d65e 498592005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49860
49861 * normal/completion.c (complete_arguments): Add the qualifier
49862 const into OPTIONS.
49863
49864 From Omniflux <omniflux+lists@omniflux.com>:
49865 * include/grub/terminfo.h: New file.
49866 * include/grub/tparm.h: Likewise.
49867 * include/grub/i386/pc/serial.h: Likewise.
49868 * term/terminfo.c: Likewise.
49869 * term/tparm.c: Likewise.
49870 * term/i386/pc/serial.c: Likewise.
49871 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49872 serial.mod.
49873 (terminfo_mod_SOURCES): New variable.
49874 (terminfo_mod_CFLAGS): Likewise.
49875 (serial_mod_SOURCES): Likewise.
49876 (serial_mod_CFLAGS): Likewise.
49877
48b671ff 498782005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49879
49880 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49881 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49882 and kern/powerpc/ieee1275/cmain.c, respectively.
49883
49884 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49885 * kern/powerpc/ieee1275/crt0.S: ... here.
49886
49887 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49888 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49889
48b671ff 49890 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49891 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49892 instead of boot/powerpc/ieee1275/crt0.S and
49893 boot/powerpc/ieee1275/cmain.c, respectively.
49894
49895 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49896 sectors. It was not used anyway.
49897
09fc77a7 498982005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49899
49900 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49901 `unused parameter' warning.
49902
003789c7 499032005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49904
49905 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49906 function.
49907 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49908 getcharwidth.
49909
67f44c86 499102005-08-28 Marco Gerards <metgerards@student.han.nl>
49911
49912 * include/grub/normal.h (enum grub_completion_type): Added
49913 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49914
49915 * normal/cmdline.c (print_completion): Handle
49916 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49917 * normal/menu_entry.c (store_completion): Likewise.
49918
49919 * normal/completion.c (complete_arguments): New function.
49920 (grub_normal_do_completion): Call `complete_arguments' when the
49921 current words start with a dash.
49922
0b5abe02 499232005-08-27 Marco Gerards <metgerards@student.han.nl>
49924
49925 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49926 `gzio.mod' instead of `io.mod').
49927
d9864ee1 499282005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49929
49930 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49931 (DISTDIRS): Added io and video.
49932 Rewrite the search routine to make an output consistently.
49933
49934 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49935 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49936 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49937 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49938 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49939 util/powerpc/ieee1275/misc.c.
f19dbdb7 49940
d9864ee1 49941 * include/grub/gzio.h: New file.
49942 * io/gzio.c: Likewise.
f19dbdb7 49943
d9864ee1 49944 * kern/file.c (grub_file_close): Call grub_device_close only if
49945 FILE->DEVICE is not NULL.
49946
49947 * include/grub/mm.h [!NULL] (NULL): New macro.
49948
49949 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49950
49951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49952 (pkgdata_MODULES): Added gzio.mod.
49953 (gzio_mod_SOURCES): New variable.
49954 (gzio_mod_CFLAGS): Likewise.
49955
49956 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49957 (pkgdata_MODULES): Added gzio.mod.
49958 (gzio_mod_SOURCES): New variable.
49959 (gzio_mod_CFLAGS): Likewise.
49960
49961 * commands/cat.c: Include grub/gzio.h.
49962 (grub_cmd_cat): Use grub_gzfile_open instead of
49963 grub_file_open.
f19dbdb7 49964
d9864ee1 49965 * commands/cmp.c: Include grub/gzio.h.
49966 (grub_cmd_cmp): Use grub_gzfile_open instead of
49967 grub_file_open.
49968
49969 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49970 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49971 grub_file_open.
49972 (grub_rescue_cmd_module): Likewise.
49973
fa46f4b5 499742005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49975
49976 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49977 kern/sparc64/ieee1275/init.c because it contains _start.
49978 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49979
e9211b5d 499802005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49981
49982 * configure.ac: Add support for sparc64 host with ieee1275
49983 firmware.
49984 * configure: Generated from configure.ac.
49985 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49986 instead of int.
49987 (grub_ofdisk_read): Likewise.
49988 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49989 pointers as (void *) to remove a warning.
49990 (grub_ofdisk_close): Likewise.
49991 (grub_ofdisk_read): Likewise.
49992 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49993 returns, so make it return void to remove a warning.
49994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49995 Corresponding prototype change.
49996 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49997 values, and cast the pointers as (void *) to remove a warning.
49998 (grub_mm_dump): Likewise.
49999 * conf/sparc64-ieee1275.mk: New file.
50000 * conf/sparc64-ieee1275.rmk: Likewise.
50001 * include/grub/sparc64/setjmp.h: Likewise.
50002 * include/grub/sparc64/types.h: Likewise.
50003 * include/grub/sparc64/ieee1275/console.h: Likewise.
50004 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
50005 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
50006 * include/grub/sparc64/ieee1275/time.h: Likewise.
50007 * kern/sparc64/cache.c: Likewise.
50008 * kern/sparc64/dl.c: Likewise.
50009 * kern/sparc64/ieee1275/init.c: Likewise.
50010 * kern/sparc64/ieee1275/openfw.c: Likewise.
50011
385c6a92 500122005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
50013
50014 * util/console.c (grub_ncurses_putchar): If C is greater than
50015 0x7f, set C to a question mark.
50016 (grub_ncurses_getcharwidth): New function.
50017 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
50018 getcharwidth.
50019
50020 * normal/menu.c (print_entry): Made aware of Unicode. First,
50021 convert TITLE to UCS-4, and predict the cursor position by
50022 grub_getcharwidth.
50023
50024 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
50025 const to SRC.
50026 * kern/misc.c (grub_utf16_to_utf8): Likewise.
50027
16ccb8b1 500282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50029
50030 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
50031 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50032 grub_strcat.
50033
50034 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
50035 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
50036 grub_strcpy and grub_strlen. Take it into account that a space
50037 character is inserted as a delimiter.
50038
6a85ce79 500392005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50040
50041 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 50042 invalid magic in the error.
6a85ce79 50043
50044 * commands/search.c: New file.
f19dbdb7 50045
6a85ce79 50046 * util/grub-emu.c (main): Call grub_search_init and
50047 grub_search_fini.
50048
50049 * kern/rescue.c (grub_rescue_print_disks): Removed.
50050 (grub_rescue_print_devices): New function.
50051 (grub_rescue_cmd_ls): Use grub_device_iterate with
50052 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50053 grub_rescue_print_disks.
50054
50055 * kern/partition.c (grub_partition_iterate): Return the result of
50056 PARTMAP->ITERATE instead of GRUB_ERRNO.
50057
50058 * kern/device.c: Include grub/partition.h.
50059 (grub_device_iterate): New function.
50060
50061 * include/grub/partition.h (grub_partition_iterate): Return int
50062 instead of grub_err_t.
50063
50064 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50065 prototype.
50066 [GRUB_UTIL] (grub_search_fini): Likewise.
50067
50068 * include/grub/device.h (grub_device_iterate): New prototype.
50069
50070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50071 commands/search.c.
50072 (pkgdata_MODULES): Added search.mod.
50073 (search_mod_SOURCES): New variable.
50074 (search_mod_CFLAGS): Likewise.
50075
50076 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50077 (pkgdata_MODULES): Added search.mod.
50078 (search_mod_SOURCES): New variable.
50079 (search_mod_CFLAGS): Likewise.
50080
50081 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50082 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50083 All callers changed.
50084
50085 * DISTLIST: Added commands/search.c.
50086
ef095434 500872005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50088
50089 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50090 conversion.
50091 (grub_getcharwidth): New function.
50092
50093 * kern/misc.c (grub_utf8_to_ucs4): New function.
50094
50095 * include/grub/term.h (struct grub_term): Added a new member
50096 "getcharwidth".
50097 (grub_getcharwidth): New prototype.
50098
50099 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50100
50101 * term/i386/pc/console.c (map_char): New function. Segregated from
50102 grub_console_putchar.
50103 (grub_console_putchar): Use map_char.
50104 (grub_console_getcharwidth): New function.
50105 (grub_console_term): Specified grub_console_getcharwidth as
50106 getcharwidth.
50107
50108 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50109 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50110
50111 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50112 GRUB_ERRNO.
50113 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50114 on grub_strtoul completely.
50115 (write_char): Declare local variables in the beginning of the
50116 function.
50117 (grub_vesafb_getcharwidth): New function.
50118 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50119 getcharwidth.
50120
1f0a95e4 501212005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50122
50123 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50124 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50125 commands/i386/pc/vbetest.c.
50126
50127 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50128 call grub_vbe_get_controller_info again, because the returned
50129 information is volatile.
50130 (grub_vbe_set_video_mode): Mostly rewritten.
50131 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50132 grub_vbe_status_t correctly.
50133 (grub_vbe_get_video_mode_info): Likewise.
50134 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50135 several if statements.
50136
50137 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50138 * commands/i386/pc/vbeinfo.c: ... this.
50139
50140 * commands/i386/pc/vbe_test.c: Renamed to ...
50141 * commands/i386/pc/vbetest.c: ... this.
50142
50143 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50144 ...
50145 (grub_cmd_vbeinfo): ... this. Save video modes before
50146 iterating. Skip a video mode, if it is not available, not enough
50147 information is given or it is monochrome. Show the memory
50148 model. Leave the interpretation of MODEVAR to grub_strtoul
50149 completely.
50150 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50151 (GRUB_MOD_FINI): Likewise.
50152
50153 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50154 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50155 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50156 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50157 grub_strtoul completely.
50158 (real2pm): Removed.
50159 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50160 (GRUB_MOD_FINI): Likewise.
50161
50162 * normal/misc.c: Include grub/mm.h.
50163
50164 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50165 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50166 (vbe_list_modes_mod_SOURCES): Removed.
50167 (vbe_list_modes_mod_CFLAGS): Likewise.
50168 (vbe_test_mod_SOURCES): Likewise.
50169 (vbe_test_mod_CFLAGS): Likewise.
50170 (vbeinfo_mod_SOURCES): New variable.
50171 (vbeinfo_mod_CFLAGS): Likewise.
50172 (vbetest_mod_SOURCES): Likewise.
50173 (vbetest_mod_CFLAGS): Likewise.
50174
992ffbbe 501752005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50176
50177 * normal/misc.c: New file.
50178
50179 * DISTLIST: Added normal/misc.c.
f19dbdb7 50180
992ffbbe 50181 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50182 DISK to HOOK. Call HOOK with DISK.
50183 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50184 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50185 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50186
50187 * normal/menu_entry.c (struct screen): Added a new member
50188 "completion_shown".
50189 (completion_buffer): New global variable.
50190 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50191 (store_completion): New function.
50192 (complete): Likewise.
50193 (clear_completions): Likewise.
50194 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50195 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50196 a tab, call complete.
50197
50198 * normal/completion.c (disk_dev): Removed.
50199 (print_simple_completion): Likewise.
50200 (print_partition_completion): Likewise.
50201 (print_func): New global variable.
50202 (add_completion): Do not take the arguments WHAT or PRINT any
50203 longer. Added a new argument TYPE. Instead of printing directly,
50204 call PRINT_FUNC if not NULL.
50205 All callers changed.
50206 (complete_device): Use a local variable DEV instead of
50207 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50208 (grub_normal_do_completion): Take a new argument HOOK. Do not
50209 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50210 empty string, return NULL instead.
50211 All callers changed.
50212
50213 * normal/cmdline.c (print_completion): New function.
50214
50215 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50216 to HOOK.
50217 All callers changed.
50218
50219 * kern/disk.c (grub_print_partinfo): Removed.
50220
50221 * include/grub/partition.h (struct grub_partition_map): Add a new
50222 argument DISK into HOOK of ITERATE.
50223 (grub_partition_iterate): Add a new argument DISK to HOOK.
50224
50225 * include/grub/normal.h (enum grub_completion_type): New enum.
50226 (grub_completion_type_t): New type.
50227 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50228 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50229 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50230 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50231 (grub_normal_do_completion): Added a new argument HOOK.
50232 (grub_normal_print_device_info): New prototype.
50233
50234 * include/grub/disk.h (grub_print_partinfo): Removed.
50235
50236 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50237 (normal_mod_SOURCES): Likewise.
50238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50239 (normal_mod_SOURCES): Likewise.
50240
50241 * commands/ls.c (grub_ls_list_disks): Use
50242 grub_normal_print_device_info instead of grub_print_partinfo. Free
50243 PNAME.
50244 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50245 duplicating the code.
50246
0bd41162 502472005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50248
50249 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50250 follow GCS more precisely.
50251 * commands/i386/pc/vbe_test.c: Likewise.
50252 * include/grub/i386/pc/vbe.h: Likewise.
50253 * term/i386/pc/vesafb.c: Likewise.
50254 * video/i386/pc/vbe.c: Likewise.
0bd41162 50255
6323696a 502562005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50257
50258 * DISTLIST: Added term/i386/pc/vesafb.c
50259 DISTLIST: Added video/i386/pc/vbe.c
50260 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50261 DISTLIST: Added commands/i386/pc/vbe_test.c.
50262 * commands/i386/pc/vbe_list_modes.c: New file.
50263 * commands/i386/pc/vbe_test.c: Likewise.
50264 * term/i386/pc/vesafb.c: Likewise.
50265 * video/i386/pc/vbe.c: Likewise.
50266 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50267 (grub_vbe_probe) Added prototype.
50268 (grub_vbe_set_video_mode) Likewise.
50269 (grub_vbe_get_video_mode) Likewise.
50270 (grub_vbe_get_video_mode_info) Likewise.
50271 (grub_vbe_set_pixel_rgb) Likewise.
50272 (grub_vbe_set_pixel_index) Likewise.
50273 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50274 (pkgdata_MODULES): Added vesafb.mod.
50275 (pkgdata_MODULES): Added vbe_list_modes.mod.
50276 (pkgdata_MODULES): Added vbe_test.mod.
50277 (vbe_mod_SOURCES): Added.
50278 (vbe_mod_CFLAGS): Likewise.
50279 (vesafb_mod_SOURCES): Likewise.
50280 (vesafb_mod_CFLAGS): Likewise.
50281 (vbe_list_modes_mod_SOURCES): Likewise.
50282 (vbe_list_modes_mod_CFLAGS): Likewise.
50283 (vbe_test_mod_SOURCES): Likewise.
50284 (vbe_test_mod_CFLAGS): Likewise.
50285
0a74e62f 502862005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50287
0a74e62f 50288 * normal/command.c (grub_command_execute): If INTERACTIVE is
50289 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50290 CMDLINE. Disable the pager if INTERACTIVE is true.
50291 All callers are changed.
50292
50293 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50294 before reading a config file.
50295 * normal/main.c (read_config_file): Even if a command is not
50296 found, register it if it is within an entry.
50297
50298 * util/grub-emu.c: Include sys/types.h and unistd.h.
50299 (options): Added --hold.
50300 (struct arguments): Added a new member "hold".
50301 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50302 missing.
50303 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50304 cleared by a debugger, if it is not zero.
50305
50306 * include/grub/normal.h (grub_command_execute): Add an argument
50307 INTERACTIVE.
50308
e51f85ae 503092005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50310
50311 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50312
e9c6f39b 503132005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50314
50315 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50316 program with another one, because the old one didn't detect a bug
50317 in gcc-3.4. Always use regparm 2, because the new test is still
50318 not enough for gcc-4.0. Someone must investigate a simple test
50319 case which detects a bug in gcc-4.0.
50320
8de3495c 503212005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50322
50323 * DISTLIST: Added normal/completion.c.
50324
50325 * normal/completion.c: New file.
f19dbdb7 50326
8de3495c 50327 * term/i386/pc/console.c (grub_console_getwh): New function.
50328 (grub_console_term): Assign grub_console_getwh to getwh.
50329
50330 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50331 function is defined in normal/completion.c as
50332 grub_normal_do_completion.
50333 (grub_cmdline_get): Use grub_normal_do_completion instead of
50334 grub_tab_complete.
50335
50336 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50337 returns non-zero, otherwise return 0.
50338 (grub_partition_iterate): First, probe the partition map. Then,
50339 call ITERATE only for this partition map.
50340
50341 * kern/misc.c (grub_strncmp): Rewritten.
50342
50343 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50344 returns non-zero. Otherwise return 0.
50345
50346 * include/grub/partition.h (grub_partition_map_iterate): Return
50347 int instead of void.
50348
50349 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50350
50351 * include/grub/misc.h (grub_strncmp): Change the type of N to
50352 grub_size_t.
50353
50354 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50355 of void.
50356
50357 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50358 unsigned explicitly before comparing it with I.
8de3495c 50359
50360 * kern/main.c (grub_env_write_root): Add the attribute unused into
50361 VAR.
50362
50363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50364 normal/completion.c.
50365 (normal_mod_SOURCES): Likewise.
50366 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50367 (normal_mod_SOURCES): Likewise.
50368
50369 * normal/command.c (grub_iterate_commands): If ITERATE returns
50370 non-zero, return one immediately.
50371
e85e144b 503722005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50373
50374 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50375 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50376 descriptions.
50377 (grub_vbe_get_controller_info): New function.
50378 (grub_vbe_get_mode_info): Likewise.
50379 (grub_vbe_set_mode): Likewise.
50380 (grub_vbe_get_mode): Likewise.
50381 (grub_vbe_set_memory_window): Likewise.
50382 (grub_vbe_get_memory_window): Likewise.
50383 (grub_vbe_set_scanline_length): Likewise.
50384 (grub_vbe_get_scanline_length): Likewise.
50385 (grub_vbe_set_display_start): Likewise.
50386 (grub_vbe_get_display_start): Likewise.
50387 (grub_vbe_set_palette_data): Likewise.
50388 * include/grub/i386/pc/vbe.h: New file.
50389
c46153d2 503902005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50391
50392 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50393 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50394 * DISTLIST: Likewise.
50395 * kern/ieee1275/of.c: Moved to ...
50396 * kern/ieee1275/ieee1275.c: ... here.
50397
0cb90c45 503982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50399
50400 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50401 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50402 Pass 0 as `end' parameter to grub_strtoul().
50403
a19fb360 504042005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50405
50406 * include/grub/powerpc/ieee1275/console.h: Do not include
50407 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50408 ifdef.
50409 (grub_console_cur_color): Remove i386-specific prototype.
50410 (grub_console_real_putchar): Likewise.
50411 (grub_console_checkkey): Likewise.
50412 (grub_console_getkey): Likewise.
50413 (grub_console_getxy): Likewise.
50414 (grub_console_gotoxy): Likewise.
50415 (grub_console_cls): Likewise.
50416 (grub_console_setcursor): Likewise.
50417 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50418 Include <grub/machine/console.h>.
50419 * term/ieee1275/ofconsole.c: Likewise.
50420
4ac9bd04 504212005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50422
50423 * Makefile.in (LIBLZO): New variable.
50424
50425 * configure.ac: Check for LZO version 2.
50426
50427 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50428 lzo/lzo1x.h instead of lzo1x.h.
50429
50430 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50431 of -llzo.
50432
50433 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50434 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50435
50436 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50437 copying the data from PARTITION to P.
50438
f4917dfd 504392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50440
50441 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50442 negative, unload the module.
50443
50444 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50445 map is "pc_partition_map" but not "pc".
50446 (usage): Fix the description. The options are --boot-image and
50447 --core-image but not --boot-file or --core-file.
50448 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50449 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50450 DEFAULT_DIRECTORY.
50451
50452 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50453 --core-file. Specify INSTALL_DEVICE as an argument.
50454
50455 * util/console.c: Include config.h.
50456 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50457 [HAVE_NCURSES_H]: Include ncurses.h.
50458 [HAVE_CURSES_H]: Include curses.h.
50459 [!A_NORMAL] (A_NORMAL): Defined as zero.
50460 [!A_STANDOUT] (A_STANDOUT): Likewise.
50461
50462 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50463 -lncurses.
50464 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50465
50466 * configure.ac: Check for curses libraries and headers.
50467
50468 * Makefile.in (LIBCURSES): New variable.
50469
50470 * genmk.rb (Script::rule): Set the executable bits.
50471
50472 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50473 name of the PC partition map is "pc_partition_map" but not "pc".
50474
0e143073 504752005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50476
50477 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50478 (modules): Likewise.
50479 (usage): Added descriptions for --modules and --grub-probefs.
50480 Handle --modules and --grub-probefs. Save the arguments in MODULES
50481 and GRUB_PROBEFS, respectively.
50482 Auto-detect a filesystem module against GRUBDIR. If the result is
50483 empty and modules are not specified explicitly, abort the
50484 installation. Add the result to MODULES.
50485
50486 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50487 disk/powerpc/ieee1275/ofdisk.c,
50488 include/grub/powerpc/ieee1275/init.h and
50489 term/powerpc/ieee1275/ofconsole.c.
50490 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50491 term/ieee1275/ofconsole.c.
50492
50493 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50494
50495 * COPYING: Upgraded to the latest version. Only the address of the
50496 FSF office has changed.
f19dbdb7 50497
efd6e6d5 504982005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50499
50500 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50501 kern/ieee1275.c with kern/ieee1275/of.c.
50502
50503 * kern/ieee1275.c: Moved to ...
50504 * kern/ieee1275/of.c: ... here.
50505
8ceafda2 505062005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50507
50508 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50509 readability.
8ceafda2 50510
50511 * config.guess: Updated to the latest version from gnulib.
50512 * config.sub: Likewise.
50513 * install.sh: Likewise.
50514 * mkinstalldirs: Likewise.
50515
50516 * include/grub/console.h: Removed. This file is arch-specific. Do
50517 not put this in include/grub.
50518
50519 * include/grub/i386/pc/console.h: Resurrected.
50520
50521 * util/console.c: Include grub/machine/console.h instead of
50522 grub/console.h.
50523 * util/grub-emu.c: Likewise.
50524
267f6cd9 505252005-08-04 Marco Gerards <metgerards@student.han.nl>
50526
50527 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50528 hardcoded value.
f19dbdb7 50529
267f6cd9 50530 From Vincent Pelletier <subdino2004@yahoo.fr>
50531 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50532 Redefined to use grub_getwh.
50533 (grub_term): New member named getwh.
50534 (grub_getwh): New prototype.
50535 * kern/term.c (grub_getwh): New function.
50536 * term/i386/pc/console.c (grub_console_getwh): New function.
50537 (grub_console_term): New member `getwh'.
50538 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50539 (grub_vga_term): New member `getwh'.
0b5abe02 50540 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50541 grub_ssize_t.
50542 (grub_ofconsole_getw): New function.
50543 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50544 (grub_ofconsole_term): New field named getwh and new initial
50545 value.
50546
3be7266d 505472005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50548
50549 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50550 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50551 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50552 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50553 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50554 of <grub/machine/ieee1275.h>.
50555 * commands/ieee1275/reboot.c: Likewise.
50556 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50557 * kern/ieee1275.c: ... to here. All users updated. Change all
50558 parameter structs to use new type `grub_ieee1275_cell_t'.
50559 * term/powerpc/ieee1275/ofconsole.c: Move ...
50560 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50561 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50562 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50563 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50564 to return int.
50565 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50566 Remove unused prototypes. All users updated.
50567 * include/grub/powerpc/ieee1275/console.h: Removed.
50568 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50569 `grub_ieee1275_cell_t'.
50570 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50571 Cast comparisons with -1 to the correct type.
50572 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50573 type to match `grub_ieee1275_entry_fn'.
50574
8b5f3938 505752005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50576
50577 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50578
50579 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50580 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50581 partmap/sun.c.
50582 (grub_probefs_SOURCES): New variable.
50583
50584 * util/i386/pc/grub-probefs.c: New file.
50585
50586 * util/i386/pc/grub-setup.c (main): Call
50587 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50588 grub_hfs_init and grub_jfs_init to initialize the system. Call
50589 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50590 grub_pc_partition_map_fini to finish the system.
50591
ea409713 505922005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50593
50594 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50595 function.
50596 (grub_multiboot_load_elf32): Likewise.
50597 (grub_multiboot_is_elf64): Likewise.
50598 (grub_multiboot_load_elf64): Likewise.
50599 (grub_multiboot_load_elf): Likewise.
50600 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50601 an ELF32 or ELF64 file.
50602 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50603
50604 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50605 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50606 NULL before calling FS->LABEL.
50607 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50608 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50609 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50610 before calling FS->LABEL.
50611
141a288b 506122005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50613
50614 * util/i386/pc/grub-install.in (datadir): New variable.
50615 (libdir): Removed.
50616 (pkgdatadir): New variable.
50617 (pkglibdir): Removed.
50618
0d5f8a54 506192005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50620
50621 * DISTLIST: Added util/i386/pc/grub-install.in.
50622
50623 * util/i386/pc/grub-install.in: New file.
50624
50625 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50626 (grub_install_SOURCES): Likewise.
50627
50628 * genmk.rb: Added support for scripts.
50629 (Script): New class.
50630 (scripts): New variable.
50631
50632 * Makefile.in (install-local): Install sbin_SCRIPTS by
50633 INSTALL_SCRIPT.
50634 (uninstall): Remove sbin_SCRIPTS.
50635
50636 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50637 device, try to get a GRUB device by
50638 grub_util_biosdisk_get_grub_dev.
50639 Free DEST_DEV.
50640
50641 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50642 description for --device-map.
50643
5f968e1e 506442005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50645
50646 Change the semantics of variable hooks. They now return strings
50647 instead of error values.
f19dbdb7 50648
5f968e1e 50649 * util/i386/pc/grub-setup.c: Include grub/env.h.
50650 (setup): Use grub_device_set_root instead of grub_env_set.
50651
50652 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50653 grub_env_get instead of grub_device_set_root and
50654 grub_device_get_root, respectively.
50655
50656 * kern/main.c (grub_env_write_root): New function.
50657 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50658 grub_env_set instead of grub_device_set_root.
50659
50660 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50661 many variables.
50662 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50663 rather than calling ENV->WRITE_HOOK afterwards.
50664 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50665 passing a pointer of a pointer.
50666 (grub_register_variable_hook): Change the types of "read_hook" and
50667 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50668 respectively.
50669 Allocate the default empty string on the heap, because this string
50670 may be freed later.
50671
50672 * kern/device.c: Include grub/env.h.
50673 (grub_device_set_root): Removed.
50674 (grub_device_get_root): Likewise.
50675 (grub_device_open): Use grub_env_get instead of
50676 grub_device_get_root.
50677
50678 * include/grub/env.h (grub_env_read_hook_t): New type.
50679 (grub_env_write_hook_t): Likewise.
50680 (grub_env_var): Change the types of "read_hook" and "write_hook"
50681 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50682 (grub_register_variable_hook): Likewise.
50683
50684 * include/grub/device.h (grub_device_set_root): Removed.
50685 (grub_device_set_root): Likewise.
50686
50687 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50688 make sure that DIRNAME terminates with '/', so that
50689 grub_fat_find_dir will fail if PATH is not a directory.
50690
50691 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50692 from DIRNAME.
50693 Use the qualifier auto for print_files and print_files_long.
50694 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50695 as a regular file.
50696 Put a newline only if there is no error.
50697 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50698 used.
50699
896f0afd 507002005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50701
50702 * kern/partition.c (grub_partition_probe): Initialize PART to
50703 NULL. Otherwise, when no partition map is registered, this returns
50704 a garbage.
50705
b28b81b2 507062005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50707
50708 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50709 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50710 valid.
50711
5f3607e0 507122005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50713
50714 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50715 information on each device, if it does not have partitions. Print
50716 "Device" instead of "Disk", because this function is not specific
50717 to disk devices.
50718
50719 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50720 static to ensure that it is put on the memory rather than a
50721 register.
50722
502c87e8 507232005-07-17 Yoshinori Okuji <okuji@enbug.org>
50724
50725 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50726 (grub_cat_init): Likewise.
50727 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50728 (options): Likewise.
50729 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50730 (grub_configfile_init): Likewise.
50731 * font/manager.c (GRUB_MOD_INIT): Likewise.
50732 * commands/help.c (GRUB_MOD_INIT): Likewise.
50733 (grub_help_init): Likewise.
50734 * normal/command.c (grub_command_init): Likewise.
50735 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50736 * disk/loopback.c (grub_loop_init): Likewise.
50737 (GRUB_MOD_INIT): Likewise.
50738 * commands/ls.c (grub_ls_init): Likewise.
50739 (GRUB_MOD_INIT): Likewise.
50740 (options): Likewise.
50741 * commands/boot.c (grub_boot_init): Likewise.
50742 (GRUB_MOD_INIT): Likewise.
50743 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50744 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50745 (GRUB_MOD_INIT): Likewise.
50746 * commands/cmp.c (grub_cmp_init): Likewise.
50747 (GRUB_MOD_INIT): Likewise.
50748
50749 * normal/arg.c: Use <> instead of "" to include header files.
50750 (SHORT_ARG_HELP): New macro.
50751 (SHORT_ARG_USAGE): Likewise.
50752 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50753 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50754 descriptions.
50755 (find_short): Check if C is 'h' or 'u' explicitly.
50756 (grub_arg_show_help): Use space characters instead of tabs. Treat
50757 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50758 are shown with --help and --usage only if they are not used for
50759 the command itself.
50760 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50761 'h' and 'u'.
50762
50763 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50764 const into "longarg". Change the type of "shortarg" to int.
50765
f806d18e 507662005-07-17 Yoshinori Okuji <okuji@enbug.org>
50767
50768 * boot/i386/pc/boot.S (boot_drive_check): New label.
50769
50770 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50771 macro.
50772
50773 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50774 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50775
e293232b 507762005-07-17 Yoshinori Okuji <okuji@enbug.org>
50777
50778 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50779 When turning off Gate A20, skip the check and return immediately,
50780 because this is not fatal usually.
50781
ebedfd00 507822005-07-17 Yoshinori Okuji <okuji@enbug.org>
50783
50784 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50785 be 0x7C00 instead of 0x8000.
50786
50787 * boot/i386/pc/pxeboot.S: Rewritten.
50788
50789 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50790 EXT_C.
50791 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50792 result.
50793
654fc59f 507942005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50795
50796 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50797 robustness. This routine now supports a BIOS call and System
50798 Control Port A to modify the gate A20.
50799
50800 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50801 Increased to 0x440.
50802
09f9923f 508032005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50804
50805 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50806 device path and resulting ihandle.
50807 (grub_ofdisk_close): dprintf the ihandle being closed.
50808 (grub_ofdisk_read): dprintf function parameters.
50809 * kern/mm.c (grub_mm_init_region): Likewise.
50810 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50811 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50812 size, and boot arguments.
50813 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50814 before loading into memory.
50815 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50816 before loading into memory.
50817
7ef504d8 508182005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50819
50820 * kern/mm.c: Added much documentation.
50821 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50822 8, set to 5 instead of 8.
50823
e0f050c2 508242005-07-10 Yoshinori Okuji <okuji@enbug.org>
50825
50826 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50827
50828 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50829 (grub_mkdevicemap_SOURCES): New variable.
50830
50831 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50832 lib/device.c of GRUB Legacy.
50833
7224189a 508342005-07-10 Yoshinori Okuji <okuji@enbug.org>
50835
50836 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50837 instead of PATH is NULL.
50838
68c864eb 508392005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50840
50841 * commands/cmp.c (BUFFER_SIZE): New macro.
50842 (grub_cmd_cmp): Close the right file at the right time. Compare
50843 only data just read. Don't report files of different size as
50844 identical. Dynamically allocate buffers. Move variable
50845 declarations at the beginning of function.
50846
e6f3e614 508472005-07-09 Yoshinori Okuji <okuji@enbug.org>
50848
50849 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50850 reverse.
50851
f8f1559a 508522004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50853
50854 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50855 when backspace is pressed at beginning of line.
50856
39c9d41d 508572005-07-03 Yoshinori Okuji <okuji@enbug.org>
50858
50859 * DISTLIST: Added genfslist.sh.
50860
50861 * normal/main.c (fs_module_list): New variable.
50862 (autoload_fs_module): New function.
50863 (read_fs_list): Likewise.
50864 (grub_normal_execute): Call read_fs_list.
50865
50866 * kern/fs.c (grub_fs_autoload_hook): New variable.
50867 (grub_fs_probe): Added support for auto-loading.
50868
50869 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50870 (grub_fs_module_list_t): New type.
50871
50872 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50873 (grub_fs_autoload_hook): New prototype.
50874
50875 * genfslist.sh: New file.
f19dbdb7 50876
39c9d41d 50877 * genmk.rb: Added a rule to generate a filesystem list.
50878
121c1d83 508792005-06-30 Marco Gerards <metgerards@student.han.nl>
50880
50881 * configure.ac: Fix the test for cross-compiling.
50882
50883 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50884 define GRUB_UTIL anymore.
50885
50886 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50887 so this function works on other systems than just big endian.
50888 (load_modules): Likewise.
50889 (add_segments): Likewise.
50890
e75d76e1 508912005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50892
50893 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50894 contains `l' modifier, get a long from va_arg().
50895
50b5a0a7 508962005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50897
50898 * kern/mm.c (grub_free): If the next free block which is being
50899 merged is the first free block, set the first block to the block
50900 being freed.
50901 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50902
89371b20 509032005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50904
50905 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50906 `grub_ieee1275_chosen'.
50907
168d6e58 509082005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50909
50910 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50911 (grub_ieee1275_chosen): New variable.
50912 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50913 `chosen'.
50914 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50916 Rename first argument to `phandle' for consistency.
50917 (grub_ieee1275_get_property_length): Likewise.
50918 (grub_ieee1275_next_property): Likewise. Change type of first argument
50919 to grub_ieee1275_phandle_t.
50920 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50921 Move export next to declaration.
50922 (grub_ieee1275_chosen): New variable.
50923 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50924 Correct cosmetic typo.
50925 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50926 `grub_ieee1275_chosen'.
50927 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50928 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50929 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50930 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50931 `grub_ieee1275_chosen'.
50932
ca5baa3f 509332005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50934
50935 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50936 /chosen/bootargs.
50937 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50938 /chosen/bootargs as "variable=value" pairs.
50939
708b345f 509402005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50941
50942 * include/grub/misc.h (grub_dprintf): New macro.
50943 (grub_real_dprintf): New prototype.
50944 (grub_strword): Likewise.
50945 (grub_iswordseparator): Likewise.
50946 * kern/misc.c (grub_real_dprintf): New function.
50947 (grub_strword): Likewise.
50948 (grub_iswordseparator): Likewise.
50949
f4c5e67c 509502005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50951
50952 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50953 (roundup): Remove macro.
50954 (grub_ieee1275_flags): Make static.
50955 (grub_ieee1275_realmode): Remove.
50956 (grub_ieee1275_test_flag): New function.
50957 (grub_ieee1275_set_flag): Likewise.
50958 (find_options): Rename to `grub_ieee1275_find_options'; update
50959 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50960 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50961 (cmain): New prototype.
50962 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50963 `grub_ieee1275_flags' directly.
50964 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50965 machine/biosdisk.h.
50966 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50967 Don't include grub/machine/init.h.
50968 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50969 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50970 Remove prototype.
50971 (grub_ieee1275_realmode): Likewise.
50972 (grub_ieee1275_flag): New enum.
50973 (grub_ieee1275_test_flag): New prototype.
50974 (grub_ieee1275_set_flag): New prototype.
50975 * include/grub/powerpc/ieee1275/init.h: Remove file.
50976 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50977 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50978 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50979 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50980 comment.
50981 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50982 `grub_ieee1275_test_flag'.
50983 (grub_ieee1275_encode_devname): Likewise.
50984
ed16607e 509852005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50986
50987 * include/grub/powerpc/ieee1275/ieee1275.h
50988 (grub_ieee1275_encode_devname): New prototype.
50989 (grub_ieee1275_get_filename): Likewise.
50990 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50991 function.
50992 (grub_set_prefix): Likewise.
50993 (grub_machine_init): Call grub_set_prefix.
50994 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50995 (grub_parse_type): New enum.
50996 (grub_ieee1275_get_devargs): New function.
50997 (grub_ieee1275_get_devname): Likewise.
50998 (grub_ieee1275_parse_args): Likewise.
50999 (grub_ieee1275_get_filename): Likewise.
51000 (grub_ieee1275_encode_devname): Likewise.
51001
be369920 510022005-03-30 Marco Gerards <metgerards@student.han.nl>
51003
51004 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
51005 `grub_loader_unset'.
51006
a5ce3a4a 510072005-03-26 Hollis Blanchard <hollis@penguinppc.org>
51008
51009 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
51010 instead of grub_ieee1275_interpret.
51011 (grub_halt_init): New function.
51012 (grub_halt_fini): Likewise.
51013 (GRUB_MOD_INIT): Correct message grammar.
51014 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
51015 instead of grub_ieee1275_interpret.
51016 (grub_reboot_init): New function.
51017 (grub_reboot_fini): Likewise.
51018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
51019 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
51020 util/i386/pc/misc.c with commands/ieee1275/halt.c,
51021 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
51022 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
51023 function.
51024 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
51025 Add prototype.
51026 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
51027 prototype.
51028 (grub_halt): Likewise.
51029 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
51030 (cmain): Remove __attribute__((unused)).
51031 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
51032 (grub_heap_len): Likewise.
51033 (grub_machine_fini): New function.
51034 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
51035 (grub_halt): Likewise.
51036 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51037 function.
51038 * util/powerpc/ieee1275/misc.c: New file.
51039
0058f771 510402005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51041
51042 * DISTLIST: New file.
51043 * gendistlist.sh: Likewise.
f19dbdb7 51044
0058f771 51045 * Makefile.in (COMMON_DISTFILES): Removed.
51046 (BOOT_DISTFILES): Likewise.
51047 (CONF_DISTFILES): Likewise.
51048 (DISK_DISTFILES): Likewise.
51049 (FS_DISTFILES): Likewise.
51050 (INCLUDE_DISTFILES): Likewise.
51051 (KERN_DISTFILES): Likewise.
51052 (LOADER_DISTFILES): Likewise.
51053 (TERM_DISTFILES): Likewise.
51054 (UTIL_DISTFILES): Likewise.
51055 (DISTFILES): Likewise.
51056 (uninstall): Uninstall files in $(pkgdata_DATA).
51057 (DISTLIST): New target.
51058 (distdir): Use the contents of the file DISTLIST to get a list of
51059 distributed files.
51060
46b3b8a5 510612005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51062
51063 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51064 descriptor. This is ported from GRUB Legacy.
51065
51066 * gencmdlist.sh: Added an extra semicolon to make it work with
51067 old sed versions. Reported by Robert Bihlmeyer
51068 <robbe@orcus.priv.at>.
51069
5822ff87 510702005-03-08 Yoshinori Okuji <okuji@enbug.org>
51071
51072 Automatic loading of commands is supported.
f19dbdb7 51073
5822ff87 51074 * normal/main.c (read_command_list): New function.
51075 (grub_normal_execute): Call read_command_list.
51076
51077 * normal/command.c (grub_register_command): Return zero or CMD.
51078 Allocate CMD->NAME from the heap.
51079 Initialize CMD->MODULE_NAME to zero.
51080 Find the same name as well. If the same command is found and it is
51081 a dummy command, overwrite members. If it is not a dummy command,
51082 return zero.
51083 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51084 (grub_command_find): If a dummy command is found, load a module
51085 and retry to find a command only once.
51086
51087 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51088 make sure that each command is loaded.
51089
51090 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51091 macro.
51092 (struct grub_command): Remove const from the member `name'.
51093 Add a new member `module_name'.
51094 (grub_register_command): Return grub_command_t.
51095
51096 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51097 sure that each command is loaded.
51098
51099 * genmk.rb (PModule::rule): Specify a module name without the
51100 suffix ".mod" to gencmdlist.sh.
51101
7b1f4b57 511022005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51103
51104 * gencmdlist.sh: New file.
f19dbdb7 51105
7b1f4b57 51106 * genmk.rb (PModule::rule): Generate a rule for a command list.
51107 Clean command.lst.
51108 Generate command.lst from $(COMMANDFILES).
51109
51110 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51111 (DATA): Added $(pkgdata_DATA).
51112 (install-local): Install files in $(pkgdata_DATA).
51113
062aaf39 511142005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51115
51116 * term/i386/pc/vga.c (debug_command): Removed.
51117 (GRUB_MOD_INIT): Do not register the command "debug".
51118
51119 From Hollis Blanchard:
51120 * commands/configfile.c: New file.
51121 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51122 commands/configfile.c.
51123 (pkgdata_MODULES): Added configfile.mod.
51124 (configfile_mod_SOURCES): New variable.
51125 (configfile_mod_CFLAGS): Likewise.
51126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51127 commands/configfile.c.
51128 (pkgdata_MODULES): Added configfile.mod.
51129 (configfile_mod_SOURCES): New variable.
51130 (configfile_mod_CFLAGS): Likewise.
51131 * util/grub-emu.c (main): Call grub_configfile_init and
51132 grub_configfile_fini.
51133 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51134 prototype.
51135 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 51136
cee01aa6 511372005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51138
51139 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51140 address.
51141
51142 * commands/help.c (grub_cmd_help): Do not print newlines after
51143 the last command in print_command_help.
51144
93f3a1d8 511452005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51146
51147 * commands/default.h: New file.
51148 * commands/timeout.h: Likewise.
51149 * normal/context.c: Likewise.
f19dbdb7 51150
93f3a1d8 51151 * util/misc.c: Do not include sys/times.h.
51152 Include sys/time.h and grub/machine/time.h.
51153 (grub_get_rtc): Rewritten with gettimeofday.
51154
51155 * util/grub-emu.c (main): Call grub_default_init and
51156 grub_timeout_init before grub_normal_init, and call
51157 grub_timeout_fini and grub_default_fini after grub_main.
51158
51159 * util/console.c (grub_ncurses_checkkey): Return the read
51160 character or -1.
51161
51162 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51163 timeouts.
51164
51165 * normal/main.c (read_config_file): Push MENU. If this fails,
51166 print an error and wait for a user input.
51167 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51168 If a menu is empty or an error occurs, pop MENU.
51169 (grub_normal_execute): Pop and free MENU after grub_menu_run
51170 returns.
51171
51172 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51173
51174 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51175 include time.h.
51176 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51177 without GRUB_UTIL.
51178 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51179 time.h.
51180 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51181 without GRUB_UTIL.
51182
51183 * include/grub/normal.h (struct grub_menu_list): New struct.
51184 (grub_menu_list_t): New type.
51185 (struct grub_context): New struct.
51186 (grub_context_t): New type.
51187 (grub_register_command): Got rid of EXPORT_FUNC.
51188 (grub_unregister_command): Likewise.
51189 (grub_context_get): New prototype.
51190 (grub_context_get_current_menu): Likewise.
51191 (grub_context_push_menu): Likewise.
51192 (grub_context_pop_menu): Likewise.
51193 [GRUB_UTIL] (grub_default_init): Likewise.
51194 [GRUB_UTIL] (grub_default_fini): Likewise.
51195 [GRUB_UTIL] (grub_timeout_init): Likewise.
51196 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51197
51198 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51199 commands/timeout.c and normal/context.c.
51200 (pkgdata_MODULES): Added default.mod and timeout.mod.
51201 (normal_mod_SOURCES): Added normal/context.c.
51202 (default_mod_SOURCES): New variable.
51203 (default_mod_CFLAGS): Likewise.
51204 (timeout_mod_SOURCES): Likewise.
51205 (timeout_mod_CFLAGS): Likewise.
51206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51207 conf/i386-pc.rmk.
51208 (pkgdata_MODULES): Added default.mod and timeout.mod.
51209 (normal_mod_SOURCES): Added normal/context.c.
51210 (default_mod_SOURCES): New variable.
51211 (default_mod_CFLAGS): Likewise.
51212 (timeout_mod_SOURCES): Likewise.
51213 (timeout_mod_CFLAGS): Likewise.
51214
51215 * Makefile.in (all-local): Added $(MKFILES).
51216
4ed2e1dd 512172005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51218
51219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51220 (grub_emu_SOURCES): Likewise.
51221 (pkgdata_MODULES): Add `sun.mod'.
51222 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51224 `partmap/sun.c'.
51225 (pkgdata_MODULES): Add `sun.mod'.
51226 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51227 * include/grub/partition.h (grub_sun_partition_map_init): New
51228 prototype.
51229 (grub_sun_partition_map_fini): Likewise.
51230 * partmap/sun.c: New file.
51231 * util/grub-emu.c (main): Initialize and de-initialize the sun
51232 partitionmap support.
51233
4d4e372e 512342005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51235
51236 This implements an Emacs-like menu entry editor.
f19dbdb7 51237
4d4e372e 51238 * normal/menu_entry.c: New file.
f19dbdb7 51239
4d4e372e 51240 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51241 characters to ASCII.
51242 (saved_char): New variable.
51243 (grub_ncurses_checkkey): Rewritten completely.
51244 (grub_ncurses_getkey): Likewise.
51245 (grub_ncurses_init): Call raw instead of cbreak.
51246
51247 * normal/menu.c (print_entry): Do not put a space.
51248 (init_page): Renamed to ...
51249 (grub_menu_init_page): ... this. All callers changed.
51250 (edit_menu_entry): Removed.
51251 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51252
51253 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51254
51255 * kern/misc.c (grub_vprintf): Call grub_refresh.
51256
51257 * normal/menu.c (DISP_LEFT): Renamed to ...
51258 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51259 * normal/menu.c (DISP_UP): Renamed to ...
51260 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51261 * normal/menu.c (DISP_RIGHT): Renamed to ...
51262 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51263 * normal/menu.c (DISP_DOWN): Renamed to ...
51264 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51265 * normal/menu.c (DISP_HLINE): Renamed to ...
51266 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51267 * normal/menu.c (DISP_VLINE): Renamed to ...
51268 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51269 * normal/menu.c (DISP_UL): Renamed to ...
51270 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51271 * normal/menu.c (DISP_UR): Renamed to ...
51272 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51273 * normal/menu.c (DISP_LL): Renamed to ...
51274 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51275 * normal/menu.c (DISP_LR): Renamed to ...
51276 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51277 * normal/menu.c (TERM_WIDTH): Renamed to ...
51278 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51279 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51280 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51281 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51282 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51283 * normal/menu.c (TERM_MARGIN): Renamed to ...
51284 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51285 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51286 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51287 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51288 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51289 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51290 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51291 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51292 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51293 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51294 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51295 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51296 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51297 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51298 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51299 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51300 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51301 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51302 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51303 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51304 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51305 All callers changed.
51306
51307 * include/grub/normal.h: New prototype.
51308
51309 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51310 normal/menu_entry.c.
51311 (normal_mod_SOURCES): Likewise.
51312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51313 (normal_mod_SOURCES): Likewise.
51314
e6b92c8a 513152005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51316
51317 * include/grub/normal.h (grub_halt_init): New prototype.
51318 (grub_halt_fini): Likewise.
51319 (grub_reboot_init): Likewise.
51320 (grub_reboot_fini): Likewise.
51321
51322 * util/grub-emu.c: Include signal.h.
51323 (main_env): New global variable.
51324 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51325 catch C-c.
51326 (grub_machine_fini): New function.
51327 (main): Call grub_halt_init and grub_reboot_init before
51328 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51329 Call setjmp with MAIN_ENV to go back afterwards.
51330 Call grub_machine_fini right before return.
51331
51332 * include/grub/util/misc.h: Include setjmp.h.
51333 (main_env): New prototype.
51334
51335 * include/grub/kernel.h (grub_machine_fini): New prototype.
51336 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51337 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51338
51339 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51340 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51341 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51342
e6b92c8a 51343 * util/i386/pc/misc.c: New file.
f19dbdb7 51344
e6b92c8a 51345 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51346 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51347 commands/i386/pc/reboot.c.
51348
c642636f 513492005-02-14 Guillem Jover <guillem@hadrons.org>
51350
51351 * include/grub/dl.h (grub_dl_check_header): New prototype.
51352 (grub_arch_dl_check_header): Change return type to grub_err_t,
51353 remove size parameter and export function. Update all callers.
51354 * kern/dl.c (grub_dl_check_header): New function.
51355 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51356 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51357 are inside the core.
51358 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51359 independent ELF header checks.
51360 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51361 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51362 `grub_dl_check_header' instead of explicit checks. Check for the
51363 ELF type.
51364 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51365 `grub_dl_check_header' instead of explicit checks. Remove arch
51366 specific ELF header checks.
51367
e6b92c8a 51368 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51369 argument SIZE.
51370
5eabe94b 513712005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51372
51373 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51374 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51375
1b14a681 513762005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51377
51378 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51379 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51380 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51381 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51382 * partmap/amiga.c (amiga_partition_map_iterate): Return
51383 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51384 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51385
aca108aa 513862005-02-01 Guillem Jover <guillem@hadrons.org>
51387
51388 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51389 help info.
51390
c9f9c556 513912005-01-31 Marco Gerards <metgerards@student.han.nl>
51392
51393 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51394 Removed prototype.
51395 (grub_rescue_cmd_linux): New prototype.
51396 (grub_rescue_cmd_initrd): Likewise.
51397 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51398 `bi_rec'.
51399 (grub_linux_release_mem): Release the memory for the initrd.
51400 (grub_load_linux): Renamed from this...
51401 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51402 Changed `entry' not to be static. Loop over memory regions to
51403 find another one when the default fails.
51404 (grub_rescue_cmd_initrd): New function.
51405 (grub_linux_init): Remove function.
51406 (grub_linux_fini): Likewise.
51407 (GRUB_MOD_INIT): Register `initrd'.
51408 (GRUB_MOD_FINI): Unregister `initrd'.
51409 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51410 Function removed.
51411 (grub_linux_normal_fini): Likewise.
51412 (GRUB_MOD_INIT): Register `initrd'.
51413 (GRUB_MOD_FINI): Unregister `initrd'.
51414
990cf3aa 514152005-01-31 Marco Gerards <metgerards@student.han.nl>
51416
51417 * commands/help.c: New file.
51418 * normal/arg.c (show_help): Renamed to...
51419 (grub_arg_show_help): ... this.
51420 * commands/i386/pc/halt.c: New file.
51421 * commands/i386/pc/reboot.c: Likewise.
51422 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51423 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51424 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51425 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51426 variables.
51427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51428 `commands/help.c'.
51429 (pkgdata_MODULES): Add `help.mod'.
51430 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51431 * grub/i386/pc/init.h (grub_reboot): New prototype.
51432 (grub_halt): Likewise.
51433 * include/grub/normal.h (grub_arg_show_help): New prototype.
51434 (grub_help_init): Likewise.
51435 (grub_help_fini): Likewise.
51436 * util/grub-emu.c (main): Initialize and deinitialize the help
51437 command.
51438
51439 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51440
51441 * normal/command.c (grub_command_init): Fixed the description of
51442 the `set' and `unset' commands.
51443
514442005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51445
51446 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51447 function.
51448 * commands/ieee1275/halt.c: New file.
51449 * commands/ieee1275/reboot.c: Likewise.
51450 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51451 `__attribute__ ((unused))'. Some GCS related fixed.
51452 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51453 (grub_suspend_fini): Likewise.
51454 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51455 and `halt.mod'.
51456 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51457 (halt_mod_CFLAGS): New variables.
51458 * include/grub/powerpc/ieee1275/ieee1275.h
51459 (grub_ieee1275_interpret): New prototype.
51460
1ab09cc7 514612005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51462
51463 * include/grub/misc.h (memmove): New prototype.
51464 (memcpy): Likewise.
51465
8b8cbdb2 514662005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51467
51468 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51469 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51470
e3741a27 514712005-01-22 Marco Gerards <metgerards@student.han.nl>
51472
51473 * kern/misc.c (grub_strndup): Function rewritten.
51474
776bd780 514752005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51476
51477 * normal/menu.c (TERM_WIDTH): Macro redefined.
51478 (TERM_TOP_BORDER_Y): Likewise.
51479 (draw_border): Replaced while-loop by a for-loop. Make the number
51480 of lines consistent with the number of lines displayed in
51481 print_entries. Added a margin below the rectangle.
51482 (print_entry): Make the entry fit in the rectangle.
51483 (print_entries): Display the scroll arrows next to the right
51484 border.
51485
78026bce 514862005-01-21 Marco Gerards <metgerards@student.han.nl>
51487
51488 * fs/minix.c (grub_minix_find_file): Reserve more space for
51489 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51490 `grub_strncpy' to copy `path' into it.
51491
67bbaf0f 514922005-01-21 Marco Gerards <metgerards@student.han.nl>
51493
51494 Add the loopback device, a device via which files can be accessed
51495 as devices.
f19dbdb7 51496
67bbaf0f 51497 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51498 (pkgdata_MODULES): Add loopback.mod.
51499 (loopback_mod_SOURCES): New variable.
51500 (loopback_mod_CFLAGS): Likewise.
51501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51502 `disk/loopback.c'.
51503 (pkgdata_MODULES): Add loopback.mod.
51504 (loopback_mod_SOURCES): New variable.
51505 (loopback_mod_CFLAGS): Likewise.
51506 * disk/loopback.c: new file.
51507 * include/grub/normal.h (grub_loop_init): New prototype.
51508 (grub_loop_fini): New prototype.
51509 * util/grub-emu.c (main): Initialize and de-initialize loopback
51510 support.
51511 * include/grub/disk.h (grub_disk_dev_id): Add
51512 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51513
6f1c18bd 515142005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51515
51516 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51517 function.
51518 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51519 (suspend_mod_SOURCES): New variable.
51520 (suspend_mod_CFLAGS): Likewise.
51521 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51522 New prototype.
51523 * commands/ieee1275/suspend.c: New file.
51524
b38551da 515252005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51526
51527 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51528 ((unused))' to `__attribute__ ((used))'.
b38551da 51529 (GRUB_MOD_FINI): Likewise.
51530 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51531 * genmk.rb (PModule): Assign space to common symbols when linking
51532 modules.
51533
777aff39 515342005-01-20 Marco Gerards <metgerards@student.han.nl>
51535
51536 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51537 `unsigned' arguments to `grub_size_t'.
51538 (grub_malloc): Likewise.
51539 (grub_realloc): Likewise.
51540 (grub_memalign): Likewise.
51541 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51542 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51543 * util/misc.c (grub_malloc): Likewise.
51544 (grub_realloc): Likewise.
51545 * kern/mm.c (get_header_from_pointer): Change the casts to
51546 `unsigned' into a cast to `grub_size_t'.
51547
51548 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51549 point to `currnode' when `currnode' is changed.
51550
51551 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51552 Schottelius <nico-linux@schottelius.org>.
51553
d0ff18e1 515542005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51555
51556 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51557 (note_path): Remove variable.
51558 (GRUB_IEEE1275_NOTE_NAME): New macro.
51559 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51560 (grub_ieee1275_note_hdr): New structure.
51561 (grub_ieee1275_note_desc): Likewise.
51562 (grub_ieee1275_note): Likewise.
51563 (load_note): Remove `dir' argument. All callers updated. Remove
51564 `note_img' and `path'. Do not load a file from `note_path'.
51565 Initialize a struct grub_ieee1275_note and write that to `out'.
51566 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51567
4ca7004c 515682005-01-05 Marco Gerards <metgerards@student.han.nl>
51569
51570 * util/misc.c (grub_util_read_image): Revert last change. It
51571 called `grub_util_read_at', which seeks from the beginning of the
51572 file.
51573
0b412211 515742005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51575
51576 * TODO: Add note about endianness in grub-mkimage.
51577 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51578 section.
51579 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51580 (grub_mkimage_SOURCES): New target.
51581 * include/grub/kernel.h (grub_start_addr): Remove variable.
51582 (grub_end_addr): Likewise.
51583 (grub_total_module_size): Likewise.
51584 (grub_kernel_image_size): Likewise.
51585 (GRUB_MODULE_MAGIC): New constant.
51586 (grub_module_info): New structure.
51587 (grub_arch_modules_addr): New prototype.
51588 (grub_get_end_addr): Remove prototype.
51589 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51590 * include/grub/powerpc/ieee1275/kernel.h: New file.
51591 * include/grub/util/misc.h (grub_util_get_fp_size): New
51592 prototype.
51593 (grub_util_read_at): Likewise.
51594 (grub_util_write_image_at): Likewise.
51595 * kern/main.c (grub_get_end_addr): Remove function.
51596 (grub_load_modules): Call grub_arch_modules_addr instead of using
51597 grub_end_addr. Look for a grub_module_info struct in memory. Use
51598 the grub_module_info fields instead of calling grub_get_end_addr
51599 as loop conditions. Move grub_add_unused_region code here.
51600 (grub_add_unused_region): Remove function.
51601 * kern/i386/pc/init.c: Include grub/cache.h.
51602 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51603 one call to add_mem_region.
51604 (grub_arch_modules_addr): New function.
51605 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51606 (grub_total_module_size): Likewise.
51607 Include grub/machine/kernel.h.
51608 (grub_arch_modules_addr): New function.
51609 * util/grub-emu.c (grub_end_addr): Remove variable.
51610 (grub_total_module_size): Likewise.
51611 (grub_arch_modules_addr): New function.
51612 * util/misc.c: Include unistd.h.
51613 (grub_util_get_fp_size): New function.
51614 (grub_util_read_at): Likewise.
51615 (grub_util_write_image_at): Likewise.
51616 (grub_util_read_image): Call grub_util_read_at.
51617 (grub_util_write_image): Call grub_util_write_image_at.
51618 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51619 additional memory in kernel_img for a struct grub_module_info.
51620 Fill in that grub_module_info.
51621 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51622
458786f8 516232005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51624
51625 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51626 New function.
51627 * include/grub/powerpc/ieee1275/ieee1275.h
51628 (grub_ieee1275_milliseconds): New prototype.
51629 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51630 Change to 1000.
51631 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51632 grub_ieee1275_milliseconds.
51633
ac507d1b 516342005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51635
51636 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51637 variable.
51638 (find_options): New function.
51639 (cmain): Call find_options.
51640 * include/grub/powerpc/ieee1275/ieee1275.h
51641 (grub_ieee1275_realmode): New extern variable.
51642 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51643 grub_map if grub_ieee1275_realmode is false.
51644
6b8fd1c4 516452004-12-29 Marco Gerards <metgerards@student.han.nl>
51646
51647 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51648 lines are inserted and make it work like readline. Reported by
51649 Vincent Pelletier <subdino2004@yahoo.fr>.
51650
8514a1e0 516512004-12-28 Marco Gerards <metgerards@student.han.nl>
51652
51653 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51654
51655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51656 `kern/powerpc/cache.S'.
51657
924b6140 516582004-12-27 Marco Gerards <metgerards@student.han.nl>
51659
51660 * genmk.rb: Handle the `Program' class in the main loop. Written
51661 by Johan Rydberg <jrydberg@gnu.org>.
51662 (Program): New class.
51663 (programs): New variable.
51664 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51665 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51666 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51667 (help_arch): Function removed.
51668 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51669 `powerpc/libgcc.h' and `loader.h'.
51670 (pkgdata_PROGRAMS): New variable.
51671 (sbin_UTILITIES): Variable removed.
51672 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51673 (grubof_SOURCES): Variable re-defined so it only includes the
51674 core functionality.
51675 (grubof_CFLAGS): Remove `-DGRUBOF'.
51676 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51677 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51678 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51679 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51680 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51681 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51682 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51683 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51684 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51685 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51686 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51687 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51688 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51689 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51690 (pc_mod_CFLAGS): New variables.
51691 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51692 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51693 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51694 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51695 Moved from here...
51696 * include/grub/i386/pc/init.h (grub_os_area_addr)
51697 (rub_os_area_size): ... to here.
51698 * include/grub/powerpc/ieee1275/ieee1275.h
51699 (grub_ieee1275_entry_fn): Export symbol.
51700 * include/grub/powerpc/ieee1275/init.h: New file.
51701 * include/grub/powerpc/libgcc.h: Likewise.
51702 * include/grub/cache.h: Likewise.
51703 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51704 <hollis@penguinppc.org>.
51705 * kern/dl.c: Include <grub/cache.h>.
51706 (grub_dl_flush_cache): New function.
51707 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51708 for this module.
51709 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51710 (grub_console_init): Removed prototypes.
51711 (grub_machine_init): Don't initialize the modules anymore.
51712 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51713 static.
51714 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51715 Macro undef removed.
51716 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51717 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51718 relocation `R_PPC_REL32'. Return an error when the relocation is
51719 unknown.
51720 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51721 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51722 * util/misc.c (grub_arch_sync_caches): Likewise.
51723
e4b47e0c 517242004-12-19 Marco Gerards <metgerards@student.han.nl>
51725
51726 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51727 `symlist.c', add `grubof_symlist.c'.
51728 (symlist.c): Variable removed.
51729 (grubof_HEADERS): Variable added.
51730 (grubof_symlist.c): New target.
51731 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51732 `kernel_img_HEADERS'.
51733 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51734 * kern/powerpc/dl.c: New file.
51735 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51736 Function removed.
51737 (grub_arch_dl_relocate_symbols): Likewise.
51738 (grub_register_exported_symbols): Likewise.
51739
4ceb3636 517402004-12-13 Marco Gerards <metgerards@student.han.nl>
51741
51742 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51743 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51744 to fail instead. Reported by Vincent Pelletier
51745 <subdino2004@yahoo.fr>.
51746
51747 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51748 it is not allocated. Reported by Vincent Pelletier
51749 <subdino2004@yahoo.fr>.
51750
51751 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51752 output so the output looks better.
f19dbdb7 51753
3f1578fe 517542004-12-04 Marco Gerards <metgerards@student.han.nl>
51755
51756 Modulize the partition map support and add support for the amiga
51757 partition map.
f19dbdb7 51758
3f1578fe 51759 * commands/ls.c: Include <grub/partition.h> instead of
51760 <grub/machine/partition.h>.
51761 * kern/disk.c: Likewise.
51762 * kern/rescue.c: Likewise.
51763 * loader/i386/pc/chainloader.c: Likewise.
51764 * normal/cmdline.c: Likewise.
51765 * kern/powerpc/ieee1275/init.c: Likewise.
51766 (grub_machine_init): Call `grub_pc_partition_map_init',
51767 `grub_amiga_partition_map_init' and
51768 `grub_apple_partition_map_init'.
51769 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51770 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51771 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51772 `partition.h' and `pc_partition.h'.
51773 (grub_setup_SOURCES): Remove
51774 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51775 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51776 (grub_emu_SOURCES): Likewise.
51777 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51778 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51779 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51781 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51782 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51783 (grubof_SOURCES): Likewise.
51784 * disk/i386/pc/partition.c: File removed.
51785 * disk/powerpc/ieee1275/partition.c: Likewise.
51786 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51787 * include/grub/i386/pc/partition.h: Likewise.
51788 * kern/partition.c: New file.
51789 * partmap/amiga.c: Likewise.
51790 * partmap/apple.c: Likewise.
51791 * partmap/pc.c: Likewise.
51792 * include/grub/partition.h: Likewise..
51793 * include/grub/pc_partition.h: Likewise.
51794 * util/grub-emu.c: Include <grub/partition.h> instead of
51795 <grub/machine/partition.h>.
51796 (main): Call `grub_pc_partition_map_init',
51797 `grub_amiga_partition_map_init' and
51798 `grub_apple_partition_map_init' and deinitialize afterwards.
51799 * util/i386/pc/biosdisk.c: Include `#include
51800 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51801 `<grub/machine/partition.h>'.
51802 * util/i386/pc/grub-setup.c: Likewise.
51803 * util/i386/pc/biosdisk.c: Likewise.
51804 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51805 partition information in case of a PC partition.
51806 * util/i386/pc/grub-setup.c: Include `#include
51807 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51808 `<grub/machine/partition.h>'.
51809 (setup): Only access the PC specific partition information in case
51810 of a PC partition.
51811
0ef4ced9 518122004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51813
0ef4ced9 51814 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51815 (grub_longjmp): Likewise.
51816 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51817 20.
51818 * normal/powerpc/setjmp.S: New file.
51819 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51820 `normal/powerpc/setjmp.S'.
51821 (grubof_CFLAGS): Add `-DGRUBOF'.
51822 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51823 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51824
19950e29 518252004-11-16 Marco Gerards <metgerards@student.han.nl>
51826
51827 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51828 property named `name'. Correctly handle the error returned by
51829 `grub_ieee1275_finddevice' if a device can not be opened.
51830
a2fea427 518312004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51832
51833 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51834 `actual' for negativity.
51835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51836 kern/fshelp.c.
51837
41ea0ea3 518382004-11-01 Marco Gerards <metgerards@student.han.nl>
51839
51840 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51841 (PAGE_OFFSET): New macro.
51842 (CRTC_ADDR_PORT): Likewise.
51843 (CRTC_DATA_PORT): Likewise.
51844 (START_ADDR_HIGH_REGISTER): Likewise.
51845 (START_ADDR_LOW_REGISTER): Likewise.
51846 (GRAPHICS_ADDR_PORT): Likewise.
51847 (GRAPHICS_DATA_PORT): Likewise.
51848 (READ_MAP_REGISTER): Likewise.
51849 (INPUT_STATUS1_REGISTER): Likewise.
51850 (INPUT_STATUS1_VERTR_BIT): Likewise.
51851 (page): New variable.
51852 (wait_vretrace): New function.
51853 (set_read_map): Likewise.
51854 (set_start_address): Likewise.
51855 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51856 the right page.
51857 (check_vga_mem): Take the page into account.
51858 (write_char): Likewise.
51859 (write_cursor): Likewise.
51860 (scroll_up): Likewise. Copy the page to the page that is not
51861 shown and switch between both pages.
51862 (grub_vga_putchar): Fix off by one error.
51863 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51864 account.
51865
ad0bd20b 518662004-11-01 Marco Gerards <metgerards@student.han.nl>
51867
51868 Add support for iso9660 (including rockridge).
f19dbdb7 51869
ad0bd20b 51870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51871 (iso9660_mod_SOURCES): New variable.
51872 (iso9660_mod_CFLAGS): Likewise.
51873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51874 * include/grub/fs.h (grub_iso9660_init): New prototype.
51875 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51876 * fs/iso9660.c: New file.
51877
51878 * include/grub/misc.h (grub_strncat): New prototype.
51879 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51880
ad0bd20b 51881 * fs/hfs.c (grub_hfs_mount): Translate the error
51882 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51883 * fs/jfs.c (grub_jfs_mount): Likewise.
51884 * fs/ufs.c (grub_ufs_mount): Likewise.
51885
a5477a59 518862004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51887
51888 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51889 which initialized BAT registers.
51890 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51891 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51892 Move from here...
51893 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51894 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51895 ... to here.
51896 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51897 (grub_mapclaim): Likewise.
51898 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51899 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51900 hand.
51901
9304c1f8 519022004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51903
51904 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51905 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51906 -ffreestanding and -msoft-float.
51907
86f4ae25 519082004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51909
51910 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51911 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51912 set in grub_ieee1275_flags.
51913
38912228 519142004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51915
51916 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51917 prototype.
51918 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51919 grub_console_init first.
51920 Change the memory range used for grub_ieee1275_claim and
51921 grub_mm_init_region.
51922 Print an error message if the claim fails.
51923 Include <grub/misc.h>.
51924
d1923dc8 519252004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51926
51927 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51928 Call grub_children_iterate for device nodes of type `scsi',
51929 `ide', or `ata'.
51930 (grub_ofdisk_open): Remove manual device alias resolution.
51931 Fix memory leak when device cannot be opened.
f19dbdb7 51932 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51933 (grub_children_iterate): New prototype.
51934 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51935 New function.
51936 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51937 Return -1 if args.size was -1.
51938
4512e4f3 519392004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51940
51941 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51942 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51943 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51944 Open Firmware's memory for it; claim memory from _start to _end.
51945 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51946 (_end): New extern.
51947 (_start): Zero BSS from __bss_start to _end.
51948 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51949 New extern.
51950 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51951
4d61feb0 519522004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51953
ad0bd20b 51954 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51955 -1 if args.base was -1.
4d61feb0 51956
026fa2f9 519572004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51958
51959 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51960 escape sequence instead of a literal ^L. Also call
51961 grub_ofconsole_gotoxy.
51962
9f2220ef 519632004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51964
51965 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51966 void * arguments to grub_addr_t. All callers updated. Also make
51967 the `result' argument optional.
51968 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51969 All callers updated.
51970
8a572cd7 519712004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51972
51973 * commands/ls.c (grub_ls_list_files): Use the string following the
51974 initial ')', if present, as the filesystem path.
51975 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51976
51977 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51978
18aa81f2 519792004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51980
51981 Make the source code of the menu interface more readable.
f19dbdb7 51982
18aa81f2 51983 * normal/menu.c: Include grub/mm.h.
51984 (TERM_WIDTH): New macro.
51985 (TERM_HEIGHT): Likewise.
51986 (TERM_INFO_HEIGHT): Likewise.
51987 (TERM_MARGIN): Likewise.
51988 (TERM_SCROLL_WIDTH): Likewise.
51989 (TERM_TOP_BORDER_Y): Likewise.
51990 (TERM_LEFT_BORDER_X): Likewise.
51991 (TERM_BORDER_WIDTH): Likewise.
51992 (TERM_MESSAGE_HEIGHT): Likewise.
51993 (TERM_BORDER_HEIGHT): Likewise.
51994 (TERM_NUM_ENTRIES): Likewise.
51995 (TERM_FIRST_ENTRY_Y): Likewise.
51996 (TERM_ENTRY_WIDTH): Likewise.
51997 (TERM_CURSOR_X): Likewise.
51998 (draw_border): Use macros instead of magic numbers.
51999 (print_entry): Likewise.
52000 (print_entries): Likewise.
52001 (run_menu): Likewise. Also, handle the key 'e'.
52002 (run_menu_entry): Ignore empty command lines.
52003 (print_message): Added a new argument EDIT. If EDIT is true,
52004 print a different message.
52005 (init_page): Likewise.
52006 (edit_menu_entry): New function. Not implemented yet.
52007
b47efe30 520082004-09-17 Marco Gerards <metgerards@student.han.nl>
52009
52010 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
52011 can be loaded from normal mode.
f19dbdb7 52012
b47efe30 52013 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
52014 `multiboot.mod'.
52015 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
52016 (multiboot_mod_CFLAGS): New variables.
52017 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 52018 * loader/i386/pc/multiboot_normal.c: Likewise.
52019
b47efe30 52020 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
52021 attribute `unused'.
f19dbdb7 52022
b47efe30 52023 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
52024 `fdiro' to read the mode information from instead of `diro'.
52025
52026 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
52027 looking up a symlink.
52028
52029 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
52030 macro.
52031 * normal/command.c (grub_command_execute): Don't parse the
52032 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
52033 flags of the command.
52034
52035 * normal/menu.c (grub_menu_run): Fix typo.
52036
da75ac71 520372004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52038
52039 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52040
52041 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52042 `y + 1' instead of `y - 1'.
52043
52044 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 52045
062b24c2 520462004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52047
52048 From Hollis Blanchard <hollis@penguinppc.org>:
52049 * kern/misc.c (memmove): New alias for grub_memmove.
52050 (memcmp): New alias for grub_memcmp.
52051 (memset): New alias for grub_memset.
f19dbdb7 52052 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 52053 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 52054 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 52055 (grub_ieee1275_get_property): Likewise.
f19dbdb7 52056
8ddad845 520572004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52058
52059 Added normal mode command `chainloader' as module chain.mod, which
52060 depends on normal.mod and _chain.mod.
f19dbdb7 52061
8ddad845 52062 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52063 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52064 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52065 Deleted prototype.
52066 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52067 but arguments parsing moved to ...
52068 (grub_chainloader_cmd): ... here. New function.
52069 * include/grub/i386/pc/chainloader.h: New file.
52070 * loader/i386/pc/chainloader_normal.c: Likewise.
52071
2c1f4ce3 520722004-09-11 Marco Gerards <metgerards@student.han.nl>
52073
52074 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52075 (grub_mkimage_LDFLAGS): Likewise.
52076 (grub_emu_SOURCES): Likewise.
52077 (kernel_img_HEADERS): Added fshelp.h.
52078 * fs/ext2.c: Include <grub/fshelp.h>.
52079 (FILETYPE_REG): New macro.
52080 (FILETYPE_INO_REG): Likewise.
52081 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52082 Changed all users.
52083 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52084 all users.
52085 (grub_fshelp_node): New struct.
52086 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52087 to a pointer.
52088 (grub_ext2_get_file_block): Removed function.
52089 (grub_ext2_read_block): New function.
52090 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52091 This function was written.
52092 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52093 (grub_ext2_find_file): Removed function.
52094 (grub_ext2_read_symlink): New function.
52095 (grub_ext2_iterate_dir): Likewise.
52096 (grub_ext2_open): Rewritten.
52097 (grub_ext2_dir): Rewritten.
52098 * include/grub/fshelp.h: New file.
52099 * fs/fshelp.c: Likewise.
52100
3c52136a 521012004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52102
52103 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52104 (print_message): Add a missing newline.
52105 (run_menu): Added timeout support.
52106 (run_menu_entry): New local function.
52107 (grub_menu_run): Added support for booting.
52108
52109 * kern/loader.c (grub_loader_is_loaded): New function.
52110
52111 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52112 (grub_get_rtc): Exported.
52113
52114 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52115 (grub_get_rtc): Exported.
52116
52117 * include/grub/normal.h (struct grub_command_list): Remove
52118 constant from the member `command'.
52119
52120 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52121
52122 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52123
52124 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52125
aa033560 521262004-08-28 Marco Gerards <metgerards@student.han.nl>
52127
52128 Add support for the JFS filesystem.
52129
52130 * fs/jfs.c: New file.
52131 * include/grub/fs.h (grub_jfs_init): New prototype.
52132 (grub_jfs_fini): New prototype.
52133 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52134 (grub_emu_SOURCES): Likewise.
52135 (pkgdata_MODULES): Add jfs.mod.
52136 (jfs_mod_SOURCES): New variable.
52137 (jfs_mod_CFLAGS): Likewise.
52138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52139 (grubof_SOURCES): Likewise.
52140 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52141
52142 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52143 endian to the host endian.
52144 (grub_fat_utf16_to_utf8): Move function from there...
52145 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 52146 the endianness of the source string anymore.
aa033560 52147 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52148
94bc45af 521492004-08-24 Marco Gerards <metgerards@student.han.nl>
52150
52151 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52152 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52153 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52154 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 52155
94bc45af 52156 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52157 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52158 for `node_found' and `it_dir'.
52159 (grub_hfs_dir): Add prototype for `dir_hook'.
52160
52161 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52162 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52163 and `indir32' to silence a gcc warning.
52164
52165 * include/grub/fs.h (grub_hfs_init): New prototype.
52166 (grub_hfs_fini): Likewise.
f19dbdb7 52167
52168
97543f08 521692004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52170
52171 Each disk device has its own id now. This is useful to make use
52172 of multiple disk devices.
f19dbdb7 52173
97543f08 52174 * include/grub/disk.h (grub_disk_dev_id): New enum.
52175 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52176 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52177
52178 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52179 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52180
52181 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52182 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52183
52184 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52185 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52186
52187 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52188 "id" which is used by the cache manager.
52189
52190 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52191 of just "GRUB".
52192
64372eb4 521932004-08-18 Marco Gerards <metgerards@student.han.nl>
52194
52195 * fs/hfs.c: New file.
52196 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52197 (grub_emu_SOURCES): Likewise.
52198 (pkgdata_MODULES): Add hfs.mod.
52199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52200 (grubof_SOURCES): Likewise.
52201 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52202
52203 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52204 * kern/misc.c (grub_strncasecmp): Add function.
52205
cc61b58f 522062004-08-14 Marco Gerards <metgerards@student.han.nl>
52207
52208 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52209 with parentheses.
52210
52211 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52212 (grub_ext2_dir): In case the directory entry type is unknown, read
52213 it from the inode.
52214
0ef123f6 522152004-08-02 Peter Bruin <pjbruin@dds.nl>
52216
52217 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52218 grub_load_linux instead of grub_rescue_cmd_linux as second
52219 argument of grub_rescue_register_command.
52220
52221 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52222
a447c5df 522232004-07-27 Marco Gerards <metgerards@student.han.nl>
52224
52225 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52226 function.
52227 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52228 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52229 `loader/powerpc/ieee1275/linux.c',
52230 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52231 * include/grub/powerpc/ieee1275/ieee1275.h
52232 (grub_ieee1275_release): New prototype.
52233 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52234 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52235 normal, boot, linux and linux_normal.
52236 * loader/powerpc/ieee1275/linux.c: New file.
52237 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52238
5a9e3546 522392004-07-12 Marco Gerards <metgerards@student.han.nl>
52240
52241 * normal/arg.c (grub_arg_parse): Correct error handling after
52242 reallocating the argumentlist (check if `argl' is not null instead
52243 of checking if `args' is not null).
52244 * kern/mm.c (grub_realloc): Return the same pointer when using the
52245 same region, instead of returning the header address.
52246
e15199cb 522472004-07-11 Marco Gerards <metgerards@student.han.nl>
52248
52249 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52250 one block instead of two when looking for the initial partition.
52251 (grub_partition_probe): Initialize the local variable `p' with 0.
52252 Use base 10 for the grub_strtoul call.
52253 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52254 need for one local variable.
52255 (grub_strtoul): Don't add the new value to `num', instead of that
52256 just assign it.
52257
020616c2 522582004-07-11 Marco Gerards <metgerards@student.han.nl>
52259
52260 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52261 (pxeboot_img_SOURCES): New variable.
52262 (pxeboot_img_ASFLAGS): Likewise.
52263 (pxeboot_img_LDFLAGS): Likewise.
52264 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52265 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52266 <lode_leroy@hotmail.com>.
52267
6c51eb64 522682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52269
52270 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52271 there was no input.
52272
cfb12aff 522732004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52274
52275 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52276 the history buffer logic.
52277
6eabba74 522782004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52279
52280 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52281 (FILETYPE_INO_SYMLINK): New macros.
52282 (grub_ext2_find_file): Check if the node is a directory using the
52283 inode stat information instead of using the filetype in the
52284 dirent. Exclude the first character of an absolute symlink.
52285 (grub_ext2_dir): Mask out the filetype part of the mode member of
52286 the inode.
52287
66e19ef8 522882004-05-24 Marco Gerards <metgerards@student.han.nl>
52289
52290 Add support for UFS version 1 and 2. Add support for the minix
52291 filesystem version 1 and 2, both the variants with 14 and 30 long
52292 filenames.
f19dbdb7 52293
66e19ef8 52294 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52295 fs/minix.c.
52296 (grub_emu_SOURCES): Likewise.
52297 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52298 (ufs_mod_SOURCES): New variable.
52299 (ufs_mod_CFLAGS): Likewise.
52300 (minix_mod_SOURCES): Likewise.
52301 (minix_mod_CFLAGS): Likewise.
52302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52303 fs/minix.c.
52304 (grubof_SOURCES): Likewise.
52305 * fs/ufs.c: New file.
52306 * fs/minix.c: New file.
52307 * include/grub/fs.h (grub_ufs_init): New prototype.
52308 (grub_ufs_fini): Likewise.
52309 (grub_minix_init): Likewise.
52310 (grub_minix_fini): Likewise.
52311 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52312 minix fs.
52313
cc2e748a 523142004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52315
52316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52317 commands/ls.c, commands/terminal.c, commands/boot.c,
52318 commands/cmp.c and commands/cat.c.
52319 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52320
52321 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52322 "env.h"
52323
4b13b216 523242004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52325
52326 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52327 and grub_, respectively. Because the conversion is trivial and
52328 mechanical, I omit the details here. Please refer to the CVS
52329 if you need more information.
52330
6a142551 523312004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52332
52333 * include/pupa: Renamed to ...
52334 * include/grub: ... this.
52335 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52336 * util/i386/pc/grub-mkimage.c: ... this.
52337 * util/i386/pc/pupa-setup.c: Renamed to ...
52338 * util/i386/pc/grub-setup.c: ... this.
52339 * util/pupa-emu.c: Renamed to ...
52340 * util/grub-emu.c: ... this.
52341
e56cdf21 523422004-03-29 Marco Gerards <metgerards@student.han.nl>
52343
52344 Add support for the newworld apple macintosh (PPC). This has been
52345 tested on the powerbook 2000 only. It only adds support for
52346 generic ieee1275 functions, console and disk support. This should
52347 be easy to port to other architectures with support for Open
52348 Firmware.
f19dbdb7 52349
e56cdf21 52350 * configure.ac: Accept the powerpc as host_cpu. In the case of
52351 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52352 specific tests are only executed while building for the i386.
52353 Inverse test for crosscompile.
52354 * genmk.rb (Utility): Allow assembler files.
52355 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52356 * conf/powerpc-ieee1275.rmk: New file.
52357 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52358 * disk/powerpc/ieee1275/partition.c: Likewise.
52359 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52360 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52361 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52362 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52363 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52364 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52365 * include/pupa/powerpc/ieee1275/loader.h
52366 * include/pupa/powerpc/setjmp.h: Likewise.
52367 * include/pupa/powerpc/types.h: Likewise.
52368 * kern/powerpc/ieee1275/init.c: Likewise.
52369 * kern/powerpc/ieee1275/openfw.c: Likewise.
52370 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52371
52372 These files were written by Johan Rydberg
52373 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52374
e56cdf21 52375 * boot/powerpc/ieee1275/cmain.c: New file.
52376 * boot/powerpc/ieee1275/crt0.S: Likewise.
52377 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52378 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52379
8c8cc205 523802004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52381
52382 * Makefile.in: Update copyright.
52383 * genmodsrc.sh: Likewise.
52384 * gensymlist.sh: Likewise.
52385 * term/i386/pc/vga.c: Indent correctly.
52386
52387 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52388 bugreporting address.
52389 * util/i386/pc/pupa-setup.c (usage): Likewise,
52390 (main): Call pupa_ext2_init and pupa_ext2_fini.
52391
f19dbdb7 52392 * fs/fat.c (log2): Renamed to ...
8c8cc205 52393 (fat_log2): ... this.
52394 All callers changed.
52395 * kern/misc.c (memcpy): Alias to pupa_memmove.
52396 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52397 lvalue cast.
52398 * util/console.c (pupa_ncurses_fini): Return 0.
52399
52400 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52401 Move fail label here.
52402 [__GNU__]: Don't warn when using stat.
52403 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52404 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52405 long int. Use strtol instead of strtoul.
f19dbdb7 52406
db1771cf 524072004-03-14 Marco Gerards <metgerards@student.han.nl>
52408
52409 * commands/boot.c: New file.
52410 * commands/cat.c: Likewise.
52411 * commands/cmp.c: Likewise.
52412 * commands/ls.c: Likewise.
52413 * commands/terminal.c: Likewise.
52414 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52415 (pupa_register_command): Changed interface to match the new
52416 argument parser.
52417 (pupa_command_execute): Changed (almost rewritten) so it uses
52418 pupa_split_command. Added support for setting variables using the
52419 syntax `foo=bar'.
52420 (rescue_command): Changed to work with the new argument parser.
52421 (terminal_command): Moved from here to commands/terminal.c.
52422 (set_command): New function.
52423 (unset_command): New function.
52424 (insmod_command): New function.
52425 (rmmod_command): New function.
52426 (lsmod_command): New function.
52427 (pupa_command_init): Don't initialize the command terminal
52428 anymore. Initialize the commands set, unset, insmod, rmmod and
52429 lsmod.
52430 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52431 (kernel_img_HEADERS): Add arg.h and env.h.
52432 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52433 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52434 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52435 normal/arg.c.
52436 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52437 terminal.mod.
52438 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52439 (boot_mod_SOURCES): New variable.
52440 (terminal_mod_SOURCES): Likewise.
52441 (ls_mod_SOURCES): Likewise.
52442 (cmp_mod_SOURCES): Likewise.
52443 (cat_mod_SOURCES): Likewise.
52444
52445 * normal/arg.c: New file.
52446 * kern/env.c: Likewise.
52447 * include/pupa/arg.h: Likewise.
52448 * include/pupa/env.h: Likewise.
52449 * font/manager.c (font_command): Changed to match argument parsing
52450 interface changes.
52451 (PUPA_MOD_INIT): Likewise.
52452 * hello/hello.c (pupa_cmd_hello): Likewise.
52453 (PUPA_MOD_INIT): Likewise.
52454 * include/pupa/disk.h: Include <pupa/device.h>.
52455 (pupa_print_partinfo): New prototype.
52456 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52457 (pupa_dl_get_prefix): Likewise.
52458 * include/pupa/misc.h: Include <pupa/err.h>.
52459 (pupa_isgraph): New prototype.
52460 (pupa_isdigit): Likewise.
52461 (pupa_split_cmdline): Likewise.
52462 * include/pupa/normal.h: Include <pupa/arg.h>.
52463 (pupa_command): Changed the prototype of the member `func' to
52464 match the argument parsing interface. Added member `options'.
52465 (pupa_register_command): Updated to match function.
52466 (pupa_arg_parse): New prototype.
52467 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52468 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52469 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52470 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52471 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52472 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52473 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52474 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52475 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52476 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52477 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52478 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52479 * kern/disk.c: Include <pupa/file.h>.
52480 (pupa_print_partinfo): New function.
52481 * kern/dl.c: Include <pupa/env.h>.
52482 (pupa_dl_dir): Variable removed.
52483 (pupa_dl_load): Use the environment variable `prefix' instead of
52484 the variable pupa_dl_dir.
52485 (pupa_dl_set_prefix): Function removed.
52486 (pupa_dl_get_prefix): Likewise.
52487 * kern/i386/pc/init.c: Include <pupa/env.h>.
52488 (pupa_machine_init): Use the environment variable `prefix' instead of
52489 using pupa_dl_set_prefix to set the prefix.
52490 * kern/main.c: Include <pupa/env.h>.
52491 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52492 using pupa_dl_get_prefix to get the prefix.
52493 * kern/misc.c: Include <pupa/env.h>.
52494 (pupa_isdigit): New function.
52495 (pupa_isgraph): Likewise.
52496 (pupa_ftoa): Likewise.
52497 (pupa_vsprintf): Added support for printing values of the type
52498 `double'. Make it possible to format variable output when using
52499 formatting like `%1.2%f'.
52500 (pupa_split_cmdline): New function.
52501 * kern/rescue.c: Include <pupa/env.h>.
52502 (next_word): Removed function.
52503 (pupa_rescue_cmd_prefix): Likewise.
52504 (pupa_rescue_cmd_set): New function.
52505 (pupa_rescue_cmd_unset): New function.
52506 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52507 split the command line instead of splitting it here. Added
52508 support for setting variables using the syntax `foo=bar'. Don't
52509 initialize the prefix command anymore. Initialized the set and
52510 unset commands.
52511 * normal/cmdline.c: Include <pupa/env.h>.
52512 (pupa_tab_complete): Added prototypes for print_simple_completion,
52513 print_partition_completion, add_completion, iterate_commands,
52514 iterate_dev, iterate_part and iterate_dir. Moved code to print
52515 partition information from here to kern/disk.c.
fe6b695a 52516 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52517 * normal/main.c: Include <pupa/env.h>.
52518 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52519 instead of using pupa_dl_get_prefix to get the prefix.
52520 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52521 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52522 warning.
52523 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52524 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52525 ((unused))' to silence a gcc warning.
52526 (pupa_vga_setcolor): Likewise.
52527 (debug_command): Changed to match argument parsing
52528 interface changes.
52529 * util/pupa-emu.c: Include <pupa/env.h>.
52530 (options): Added 0's for unused fields to silence a gcc warning.
52531 (argp): Likewise.
52532 (main): Use the environment variable `prefix' instead of using
52533 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52534 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52535 and terminal.
52536
52537 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52538 * util/misc.c: Include <malloc.h>.
52539 (pupa_malloc): Rewritten so errors are correctly reported.
52540 (pupa_realloc): Likewise.
52541 (pupa_memalign): Likewise.
52542 (pupa_mm_init_region): Declare unused variables with
52543 `__attribute__ ((unused))' to silence a gcc warning.
52544 * normal/i386/setjmp.S: Remove tab at the end of the file to
52545 silence a gcc warning.
52546 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52547 variables with `__attribute__ ((unused))' to silence a gcc
52548 warning.
52549 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52550 local variable i unsigned to silence a gcc warning.
52551
52552 * kern/term.c: Include <pupa/misc.h>.
52553 (pupa_more_lines): New variable.
52554 (pupa_more): Likewise.
52555 (pupa_putcode): When the pager is active pause at the end of every
52556 screen.
52557 (pupa_set_more): New function.
52558 * include/pupa/term.h (pupa_set_more): New prototype.
52559
52560
3b1139cb 525612004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52562
52563 Now this project is GRUB 2 rather than PUPA. The location of
52564 the CVS repository was moved to GRUB's.
f19dbdb7 52565
3b1139cb 52566 * configure.ac: Use bug-grub as the reporting address.
52567 Use GRUB instead of PUPA.
52568 Change the version number to 1.90.
52569
8367695c 525702004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52571
52572 * genkernsyms.sh: Updated copyright information.
52573 * genmk.rb: Likewise.
52574 * genmodsrc.sh: Likewise.
52575 * gensymlist.sh: Likewise.
52576 * boot/i386/pc/boot.S: Likewise.
52577 * boot/i386/pc/diskboot.S: Likewise.
52578 * disk/i386/pc/biosdisk.c: Likewise.
52579 * disk/i386/pc/partition.c: Likewise.
52580 * font/manager.c: Likewise.
52581 * fs/ext2.c: Likewise.
52582 * fs/fat.c: Likewise.
52583 * include/pupa/boot.h: Likewise.
52584 * include/pupa/device.h: Likewise.
52585 * include/pupa/disk.h: Likewise.
52586 * include/pupa/dl.h: Likewise.
52587 * include/pupa/elf.h: Likewise.
52588 * include/pupa/err.h: Likewise.
52589 * include/pupa/file.h: Likewise.
52590 * include/pupa/font.h: Likewise.
52591 * include/pupa/fs.h: Likewise.
52592 * include/pupa/kernel.h: Likewise.
52593 * include/pupa/loader.h: Likewise.
52594 * include/pupa/misc.h: Likewise.
52595 * include/pupa/mm.h: Likewise.
52596 * include/pupa/net.h: Likewise.
52597 * include/pupa/normal.h: Likewise.
52598 * include/pupa/rescue.h: Likewise.
52599 * include/pupa/setjmp.h: Likewise.
52600 * include/pupa/symbol.h: Likewise.
52601 * include/pupa/term.h: Likewise.
52602 * include/pupa/types.h: Likewise.
52603 * include/pupa/i386/setjmp.h: Likewise.
52604 * include/pupa/i386/types.h: Likewise.
52605 * include/pupa/i386/pc/biosdisk.h: Likewise.
52606 * include/pupa/i386/pc/boot.h: Likewise.
52607 * include/pupa/i386/pc/console.h: Likewise.
52608 * include/pupa/i386/pc/init.h: Likewise.
52609 * include/pupa/i386/pc/kernel.h: Likewise.
52610 * include/pupa/i386/pc/linux.h: Likewise.
52611 * include/pupa/i386/pc/loader.h: Likewise.
52612 * include/pupa/i386/pc/memory.h: Likewise.
52613 * include/pupa/i386/pc/multiboot.h: Likewise.
52614 * include/pupa/i386/pc/partition.h: Likewise.
52615 * include/pupa/i386/pc/time.h: Likewise.
52616 * include/pupa/i386/pc/vga.h: Likewise.
52617 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52618 * include/pupa/util/getroot.h: Likewise.
52619 * include/pupa/util/misc.h: Likewise.
52620 * include/pupa/util/resolve.h: Likewise.
52621 * kern/device.c: Likewise.
52622 * kern/disk.c: Likewise.
52623 * kern/dl.c: Likewise.
52624 * kern/err.c: Likewise.
52625 * kern/file.c: Likewise.
52626 * kern/fs.c: Likewise.
52627 * kern/loader.c: Likewise.
52628 * kern/main.c: Likewise.
52629 * kern/misc.c: Likewise.
52630 * kern/mm.c: Likewise.
52631 * kern/rescue.c: Likewise.
52632 * kern/term.c: Likewise.
52633 * kern/i386/dl.c: Likewise.
52634 * kern/i386/pc/init.c: Likewise.
52635 * kern/i386/pc/lzo1x.S: Likewise.
52636 * kern/i386/pc/startup.S: Likewise.
52637 * loader/i386/pc/chainloader.c: Likewise.
52638 * loader/i386/pc/linux.c: Likewise.
52639 * loader/i386/pc/multiboot.c: Likewise.
52640 * normal/cmdline.c: Likewise.
52641 * normal/command.c: Likewise.
52642 * normal/main.c: Likewise.
52643 * normal/menu.c: Likewise.
52644 * normal/i386/setjmp.S: Likewise.
52645 * term/i386/pc/console.c: Likewise.
52646 * term/i386/pc/vga.c: Likewise.
52647 * util/console.c: Likewise.
52648 * util/genmoddep.c: Likewise.
52649 * util/misc.c: Likewise.
52650 * util/pupa-emu.c: Likewise.
52651 * util/resolve.c: Likewise.
52652 * util/unifont2pff.rb: Likewise.
52653 * util/i386/pc/biosdisk.c: Likewise.
52654 * util/i386/pc/getroot.c: Likewise.
52655 * util/i386/pc/pupa-mkimage.c: Likewise.
52656 * util/i386/pc/pupa-setup.c: Likewise.
52657
e6eced71 526582004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52659
52660 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52661 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52662 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52663 reading and reset it after reading.
52664 (pupa_ext2_close): Return PUPA_ERR_NONE.
52665
52666 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52667 Correct value.
52668 (struct linux_kernel_header): Add kernel_version and
52669 initrd_addr_max.
52670 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52671 pupa_file_read succeeds.
52672 (pupa_rescue_cmd_initrd): Implement.
52673
5aded270 526742003-12-03 Marco Gerards <metgerards@student.han.nl>
52675
52676 * fs/ext2.c (pupa_ext2_label): New function.
52677 (pupa_ext2_fs): Added label.
52678 * fs/fat.c (pupa_fat_label): New function.
52679 (pupa_fat_fs): Added label.
52680 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52681
52682 * kern/misc.c (pupa_strndup): New function.
52683 * include/pupa/misc.h (pupa_strndup): New prototype.
52684
52685 * include/pupa/normal.h: Include <pupa/err.h>.
52686 (pupa_set_history): New prototype.
52687 (pupa_iterate_commands): New prototype.
52688 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52689 <pupa/disk.h>, <pupa/file.h>.
52690 (hist_size): New variable.
52691 (hist_lines): Likewise.
52692 (hist_end): Likewise.
52693 (hist_used): Likewise.
52694 (pupa_set_history): New function.
52695 (pupa_history_get): Likewise.
52696 (pupa_history_add): Likewise.
52697 (pupa_history_replace): Likewise.
52698 (pupa_tab_complete): Likewise.
52699 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52700 completion shows partitionnames while completing partitions, this
52701 feature was suggested by Jeff Bailey.
52702 * normal/command.c (pupa_iterate_commands): New function.
52703 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52704 (pupa_normal_init): Initialize history buffer.
52705 (PUPA_MOD_INIT): Likewise.
52706 (pupa_normal_fini): Free the history buffer.
52707 (PUPA_MOD_FINI): Likewise.
52708
52709 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52710 key.
52711
52712 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52713 * configure.ac [i386]: Check for regparam bug.
52714 (NESTED_FUNC_ATTR) [! i386]: Defined.
52715
1f7315a3 527162003-11-17 Marco Gerards <metgerards@student.han.nl>
52717
52718 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52719 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52720 (pupa_emu_SOURCES): New variable.
52721 (pupa_emu_LDFLAGS): Likewise.
52722 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52723 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52724 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52725 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52726 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52727 (pupa_jmp_buf): New typedef.
52728 (pupa_setjmp) [PUPA_UTIL]: New macro.
52729 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52730 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52731 (pupa_refresh): New prototype.
52732 * include/pupa/util/getroot.h: New file.
52733 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52734 it.
52735 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52736 (pupa_rescue_cmd_cat): Likewise.
52737 (pupa_rescue_cmd_ls): Likewise.
52738 (pupa_rescue_cmd_testload): Likewise.
52739 (pupa_rescue_cmd_lsmod): Likewise.
52740 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52741 * normal/menu.c (run_menu): Likewise.
52742 * kern/term.c (pupa_cls): Likewise.
52743 (pupa_refresh): New function.
52744 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52745 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52746 * util/console.c: New file.
f19dbdb7 52747
1f7315a3 52748 * util/i386/pc/getroot.c: New file.
52749 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52750 (pupa_putchar): New function.
52751 (pupa_refresh): Likewise.
52752 (xgetcwd): Function moved to ...
52753 (strip_extra_slashes): Likewise.
52754 (get_prefix): Likewise.
f19dbdb7 52755 * util/i386/pc/getroot.c: ... here.
1f7315a3 52756 (find_root_device): Function moved and renamed to...
52757 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52758 Changed all callers.
52759 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52760 and renamed to...
52761 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52762 Changed all callers.
52763 * util/misc.c (pupa_memalign): New function.
52764 (pupa_mm_init_region): Likewise.
52765 (pupa_register_exported_symbols): Likewise.
52766 (pupa_putchar): Function removed.
52767 * util/pupa-emu.c: New file.
52768
9a5c1ade 527692003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52770
52771 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52772 (_multiboot_mod_SOURCES): New variable.
52773 (_multiboot_mod_CFLAGS): Likewise.
52774 * loader/i386/pc/multiboot.c: New file.
52775 * include/pupa/i386/pc/multiboot.h: Likewise.
52776 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52777 (pupa_multiboot_real_boot): New function.
52778 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52779 (pupa_multiboot_real_boot): New prototype.
52780 (pupa_rescue_cmd_multiboot): Likewise
52781 (pupa_rescue_cmd_module): Likewise.
52782
52783 * kern/loader.c (pupa_loader_set): Continue when
52784 pupa_loader_unload_func() fails.
52785 (pupa_loader_unset): New function.
52786 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52787
52788 * kern/misc.c (pupa_stpcpy): New function.
52789 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52790
8e72a9c0 527912003-11-12 Marco Gerards <metgerards@student.han.nl>
52792
52793 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52794 for available extensions.
52795
52796 * include/pupa/i386/pc/time.h: New file.
52797 * kern/disk.c: Include <pupa/machine/time.h>.
52798 (PUPA_CACHE_TIMEOUT): New macro.
52799 (pupa_last_time): New variable.
52800 (pupa_disk_open): Flush the cache when there was a timeout.
52801 (pupa_disk_close): Reset the timer.
52802 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52803 pupa_currticks.
52804 * util/misc.c: Include <sys/times.h>
52805 (pupa_get_rtc): New function.
52806
c4adbd32 528072003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52808
52809 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52810 as blocks.
52811 (pupa_ext2_get_file_block): Use blocks member.
52812
52813 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52814 first block. Return -1 instead of pupa_errno on error.
52815
bfd30f06 528162003-10-27 Marco Gerards <metgerards@student.han.nl>
52817
52818 * README: In the pupa-mkimage example use _chain instead of chain
52819 and ext2 instead of fat.
52820 * TODO: Replace ext2fs with jfs as an example. Add an item for
52821 adding journal playback for ext2fs.
52822 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52823 (pkgdata_MODULES): Added ext2.mod.
52824 (ext2_mod_SOURCES): New variable.
52825 (ext2_mod_CFLAGS): Likewise.
52826 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52827 * include/pupa/misc.h (pupa_strncpy): New prototype.
52828 (pupa_strcat): Likewise.
52829 (pupa_strncmp): Likewise.
52830 * kern/misc.c (pupa_strcat): Enable function.
52831 (pupa_strncpy): New function.
52832 (pupa_strncmp): Likewise.
52833 * fs/ext2.c: New file.
f19dbdb7 52834
bfd30f06 52835 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52836 when the read failed before retrying.
52837 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52838 (_FILE_OFFSET_BITS): Likewise.
52839 * configure.ac: Added AC_SYS_LARGEFILE.
52840
98d15063 528412003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52842
52843 * genmk.rb (PModule#rule): Make sure to get only symbol names
52844 from the output of nm.
59cad637 52845 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52846
18d9c7cd 528472003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52848
52849 I forgot to check in these changes for a long time. This adds
52850 incomplete support for VGA console, and this is still very
52851 buggy. Also, a lot of consideration is required for I18N,
52852 UNICODE, and VGA font issues. Therefore, assume that this is
52853 such that "better than nothing".
f19dbdb7 52854
18d9c7cd 52855 * font/manager.c: New file.
52856 * include/pupa/font.h: Likewise.
52857 * include/pupa/i386/pc/vga.h: Likewise.
52858 * term/i386/pc/vga.c: Likewise.
52859 * util/unifont2pff.rb: Likewise.
52860
52861 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52862 (pkgdata_MODULES): Added vga.mod and font.mod.
52863 (vga_mod_SOURCES): New variables.
52864 (vga_mod_CFLAGS): Likewise.
52865 (font_mod_SOURCES): Likewise.
52866 (font_mod_CFLAGS): Likewise.
52867
52868 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52869
52870 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52871 (struct pupa_term): Added init and fini.
18d9c7cd 52872 Changed the argument of putchar to pupa_uint32_t.
52873
52874 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52875 (pupa_console_real_putchar): New prototype.
52876 (pupa_console_putchar): Removed.
52877 (pupa_console_checkkey): Exported.
52878 (pupa_console_getkey): Likewise.
52879
52880 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52881 characters.
52882
52883 * kern/term.c (pupa_term_set_current): Rewritten.
52884 (pupa_putchar): Likewise.
52885 (pupa_putcode): New function.
52886
52887 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52888 (pupa_console_real_putchar): ... this.
52889 (pupa_vga_set_mode): New function.
52890 (pupa_vga_get_font): Likewise.
52891
52892 * normal/command.c: Include pupa/term.h.
52893 (terminal_command): New function.
52894 (pupa_command_init): Register the command "terminal".
52895
52896 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52897 (DISP_UP): Likewise.
52898 (DISP_RIGHT): Likewise.
52899 (DISP_DOWN): Likewise.
52900 (DISP_HLINE): Likewise.
52901 (DISP_VLINE): Likewise.
52902 (DISP_UL): Likewise.
52903 (DISP_UR): Likewise.
52904 (DISP_LL): Likewise.
52905 (DISP_LR): Likewise.
52906
52907 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52908
977329f5 529092003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52910
52911 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52912 FIX. Reverse the path_list.
52913
52914 * include/pupa/normal.h: Export pupa_register_command and
52915 pupa_unregister_command.
52916
52917 * hello/hello.c (pupa_cmd_hello): New module.
52918 * conf/i386-pc.rmk: Added hello.mod.
52919
1f5ab428 529202003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52921
52922 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52923
1f5ab428 52924 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52925 (compress_kernel): New variable.
52926 (generate_image): Heavily modified to support compressing a
52927 large part of the core image.
52928
52929 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52930 leak.
52931 (pupa_util_load_image): New function.
52932
52933 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52934 (pupa_compressed_size): New variable.
52935 (codestart): Enable Gate A20 here.
52936 Decompress the compressed part of the core image.
52937 Rearrange the code to put functions and variables which are
52938 required for initialization in the non-compressed part.
52939 Include lzo1x.S.
52940
52941 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52942 here.
52943
52944 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52945
f19dbdb7 52946 * include/pupa/i386/pc/kernel.h
1f5ab428 52947 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52948 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52949 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52950 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52951 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52952
52953 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52954
52955 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52956 (Utility#rule): Likewise.
52957
52958 * configure.ac: Check if LZO is available.
52959
ce5bf700 529602003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52961
52962 * include/pupa/normal.h: New file.
52963 * include/pupa/setjmp.h: Likewise.
52964 * include/pupa/i386/setjmp.h: Likewise.
52965 * normal/cmdline.c: Likewise.
52966 * normal/command.c: Likewise.
52967 * normal/main.c: Likewise.
52968 * normal/menu.c: Likewise.
52969 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52970
ce5bf700 52971 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52972 (pupa_rescue_cmd_initrd): Likewise.
52973
52974 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52975 Likewise.
52976
52977 * kern/i386/pc/startup.S (translation_table): New variable.
52978 (translate_keycode): New function.
52979 (pupa_console_getkey): Call translate_keycode.
52980
52981 * kern/rescue.c (attempt_normal_mode): New function.
52982 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52983 it failed, print a message.
52984
52985 * kern/mm.c (pupa_real_malloc): Print more information when a
52986 free magic is broken.
52987 (pupa_free): If the first free header is not free actually, set
52988 it to P.
52989
52990 * kern/main.c (pupa_load_normal_mode): Just load the module
52991 "normal".
52992 (pupa_main): Don't print the message
52993 "Entering into rescue mode..." here.
52994
52995 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52996 Declared.
52997 (pupa_rescue_cmd_initrd): Likewise.
52998 (pupa_rescue_cmd_initrd): Likewise.
52999
53000 * include/pupa/symbol.h (FUNCTION): Specify the type.
53001 (VARIABLE): Likewise.
53002
53003 * include/pupa/err.h (pupa_err_t): Added
53004 PUPA_ERR_UNKNOWN_COMMAND.
53005
53006 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
53007 (pupa_dl_get_prefix): Likewise.
53008
53009 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
53010 Added _chain.mod and _linux.mod instead of chain.mod and
53011 linux.mod.
53012 (chain_mod_SOURCES): Renamed to ...
53013 (_chain_mod_SOURCES): ... this.
53014 (chain_mod_CFLAGS): Renamed to ...
53015 (_chain_mod_CFLAGS): ... this.
53016 (linux_mod_SOURCES): Renamed to ...
53017 (_linux_mod_SOURCES): ... this.
53018 (linux_mod_CFLAGS): Renamed to ...
53019 (_linux_mod_CFLAGS): ... this.
53020 (normal_mod_SOURCES): New variable.
53021 (normal_mod_CFLAGS): Likewise.
53022 (normal_mod_ASFLAGS): Likewise.
53023
530242003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
53025
53026 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
53027 possible.
53028
fe6b695a 53029 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 53030 recursively.
53031 (pupa_dl_unref): Unrefer depending modules recursively.
53032 Don't call pupa_dl_unload implicitly, because PUPA can crash if
53033 a module is unloaded before one depending on that module is
53034 unloaded.
53035 (pupa_dl_unload): Unload depending modules explicitly,
53036 if possible.
53037
c04da074 530382003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53039
53040 * include/pupa/i386/pc/linux.h: New file.
53041 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 53042
c04da074 53043 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53044 Removed.
53045 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53046 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53047 of PUPA_CHAINLOADER_BOOT_SECTOR.
53048
53049 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53050 (pupa_linux_prot_size): New variable.
53051 (pupa_linux_tmp_addr): Likewise.
53052 (pupa_linux_real_addr): Likewise.
53053 (pupa_linux_boot_zimage): New function.
53054 (pupa_linux_boot_bzimage): Likewise.
53055
53056 * kern/i386/pc/init.c (struct mem_region): New structure.
53057 (MAX_REGIONS): New macro.
53058 (mem_regions): New variable.
53059 (num_regions): Likewise.
53060 (pupa_os_area_addr): Likewise.
53061 (pupa_os_area_size): Likewise.
53062 (pupa_lower_mem): Likewise.
53063 (pupa_upper_mem): Likewise.
53064 (add_mem_region): New function.
53065 (compact_mem_regions): Likewise.
53066 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53067 the size of the conventional memory and that of so-called upper
53068 memory (before the first memory hole).
53069 Instead of adding each found region to free memory, use
53070 add_mem_region and add them after removing overlaps.
53071 Also, add only 1/4 of the upper memory to free memory. The rest
53072 is used for loading OS images. Maybe this is ad hoc, but this
53073 makes it much easier to relocate OS images when booting.
53074
53075 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53076 (pupa_enter_rescue_mode): Don't register initrd and module.
53077
53078 * kern/mm.c: Include pupa/dl.h.
53079
53080 * kern/main.c: Include pupa/file.h and pupa/device.h.
53081
53082 * kern/loader.c (pupa_loader_load_module_func): Removed.
53083 (pupa_loader_load_module): Likewise.
53084
53085 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53086 ``.o''.
53087
53088 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53089 (pupa_linux_tmp_addr): Likewise.
53090 (pupa_linux_real_addr): Likewise.
53091 (pupa_linux_boot_zimage): Likewise.
53092 (pupa_linux_boot_bzimage): Likewise.
53093
53094 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53095 (pupa_upper_mem): Likewise.
53096 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53097 module is too dangerous.
53098
53099 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53100 (pupa_os_area_size): Likewise.
53101 (pupa_loader_set): Remove the first argument. Loader doesn't
53102 manage modules or initrd any longer.
53103 (pupa_loader_load_module): Removed.
53104
53105 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53106 (linux_mod_SOURCES): New variable.
53107 (linux_mod_CFLAGS): Likewise.
53108
a13f9237 531092003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53110
53111 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53112 the length of a blocklist correctly.
53113
53114 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53115 Use ioctl only if the OS file is a block device.
53116 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53117 not very useful for normal files.
53118
53119 * kern/main.c (pupa_set_root_dev): New function.
53120 (pupa_load_normal_mode): Likewise.
53121 (pupa_main): Call those above.
53122
53123 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53124 pupa_uint16_t.
53125
53126 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53127
a5ffe966 531282003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53129
53130 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53131 (setup): Configure the installed partition information and the
53132 dl prefix.
53133
53134 * loader/i386/pc/chainloader.c (my_mod): New variable.
53135 (pupa_chainloader_unload): New function.
53136 (pupa_rescue_cmd_chainloader): Refer itself.
53137 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53138
53139 * kern/i386/pc/startup.S (install_partition): Removed.
53140 (version_string): Likewise.
53141 (config_file): Likewise.
53142 (pupa_install_dos_part): New variable.
53143 (pupa_install_bsd_part): Likewise.
53144 (pupa_prefix): Likewise.
53145 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53146
53147 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53148 and pupa/misc.h.
53149 (make_install_device): New function.
53150 (pupa_machine_init): Set the dl prefix.
53151
53152 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53153 (buf): Renamed to ...
53154 (linebuf): ... this.
53155 (pupa_rescue_cmd_prefix): New function.
53156 (pupa_rescue_cmd_insmod): Likewise.
53157 (pupa_rescue_cmd_rmmod): Likewise.
53158 (pupa_rescue_cmd_lsmod): Likewise.
53159 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53160 rmmod and lsmod.
53161
53162 * kern/mm.c (pupa_memalign): If failed even after invalidating
53163 disk caches, unload unneeded modules and retry.
53164
53165 * kern/misc.c (pupa_memmove): New function.
53166 (pupa_memcpy): Removed.
53167 (pupa_strcpy): New function.
53168 (pupa_itoa): Made static.
53169
53170 * kern/dl.c (pupa_dl_iterate): New function.
53171 (pupa_dl_ref): Likewise.
53172 (pupa_dl_unref): Likewise.
53173 (pupa_dl_unload): Return if succeeded or not.
53174 (pupa_dl_unload_unneeded): New function.
53175 (pupa_dl_unload_all): Likewise.
53176 (pupa_dl_init): Renamed to ...
53177 (pupa_dl_set_prefix): ... this.
53178 (pupa_dl_get_prefix): New function.
53179
53180 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53181 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53182 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53183 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53184 (pupa_install_dos_part): Declared.
53185 (pupa_install_bsd_part): Likewise.
53186 (pupa_prefix): Likewise.
53187 (pupa_boot_drive): Likewise.
53188
53189 * include/pupa/types.h: Fix a typo.
53190
53191 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53192 pupa_memmove.
53193 (pupa_memmove): Declared.
53194 (pupa_strcpy): Likewise.
53195
53196 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53197 pupa_mod_init takes one argument, its own module.
53198 (pupa_dl_unload_unneeded): Declared.
53199 (pupa_dl_unload_all): Likewise.
53200 (pupa_dl_ref): Likewise.
53201 (pupa_dl_unref): Likewise.
53202 (pupa_dl_iterate): Likewise.
53203 (pupa_dl_init): Renamed to ...
53204 (pupa_dl_set_prefix): ... this.
53205 (pupa_dl_get_prefix): Declared.
53206
53207 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 53208 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 53209 unloaded.
53210 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53211 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53212
53213 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53214 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53215
012d7999 532162003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53217
53218 * util/i386/pc/pupa-setup.c (setup): Define the internal
53219 function find_first_partition_start at the top level, because GCC
53220 3.0.x cannot compile internal functions in deeper scopes
53221 correctly.
53222 (find_root_device): Use lstat instead of stat.
53223 Don't follow symbolic links.
53224 Fix the path-constructing code.
53225
53226 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53227 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53228 by a BLKGETSIZE ioctl first, because block devices don't fill
53229 the member st_mode of the structure stat on Linux.
53230 [__linux__] (linux_find_partition): Use a temporary buffer
53231 REAL_DEV for the working space. Copy it to DEV before returning.
53232 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53233 buffer cache consistent.
53234 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53235 strncmp. The previous value was merely wrong.
53236 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53237
53238 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53239 FAT size is 12. The previous value was merely wrong.
53240
53241 * kern/main.c (pupa_main): Don't split the starting message from
53242 newlines.
53243
53244 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53245 LF, because BIOS goes crazy about character attributes in this
53246 case.
53247
1cc73a62 532482003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53249
53250 * include/i386/pc/util/biosdisk.h: New file.
53251 * util/i386/pc/biosdisk.c: Likewise.
53252 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53253
1cc73a62 53254 * Makefile.in (INCLUDE_DISTFILES): Added
53255 include/pupa/i386/pc/util/biosdisk.h.
53256 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53257 directory util/i386/pc.
53258 (install-local): Added a rule for sbin_UTILITIES.
53259 (uninstall): Likewise.
53260
53261 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53262
53263 * util/misc.c (xrealloc): New function.
53264 (pupa_malloc): Likewise.
53265 (pupa_free): Likewise.
53266 (pupa_realloc): Likewise.
53267 (pupa_stop): Likewise.
53268 (pupa_putchar): Likewise.
53269
53270 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53271
53272 * include/pupa/util/misc.h (xrealloc): Declared.
53273
53274 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53275 macro.
53276 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53277 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53278
53279 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53280 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53281
53282 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53283 way should be implemented.
53284 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53285
53286 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53287 the size of NAME for safety.
53288 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53289 0x88.
53290
53291 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53292 (pupa_setup_SOURCES): Likewise.
53293
53294 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53295
08b70fe8 532962002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53297
53298 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53299 bunch of pushl's from pusha, because this destroys the return
53300 value.
53301
62ddcc8f 533022002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53303
53304 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53305 This means that any missing prototypes could be fatal. Also, you
53306 must take care when writing assembly code. See the comments at
53307 the beginning of startup.S, for more details.
f19dbdb7 53308
62ddcc8f 53309 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53310 compilation mechanism.
53311 (pupa_chainloader_real_boot): Likewise.
53312 (pupa_biosdisk_rw_int13_extensions): Likewise.
53313 (pupa_biosdisk_rw_standard): Likewise.
53314 (pupa_biosdisk_check_int13_extensions): Likewise.
53315 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53316 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53317 (pupa_get_memsize): Likewise.
53318 (pupa_get_mmap_entry): Likewise.
53319 (pupa_console_putchar): Likewise.
53320 (pupa_console_setcursor): Likewise.
53321 (pupa_getrtsecs): Use pushl instead of push.
53322
53323 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53324 memory instead of the stack for a mmap entry, because some
53325 BIOSes may ignore the maximum size and overflow.
53326
53327 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53328
53329 * genmk.rb (PModule#rule): Compile automatically generated
53330 sources with module-specific CFLAGS as well as other sources.
53331
9962ed99 533322002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53333
53334 * configure.ac: Check ld.
53335 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53336 respectively, before checking endianness and sizes.
53337
53338 * Makefile.in (LD): New variable.
f19dbdb7 53339
abdfc3c5 533402002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53341
53342 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53343
6a161fa9 533442002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53345
53346 * Changelog: New file.
53347